Commit Graph

210 Commits

Author SHA1 Message Date
stefansjfw
0a603449ad
[FancyZones] Enable to manually zone child windows (#6182)
* Enable to manually zone child windows

* Refactor IsInterestingWindow in 2 separate functions

* Remove enum
2020-08-28 15:00:21 +02:00
Ivan Stošić
be8695777c
Fixed a stack overflow (#6212)
Credits to @gurnec for proposing the fix.
2020-08-28 13:54:59 +02:00
Enrico Giordani
eb825ae619
[FancyZones] fix warning (#6203) 2020-08-28 11:30:03 +02:00
stefansjfw
48b6654ad2
Introduce ZoneWindowDrawing files and move stuff to better place (#6142) 2020-08-25 18:55:29 +02:00
Arjun Balgovind
aebd7657ef
[Localization] Migrate resources to resx for FancyZones (#6106)
* Added localization code to pipeline and created one LocProject json for Settings

* Fixed typo

* Reordered nuget source

* Moved nuget install to restore step

* Added FZ.rc file to LocProj

* Added FZ resx file and modified rc file
2020-08-24 17:50:41 -07:00
stefansjfw
9999a2b126
Refactor common and fancyzones/utils (#6073)
* Move module-specific functions to module

* Refactor FZ utils

* Remove 'zonable' from FancyZonesWindowInfo

* Address PR comments

* Address PR comments

* Fix stuff after rebasing
2020-08-24 19:38:15 +02:00
Enrico Giordani
2817bf4d62
[FancyZones] fix warnings (#6095)
unified data type to size_t in all methods that process the zone index set
2020-08-24 14:39:34 +02:00
Seraphima Zykova
845bb466c6
[FancyZones] Shift + StickyKeys behavior fix (#6039) 2020-08-24 10:19:39 +03:00
Ivan Stošić
976116a012
Win arrows revisited (#5932)
* Added the setting

* Refactored existing code, the main feature isn't implemented yet

* Renamed a method

* Updated a comment in IZoneWindow

* Added the zone selection algorithm, didn't test it

* Basic features work

* Single monitor cycling works

* Seems that the feature works well

* Polished the settings page

* Rebase fix

* Fixed a null pointer dereference

* Use classic if syntax

* Fixed bad indentation

How did these lines unindent themselves?

* Removed TODO comment

* Rebase fix

* Another rebase fix
2020-08-21 12:53:03 +02:00
Seraphima Zykova
64c51a49a0
[FancyZones] Failing unit tests update (#6065) 2020-08-21 08:56:25 +03:00
Seraphima Zykova
9b567f9ba3
[FancyZones] capture strong_this (#6066) 2020-08-20 19:55:41 +03:00
vldmr11080
145347f7ae
[FancyZones] Clasify strings in FancyZones to localizable and non-localizable (#5315)
* Clasify strings in FancyZones to localizable and non-localizable

* Address PR comments

* Better handling of FirePropertyChanged event

* Address PR comments

* Update properties
2020-08-11 13:51:06 +02:00
Ivan Stošić
8f98866d71
[FancyZones] Feature to create zone layouts spanning multiple monitors (#5289)
* Added the setting

* Added a property to Editor Settings

This will be used later

* Fixed a bug in the previous commit

* Simplified a method

* Added snapping points to the editor

* Simplified a method in ZoneSet

* Updated ZoneSet testcases

* Add a method to FancyZones / ZoneWindowHost

* Almost works

* The editor now launches, but FZ does not understand the results

* Refactored some code

* Snapping to a zone by dragging seems to work

* Hotkeys seem to work

* Refresh the work area handler after changing settings

* Fixed zones not snapping to monitor edges when moved

* Remove unused method in FancyZones.h

* Fixed an issue with DPI awareness

* Renamed setting to spanZonesAcrossMonitors

* Renamed a function

* Fixed a bug with the magnetic effect

* Fix restoring window positions on layout changes
2020-08-07 10:06:25 +02:00
stefansjfw
f50a8e5252
Fix difference in editor and applied focus layout zones size and increments (#5601) 2020-08-06 16:41:15 +02:00
vldmr11080
1d8ca28152
Don't restore minimized windows after layout is updated (#5603) 2020-08-06 16:22:47 +02:00
vldmr11080
6c4129d02a
[FancyZones] Do not restore maximized windows (#5597)
* Do not restore maximized windows

* Fix show command comparison

* Move maximized check outside of RestoreWindowSize function
2020-08-06 15:12:49 +02:00
Andrey Nekrasov
49b56d9b52
PowerToys interface: remove powertoys events and system_menu_helper functionality (#5323) 2020-07-31 14:06:13 +03:00
Clint Rutkas
5b02ee5169
updated to Microsoft.Windows.CppWinRT.2.0.200729.8 (#5306)
* updated to Microsoft.Windows.CppWinRT.2.0.200729.8

* actually adding in packages.config and updating

Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-30 11:37:15 -07:00
Andrey Nekrasov
47cb34d26b
chore: enable multiprocessor compilation (#5272) 2020-07-28 17:20:01 +03:00
Andrey Nekrasov
3796a5ef97
Autoupdate: implement updating bootstrapper utility (#5204) 2020-07-27 19:53:29 +03:00
Ivan Stošić
5d66473a4f
[FancyZones] Remove m_workArea from ZoneWindow (#5185)
* Removed m_workArea from ZoneWindow

* Remove another unused variable
2020-07-24 11:17:39 +02:00
Seraphima Zykova
92c666692d
[FancyZones] Dragging a window across monitors transparency fix (#5102) 2020-07-22 19:00:03 +03:00
stefansjfw
0027a0af40
[FancyZones] Split and reorganize FancyZonesData and JSON Helpers (#5028)
* Rename JsonHelpers to FancyZonesData
Add new JsonHelpers.[h|cpp] files

* Introduce FancyZonesDataTypes

* Move first part of JSON related stuff to JsonHelpers files

* Small refactor

* Move all json related stuff to JsonHelpers

* Minor refactoring

* Fix formating

* Remove GetPersistFancyZonesJSONPath() and GetPersistAppZoneHistoryFilePath()
Remove GetActiveZoneSetTmpPath(), GetDeletedCustomZoneSetsTmpPath and GetAppliedZoneSetTmpPath()
Simplify tests

* Address PR comment - Rename FancyZonesDataNS to FancyZonesData

* Address PR comment - Rename local var

* Delete obsolete stuff

* Remove double and uneeded includes
Introduce const non-localizable string variables
Address all othe PR comments

* Add comments to explain hardcoded values

* Remove FancyZonesData namespace

* Introduce const non-localizable string variables in FancyZonesDataTypes

* Add comments to explain FancyZonesData maps

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2020-07-22 10:39:13 +02:00
Clint Rutkas
4f45cf1386
Upgrading CppWinRT and adding in new packages.config (#5134)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-22 00:35:39 -07:00
vldmr11080
29e2c982d4
Handle desktop switch and open on active monitor functionality (#5065) 2020-07-20 11:55:19 +02:00
Ivan Stošić
39b0401c55
Allow selecting multiple adjacent zones even when they slightly overlap (#4974) 2020-07-14 14:51:24 +02:00
Ivan Stošić
412d80efe3
[FancyZones] Hold Ctrl to select any number of zones (#4850)
* Started work

* Did something, not yet sure that it works

* Sort of works

* Cleari highlighted zones when using Ctrl after leaving a monitor

* Remove unnecessary line

* Enhanced UX. Maybe refactor?

* Changed the logic behind zone selection when dragging

* Various fixups
2020-07-10 11:06:01 +02:00
vldmr11080
ac5a3e7a65
[FancyZones] Update app zone history on window removal (#4696)
* Update app zone history on every new window assignment to zone

* Compare window positions with already placed windows

* Remove window property only after processing window removal from zone
2020-07-08 16:59:36 +02:00
stefansjfw
106c316442
[FancyZones] Don't create new custom layout when applying Focus layout (#4755)
* Only persist data when applying existing layout if it is scaled

* Fix applying edited Focus layout

* Fix different Focus zone sizes in editor and engine

* Fix codestyle
2020-07-08 15:34:19 +02:00
vldmr11080
db229cf1bf
[FancyZones] Open window on active monitor (#4361)
* Initial design for opening window on active monitor

* Perform entire handling in DPI unaware thread

* Codestyle improvement

* Improve resizing mechanism and optimise code a bit

* Remove unneeded code, make simple helper functions inline

* Make this feature configurable

* Code optimization, improve positioning for some applications

* Retry positioning for certain applications

* Improve readability

* Address PR comments: Minor code style improvements

* Remove retries in custom positioning

* Position new toggle in settings menu
2020-07-08 10:37:42 +02:00
stefansjfw
70405045d7
[FancyZones] Remove Editor tmp files paths cmd args and make Editor 'debugable' easier (#4279)
* Remove Editor cmd args - tmp files
Add 'Debug mode' startup for Editor

* Remove fixed device info string

* Move if file exist check

* Add enum to improve readability

* Introduce ParseDeviceMode enum

* Organize strings

* Move title to localizable strings
2020-07-06 17:40:25 +02:00
vldmr11080
3d623506a8
[FancyZones] Invalidate cached work areas when display resolution or taskbar position changes (#4800)
* Invalidate cached work areas when display resolution or taskbar position changes

* Update comments in code
2020-07-06 17:34:28 +02:00
Enrico Giordani
f9a5242e75
[FancyZones] draw active zones on top of inactive zones (#4727) 2020-07-03 17:04:52 +02:00
Clint Rutkas
44c41d52b2
upgrading wincppwinrt across the board (#4669)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-02 09:42:51 -07:00
Yevhenii Holovachov
e8685de7f7
[FancyZones] Fixed shift behavior (#4653) 2020-07-01 18:23:57 +03:00
Ivan Stošić
4c08b591f1
[FancyZones] Restore size of zoned windows (#4463)
* Started work

* I can't debug anything, cleaning

* Added settings, [[Not Tested]]

Not even compiled

* Tested, the most basic features work

* Refactor, add RestoreSize

* Added DPI awareness

* Fixed a potential issue with resizing zoned windows

* Fixup: Potentially unsafe memory-layout of std::pair replaced with std::array

* Fixup: Use .data() instead of a pointer

* Further refactoring

* Integrated Win+Arrow keys with the Restore size feature

* Fixed an issue where window's on-screen position is not restored properly

* Fixed a bug pointed out by Enrico
2020-07-01 15:36:05 +02:00
Yevhenii Holovachov
f46b876fd6
Removed hook creating from constructor (#4572) 2020-06-29 18:19:43 +03:00
Yevhenii Holovachov
cc4864976a
Changed position of callback(false) call on disabling hook for shift (#4515) 2020-06-26 17:20:10 +03:00
Yevhenii Holovachov
147c08bd71
Added info to FancyZones, KeyboardManager and PowerLauncher projects (#4445) 2020-06-23 18:36:39 +03:00
Ivan Stošić
27a35a0388
Fixed an issue with the shift key (#4411) 2020-06-22 15:57:30 +02:00
Andrey Nekrasov
bef14f551e
FancyZones: fix possible crash in GetWorkAreasByDesktopId (#4380) 2020-06-22 12:46:54 +03:00
Andrey Nekrasov
3bdd9a850f
Runner: improve debugging experience with hooks (#4377)
* Runner: improve debugging experience with hooks
2020-06-19 14:13:38 +03:00
yuyoyuppe
b84ea020f2
fixup! forgot to rename 2020-06-19 13:27:29 +03:00
Seraphima Zykova
90efc5740f
[WinAppDriver tests] Affection on user setting files fix (#4186) 2020-06-19 11:09:12 +03:00
yuyoyuppe
2effbd0baf
Runner: improve debugging experience with hooks 2020-06-18 14:27:20 +03:00
Yevhenii Holovachov
da38e6a23d
[FancyZones] Changed Shift key capture method (#4274)
* Used windows hook to capture shift key instead of getting state of key on window move
2020-06-17 16:06:16 +03:00
vldmr11080
698e5ec6ea
[FancyZones] Move window into last known position on active work area (if possible) (#4218)
* Move window into last known position on active work area (if possible)

* Refactor code to avoid double checks

* Address PR comments

* Perform all HWND checks at one place

* Improve handling of active/primary work area in app zone history

* Address PR comments: naming, arguments checks

* Rename some functions to increase readability

* Implement special handling in 2+ monitor scenario

* Minor naming change

* Simplify

* Improve readability

* Remove blank line

* Don't move away from secondary monitor if there is no app zone history

* Update comment

* FancyZonesEditor should not be zoned

* Preserve width and height (if possible) when opening on active monitor

* Maintain w/h whenever possible

* Remove scaling, add window coordinates on active monitor top-left corner

* If there is no app zone history on secondary screen, fallback to default windows behavior.
2020-06-17 11:55:14 +02:00
stefansjfw
f8cc129f04
[FancyZones] Move Trace::VirtualDesktopChange (#4320)
* Move Trace::VirtualDesktopChange to catch only the actual VD changes

* Update the check

* Add double check
2020-06-15 19:44:07 +02:00
Clint Rutkas
67c8d80190
Safeguarding end user links in settings (#4226)
* first adjustment to wiki move

* Image Resizer and deleting imgs for FZ

* updating stuff to aka links

* updating app to leverage aka links

* moving files to wiki

* KBM adjustment

* updating

* getting PT Run moved over

* Shortcut guide and fixing launcher's readme text

* Update README.md

* img for shortcut guide moved to wiki

* updated setting img to be aka link as well
2020-06-11 10:16:39 -07:00
Yevhenii Holovachov
6fdfd3b9e7
[PT Run] Closing PT Run and new settings app when PowerToys is not running (#3853)
Closing PowerLauncher, FZ Editor and new settings app when PowerToys is not running
2020-06-10 20:58:34 +03:00