Codeusa/Borderless-Gaming — pull request #88 by psouza4 (2015-01-01 01:27:44+00:00)
Title: Version 7.1 fixes and additions

I wanted to enhance Borderless Gaming with some new features and squash some bugs, so here I present an unofficial version 7.1 to be merged upon approval.

Issues resolved:
* Constant toggling in and out of borderless window for some games
(fixed by keeping a toggle state in memory of every process)
* Process changing window handles will still work correctly
(fixed by detecting window title text changes)
* Topmost item in the list not removing/pruning when the process ends
(fixed by correcting a logic error with the list as described in [issue #86](https://github.com/Codeusa/Borderless-Gaming/issues/86))
* Some games not going into borderless windowed mode (7 Days to Die)
(fixed by adding a maximize call to ShowWindow() native Win32)
* Incorrect usage of Windows style flags
(fixed by correctly implementing style flags as described in [issue #77](https://github.com/Codeusa/Borderless-Gaming/issues/77))
* Can't launch when the update server is down
(fixed by swallowing exceptions thrown during update as described in [issue #65](https://github.com/Codeusa/Borderless-Gaming/issues/65))
* Can't handle two different processes with the same process name (same binary)
(fixed by tracking full process details, not just process binary as described in [issue #47](https://github.com/Codeusa/Borderless-Gaming/issues/47))

Features added:
* Difficult to determine the name of the game based solely on the process
(added by levering new full details on processes, which satisfies [issue #54](https://github.com/Codeusa/Borderless-Gaming/issues/54))
* Date and time of last process refresh/update
(added using a simple blacklisted process detail at the top of the processes list, but would potentially be better served as a text label on the form)
* Option to specify process detection by title rather than binary
(added by leveraging new full details on processes, which satisfies [issue #39](https://github.com/Codeusa/Borderless-Gaming/issues/39))
* Added an option to adjust the sizing region for windows (this resolves [issue #44](https://github.com/Codeusa/Borderless-Gaming/issues/44), [issue #53](https://github.com/Codeusa/Borderless-Gaming/issues/53), [issue #53](https://github.com/Codeusa/Borderless-Gaming/issues/56), [issue #71](https://github.com/Codeusa/Borderless-Gaming/issues/71), and [issue #84](https://github.com/Codeusa/Borderless-Gaming/issues/84)). For example, with PAYDAY 2, make sure the option to auto-maximize the window is unchecked and set the bounding to -2, 0, -2, 2.
* Added an option to close-to-tray (this resolves [issue #60 part 1](https://github.com/Codeusa/Borderless-Gaming/issues/60)).
* Added an option to hide the tray balloon tips (tray bubble notifications) (this resolves [issue #60 part 2](https://github.com/Codeusa/Borderless-Gaming/issues/60)).
* Added an option to start the program minimized (this resolves [issue #61](https://github.com/Codeusa/Borderless-Gaming/issues/61)).
* Added an option to not auto-maximize windows when they are made borderless. Auto-maximizing windows was added in version 7.0, but conflicts with specific bounding options for games that don't play nicely.
* Added a way to restore a window to its previous un-borderless windowed state. For this to work, the window must have been made borderless by Borderless Gaming (and in this session: you can't exit Borderless Gaming or it will forget the original bordered data). Additionally, any menus the window may have had will be lost. It's recommended to exit and re-launch any applications that you want restored to a bordered state, but this feature may act as a backup in cases where that's inconvenient.

Miscellaneous:
* New method of determining internet availability added.
* Updated credits.
* Minor typos and grammatical errors fixed.
* Copyright updated to 2014-2015.
* Minor code cleanup and refactoring.

Binary release available at my fork:
https://github.com/psouza4/Borderless-Gaming/releases/tag/7.1