Commit Graph

803 Commits

Author SHA1 Message Date
vldmr11080
5ac7eddd03
Compare window desktop id with currently active work area desktop id. (#2110)
* Compare window desktop id with currently active work area desktop id.

* Improve error handling and conform to coding guidelines.

* Move virtual desktop helper functions to ZoneWindowUtils namespace.

* Ensure thread safety when creating instance of VirtualDesktopManager.

* Remove static qualifier from ServiceProvider.

* Return instead of break, as there is no need to check for other monitors, virtual desktop is the same for all.

* Move virtual desktop related helper functions to separate files.

* Skip comparing desktop ids if zone window has empty GUID for desktop id.

* Add comment describion scenario for which we need this fix.
2020-04-21 19:57:21 +02:00
Arjun
62bae55fd1 Merge branch 'master' into dev/build-features 2020-04-20 09:15:32 -07:00
PrzemyslawTusinski
dcee505f6b
Dpi unaware placement bug - multimontior with same DPI settings fix (#2156)
* Dpi unaware placement bug - multimontior with same DPI settings fix

* Using different enumerating method

* Changed AllMonitorHaveSameDpiScaling method

* Removed accidental file

* small rename

* Changed some methods to CamelCase

* Review comments fixes
2020-04-20 18:09:10 +02:00
Ivan Stošić
af4678ff18
Added a mutex to ZoneWindow, ensured no data races occur (#2154)
* Added a mutex to ZoneWindow, ensured no data races occur

* Protected draggedWindow* members with a mutex

* Ensured that critical reads happen in a single transaction
2020-04-20 16:32:49 +02:00
Seraphima Zykova
cab5a97117
FZ editor: Splitted zones positioning (#2158) 2020-04-20 11:54:25 +03:00
Udit Singh
5d9b71b038 Merge Master Latest: 4/15/20 2020-04-15 07:55:17 -07:00
PrzemyslawTusinski
2077cd4864
Dpi unaware placement bug (#2121)
Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right.
This fixes only single-monitor scenario
It skips correction for dpi unaware window that leaves a gap
2020-04-15 12:34:11 +02:00
PrzemyslawTusinski
87fb6fc3d1
Added unit test for non-resizable window placement (#2017) 2020-04-14 10:40:30 +02:00
Andrey Nekrasov
86704efcec
FancyZones: optimize elevation detection logic (#2103) 2020-04-13 18:22:37 +03:00
Clint Rutkas
6fbed4ad5c
Settingsv2 fix warnings (#2076)
* updating a ton of warnings.

* bunch of cleanup

* few smaller ones

* fixed naming

* reversing an oops

* adjusting json to use attribute

* more json properties
2020-04-10 15:22:07 -07:00
stefansjfw
f589dd2f26
Only clone layout from parent desktop when creating new virtual desktop (#1904)
* Fix issue #1343

* Add Unit Tests

* Revert non intended rename

* Address PR comments
2020-04-10 16:29:18 +02:00
Ivan Stošić
629ba763d7
Basic support for snapping to multiple zones (#1955)
* Refactor a method which resizes windows

* Completed initial work for MultiZones

Without changing any test, they all pass!

* Implemented a basic version of Multizones, updated some tests

* Reduced the sensitivity radius

* Added a few must-have unit tests for Multizones

* Some fixups

* Took care of the conflict between this and #1938

* Improved how zones are detected, reverted a change in one unit test

* Resolved another merge conflict

* Fixed bugs related to stamping
2020-04-10 16:09:08 +02:00
Yevhenii Holovachov
b92a127200
Added icon for FZEditor (#1388)
* Added icon for FZEditor
2020-04-10 12:15:59 +03:00
Seraphima Zykova
1f9d9c619e
FZ editor: splitter thickness set to 1px when space around zones is zero (#2020) 2020-04-09 16:47:25 +03:00
PrzemyslawTusinski
17022d50d4
Fancy zones preserve size of non-resizable windows (#1974)
* fancy zones preserve size of non-resizable windows

* Changed the method of determining if window is resizable

* minor merge fix
2020-04-08 18:22:43 +02:00
PrzemyslawTusinski
fa515604dc
MoveWindowIntoZoneByIndexWithInvalidIndex failing TC fix (#2009) 2020-04-08 18:01:51 +02:00
Seraphima Zykova
efb86f453c
Draw border inside zone (#2000) 2020-04-08 16:59:17 +03:00
stefansjfw
569c18c9f1
Remove uneeded TmpMigrateAppliedZoneSets() (#1850)
This was needed while we were migratin device-info so
active layout could be migrated as well. At some point
we dropped migration of device-info. Therefore, this has no
puprose anymore.
2020-04-08 15:43:19 +02:00
PrzemyslawTusinski
d95e49b535
Dragging by upper part of application bar doesn't trigger fancy zones display - fix (#1953)
* Dragging by upper part of application bar doesn't trigger fancy zones - fix

* reversed if logic
2020-04-08 15:12:04 +02:00
Niels Laute
4cb89b3fc2
FZ - Styling updates to GridZone and CanvasZone controls so they look more Fluent (#1778)
* Improved styling so it looks more Fluent and native to W10

* CanvasZone border is now using the active accent color

* Updated GridZone to a similiar Fluent styling as the CanvasZone. Added a mouseover state to the GridResizer.
2020-04-08 14:46:05 +02:00
Lavius Motileng
4243feaf37 Added functionality for General Settings Page (#1664)
* archive

* formmated code

* reverted changes to test class file.

* reverted changes to test file: reverted name

* added class models and updated link

* removed test console project
2020-04-07 14:42:13 -07:00
Seraphima Zykova
5ff146bc69
KeePass window showing from tray (#1938) 2020-04-07 19:30:12 +03:00
Seraphima Zykova
f5ed9f1c33
Editor: fixed zone offset scaling (#1876) 2020-04-07 12:03:57 +03:00
JordanAnthonyKing
01ec472314
Issue #1849: Fix for windows in the last zone being placed in the first zone when decreasing the zone count. (#1884) 2020-04-07 10:23:59 +02:00
PrzemyslawTusinski
2806c386d3
fancyzones unity3d crash fix (#1914)
* fancyzones unity3d crash fix

* intelisence warning fix, and review issue fix

* Fix for review comment
2020-04-03 11:17:12 -07:00
Geert van Horrik
96fbc968ef
Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId (#1826)
* #1821 Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId

* Make support for '#' in device names optional

* Add more unit tests for isValidDeviceId
2020-04-02 18:51:36 +02:00
Seraphima Zykova
a6b7ba41ee
removed tests with unused scenario that slowdown CI (#1820) 2020-04-01 13:12:29 +03:00
stefansjfw
ead47b2aa2
Remove unneded assignments (#1755)
* Remove uneeded assignments

* Use const iterators
2020-03-27 23:12:41 +01:00
PrzemyslawTusinski
f2744493b9
Dragging to another monitor doesn't activate fancy zone placement fix (#1736) 2020-03-27 16:09:37 +01:00
Ivan Stošić
a6793588c6
Fixed some recent compiler warnings (#1734) 2020-03-27 16:01:24 +01:00
Seraphima Zykova
f124cd9c7e
Disabled FancyZones unit tests related to disabled features (#1728) 2020-03-27 15:40:41 +03:00
PrzemyslawTusinski
f9a756d1ff
FancyZones editor display zone numbers & PowerRename fix (#1726)
* Fix for issue #1218

Design Change: Default Enter Action

* Fix for issue #1085

* change zone's number color and font
remove the light blue background

* Fix for disappearing zone number in editor

* Grid layout reversed order fix

Co-authored-by: sqrlmn <sqrlmn@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2020-03-27 13:07:19 +01:00
Andrey Nekrasov
d2a60c7287
FZ: disable flash zones option for 0.16 (#1721)
* FZ: disable flash zones option for 0.16

* fixup! review comments
2020-03-27 13:24:27 +03:00
yuyoyuppe
60fa6071b9 FZ: warn w/ a toast if an elevated window cannot be dragged and offer learning more 2020-03-27 13:23:37 +03:00
PrzemyslawTusinski
c247e49c2a
Fancy zones on all monitors - when dragging window to another monitor sometimes zone stays marked as active on previous FIX (#1709) 2020-03-26 17:48:01 +01:00
Seraphima Zykova
f72dd7fdb6
added telemetry for editor launch event (#1705) 2020-03-26 13:54:12 +03:00
vldmr11080
e85427f1da
Disable Win+Ctrl+Number feature for 0.16 release (#1689) 2020-03-25 18:32:33 +01:00
PrzemyslawTusinski
f8f7fe4f33
Fancy zones ui update( zone numbering as numbers, dragged window transaprency option, zone coloring customization) (#1666)
* Fancy zones ui update (#4)

* Draft of numeric fancyzones with numbers

* Added support for zone color configuration, improved zone number display

* Changed order of settings to more logical

* Added option to edit zone border color

* Trancparency of dragged window, transparency of displayed zones, changed font of zone numbers

* Fix for compilation

* Some refactor

* Introduced gdiplus to draw zone and zone index

* Fix for dissappering windows

* Some fixes

* another merge fix

* another merge fix

* Unit test merge fix

* Transparency with show zones on all fix

* indentation fix

* Fix for failing test

* Changed order of color pickers

* "Zone Opacity"

* Zone opacity (%)

* Added option to turn off dragged window transparency, changed default zones color values
2020-03-25 15:38:44 +01:00
stefansjfw
8156279025
Use JsonSerializer instead of Utf8Writer (#1670)
* Use JsonSerializer instead of Utf8Writer

* Rename method
2020-03-25 11:11:18 +01:00
vldmr11080
9e8facaa6f
Windows snap hotkeys to move windows between screens (#1603)
* When moving window into zones using arrow keys, support multi-monitor scenario

* Minor coding style adjustments

* Split implementation into separate functions because of readability

* Rename certain arguments

* Modify unit tests after API changes

* Address PR comments and add unit tests

* Return true from MoveWindowIntoZoneByDirection only if window is successfully added to new zone

* Improved monitor ordering (#1)

* Implemented improved monitor ordering v1

* Fixed some embarrassing bugs, added some tests

* Added one more test

* Extracted a value to a variable

* ASCII art in unit test comments describing monitor layouts

* Removed empty line for consistency

* Update comment to match the code

* Refactored tests, added tests for X,Y offsets

Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-03-24 18:50:26 +01:00
Andrey Nekrasov
e52c5d38d3
Cleanup project output/intermediate dirs (#1640)
* sln: set output dir prefix to "modules\" for all modules

* sln: CopyToOutputDirectory only when necessary

* sln: intermediate dir for csprojs

* sln: intermediate dir for vcxprojs

* sln: add PT as runner project deps + remove nonexisting project confs

* sln: remove AnyCPU for win-app-driver project
2020-03-20 21:41:48 +03:00
vldmr11080
49868d8f7c
Fix migration of rows and columns percents from registry (#1641) 2020-03-20 13:48:24 +01:00
Ivan Stošić
1c90107571
Implement canceling edits in FZE, fix crashes related to canceling. (#1610)
* Implemented proper canceling for CanvasEditor

* Implemented proper canceling for GridEditor

* Possible fix for a crash in my implementation of canceling

* Fixed a crash in FZE/Grid editor
2020-03-18 14:13:25 +01:00
stefansjfw
98ed178d7b
Double-qoute the paths when passing them as cmd args (#1604) 2020-03-17 18:12:32 +01:00
Seraphima Zykova
f49727e0b6
Invalid json test cases + strings validation (#1558)
* added tests for invalid json types
* guid strings validation
* device id validation
2020-03-17 00:29:13 +03:00
Ivan Stošić
2cc6d2ef11
Fixed some compiler warnings (#1577)
* Fixed some compiler warnings

* Changed long to int
2020-03-16 17:54:30 +01:00
Yevhenii Holovachov
02857d1b7f
Some refactoring of FancyZones::IsInterestingWindow and added Unit Tests (#1521)
* Some refactoring of FancyZones::IsInterestingWindow and added UnitTests
2020-03-16 14:25:30 +02:00
Ivan Stošić
04027b9c32
Temporarily removed a test with huge running time on Azure (#1591) 2020-03-16 13:18:19 +01:00
Enrico Giordani
969d71b264
Fix for build break (#1573) 2020-03-13 19:40:28 +01:00
PrzemyslawTusinski
0af6348913
Fancy zones: show active layouts on all monitors (#1553)
Added option to show fancy zones on all monitors with layouts simultaneously
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-03-13 15:56:23 +01:00
Andrey Nekrasov
0ac6c01d65
runner: simplify powertoy_module interface (#1560) 2020-03-13 12:55:15 +03:00
stefansjfw
83901e5fbb
Improve readability of EditorWindow (#1515) 2020-03-11 16:38:13 +01:00
Ivan Stošić
4632224e9b
Fixed a Grid editor issue (#1308)
* Fixed a Grid editor issue

* Explained the fix in ExtendRangeToHaveEvenCellEdges

* Simplified code in ExtendRangeToHaveEvenCellEdges

* Removed redundant comment, more camelCase
2020-03-10 23:23:35 +01:00
Ivan Stošić
197bc54ac6
FancyZones editor magnetic snapping effect (#1503)
* FancyZones editor magnetic snapping effect

Implemented a solution to Issue #585: FancyZones: Alignment/Snapping/Ruler

* Fixed VS complaining about names and access modifiers

* Removed reference to unused implementation of snapping in FZE

* Converted integer constants to enums in FZE/Canvas

* Convert a portion of code to a switch statement

* Improved code maintainability

* Fixed a screen resolution bug in FZE/Canvas

Fixed a bug where the editor doesn't respect the new screen resolution.

* Further maintainability improvements

* Fixed a compiler warning

* Changed some variables to camelCase
2020-03-10 15:50:44 +01:00
vldmr11080
013a58e634
Move window to last known zone. Support movement in multi-monitor scenario (#1511) 2020-03-10 09:59:34 +01:00
stefansjfw
4dbe535e1e
Use default options for Utf8JsonWriter (#1497) 2020-03-09 23:28:43 +01:00
stefansjfw
7ac378dcd3
Fix compiler warning (#1492) 2020-03-09 23:21:33 +01:00
stefansjfw
965b098d66
Fix deleting custom layouts when closing on SaveApply (#1512)
* Fix deleting custom layouts when closing on SaveApply

* Only serialize if SaveApply, not on Cancel or X
2020-03-09 23:06:39 +01:00
Clint Rutkas
6379c3210b
added in dialog, tweaked layout to be more resiliant to longer text (#1361) 2020-03-09 14:20:57 -07:00
vldmr11080
7653d5fec9
Document fancy zones (#1496) 2020-03-09 19:22:53 +01:00
PrzemyslawTusinski
7e1f7bd7fd
Ui rename Zone highlight Opacity (%) - > Zone Opacity (#1504) 2020-03-09 12:27:35 +01:00
stefansjfw
5581e25a21
Editor IO exception handling (#1491)
* Close input stream
Show MessageBox with exception message
Remove unused arguments
Guard all of the Editor input/output code parts and show MessageBox
with appropriate message and issue reporting link

* Extract showing messageBox into method
2020-03-09 10:41:06 +01:00
stefansjfw
1cf8634152
Move ZoneSetPersistedDataOLD to JsonHelpers (#1405) 2020-03-07 10:59:00 +01:00
Ivan Stošić
2b91903129
Fixed one mishandled case when computing zones (#1470) 2020-03-05 21:51:58 +01:00
Ivan Stošić
985a0b9bce
Fixed resizer thumbs not being shown (#1309) 2020-03-05 16:00:18 +01:00
Ivan Stošić
9860e2bc75
Fixed an issue where zones do not fill up the whole screen (#1458)
* Fixed an issue where zones do not fill up the whole screen
* Fixup: Added comments, removed extra semicolons
2020-03-05 15:54:06 +01:00
Andrey Nekrasov
db8472a6e5
Unify version specifying (#1439)
* installer: extract version number into separate file and use it where possible

* MSIX: rename package to include version on CDPx

* installer: generate assembly info for FZ editor

* MSIX: inject correct version to appxmanifest
2020-03-05 17:52:21 +03:00
Ivan Stošić
8a22da0acb
Fix too many zones crashing (#1337)
Fix for an issue where creating too many zones causes a crash
2020-03-05 14:59:47 +01:00
Ivan Stošić
92f64188d5
Fixed multi-monitor scaling bug (#1293)
Fixed an issue (#365) where a window gets resized after it gets dropped into a zone.
2020-03-05 10:57:45 +01:00
vldmr11080
39cac396f5
Swallow shift keyboard event when dragging window (#1423) 2020-03-05 08:01:58 +01:00
Enrico Giordani
8373204c94
Now working on 0.15.2 (#1432) 2020-03-04 05:52:16 +01:00
Enrico Giordani
6787af413e
Increment version to 0.15.1 (#1428) 2020-03-03 22:31:57 +01:00
stefansjfw
0199b4e212
Handle exception while editor is parsing custom layouts (#1430)
* Fix migrating never applied custom zonesets

* Handle json parsing exception in LoadCustomModels()
2020-03-03 22:31:22 +01:00
stefansjfw
121be772df
Fix migrating never applied custom zonesets (#1427) 2020-03-03 21:48:22 +01:00
Enrico Giordani
f3b3e3eded
Sanity check for imported settings that may have invalid data. (#1426) 2020-03-03 21:45:25 +01:00
vldmr11080
6556e1b4a2
Skip cloning device information from parent virtual desktop if it is deleted. (#1415) 2020-03-02 18:52:38 +01:00
vldmr11080
66892aea60
Secure acces from multiple threads to JSONHelpers (add missing lock) (#1375) 2020-02-27 09:52:14 +01:00
yuyoyuppe
16b1bfa4d0 increment version to 0.15 🎉 2020-02-26 23:21:17 +03:00
vldmr11080
1f8f9aaf81
Revert "Swallow shift keyboard event when dragging window (#1362)" (#1363)
This reverts commit 2f9b753c5b.
2020-02-26 08:11:39 +01:00
vldmr11080
2f9b753c5b
Swallow shift keyboard event when dragging window (#1362) 2020-02-25 21:03:14 +01:00
Seraphima Zykova
b1ac1859be
Removed FancyZones unit-test (#1360) 2020-02-25 17:14:59 +03:00
vldmr11080
733613ad28
Introduce handling of new/old work areas (#1296)
* Introduce handling of new/old work areas (defined by virtual desktop id and monitor)

* Save data to JSON storage only once after we register all deleted virtual desktops

* Update saving mechanism

* Remove resolution from unique identifier

* Update comments related to new unique identifier

* Don't handle NULL GUID as it is default one

* Revert "Remove resolution from unique identifier"

This reverts commit 5a36651217.

* Revert "Update comments related to new unique identifier"

This reverts commit 8e89802549.

* removed MigrateDeviceInfoFromRegistry

Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
2020-02-18 11:55:08 +01:00
Seraphima Zykova
604070763d
Add telemetry event for FZ editor (#1294)
* trace zones settings changes
2020-02-17 19:40:02 +03:00
Andrey Nekrasov
1e6936a8c3
Thread safety for FanncyZonesData (#1281)
* FancyZones: make FancyZonesData thread-safe

* fixup: format affected sources

* fixup: clang-format case-style and format FancyZones.cpp

* fixup! add missing lock
2020-02-17 18:28:49 +03:00
Andrey Nekrasov
fa3ce8de64
MSIX: add missing dependencies for the FancyZonesEditor (#1298) 2020-02-14 11:57:20 +03:00
Seraphima
8c86c3dc1b
Update FancyZones telemetry event for settings changed (#1268) 2020-02-12 13:08:11 +03:00
Seraphima
79c625d737
Persist app zone history in real time (#1257)
* save settings every time changes are performed
* settings are not saved on app exit
2020-02-11 14:34:37 +03:00
Seraphima
a1d277e771
Unit-tests fixes (#1265)
* fixed typecast warnings
* removed unneded tests
2020-02-11 14:33:41 +03:00
vldmr11080
bde0f2f0ba
Fix crash when saving any module settings while module being disabled (#1259) 2020-02-11 07:57:11 +01:00
stefansjfw
53f830bb38
Migrate FancyZones data persisting from Registry to JSON file (#1194)
* Migrate FancyZones data persisting from Registry to JSON file

* Address PR comment: Remove redundant check

* Addres PR comment: Remove unused Dpi and add CmdArgs enum

* Address PR comment: Make methods const and inline

* Address PR comments: Expose GenerateUniqueId function and use const ref instead of passing wstring by value

* Address PR comment: Use lamdba as callback

* Address PR comment: Move GenerateUniqueId to ZoneWindowUtils namespace

* Address PR comment: Use regular comparison instead of std::wstring::compare

* Address PR comment: Use std::wstring_view for tmp file paths

* Address PR comment: Use scoped lock when accessing member data

* Address PR comment: Remove typedefs to increase code readability

* Address PR comment: removed nullptr checks with corresponding tests

* Address PR comment: Move ZoneSet object instead of copying

* Address PR comment: Make FancyZonesData instance const where possible

* Remove unnecessary gutter variable during calculating zone coordinates

* Remove uneeded subclass

* Avoid unnecessary copying and reserve space for vector if possible

* Save FancyZones data after exiting editor

* App zone history (#18)

* added window and zone set ids to app zone history

* Rename JSON file

* Remove AppZoneHistory migration

* Move parsing of ZoneWindow independent temp files outside of it

* Unit tests update (#19)

* check device existence in map
* updated ZoneSet tests
* updated JsonHelpers tests

* Use single zone count information

* Remove uneeded tests

* Remove one more test

* Remove uneeded line

* Address PR comments - Missing whitespace

* Update zoneset data for new virtual desktops (#21)

* update active zone set with actual data

* Introduce Blank zone set (used to indicate that no layout applied yet). Move parsing completely outside of ZoneWindow.

* Fix unit tests to match modifications in implementation

* Fix applying layouts on startup (second monitor)

Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: Seraphima <zykovas91@gmail.com>
2020-02-10 14:59:51 +01:00
Bartosz Sosnowski
0fdc1d0a1f
ShortcutGuide, FancyZones: split window filtering (#1225)
Splits the code use to filter windows for FancyZones and the
"active window" for the ShortcutGuide. The FancyZones logic is preserved
and merged into a single function. We keep it in common.h, as it might
be also used in other PowerToys, like maximized to new desktop. We do
however change the return type to be more descriptive. It also returns
a separate flag for if the window has a visible owner. This can be used
to implement the approved apps list.

For the ShortcutGuide, the logic is relaxed to include more windows. One
example are Explorer properties windows. Those are (and should) filtered
by the FancyZones, but should appear in the window preview in the SCG.

The new return type also includes information if the window will react
to the default Windows Snap. This is not ideal though. Currently, SCG
can only disable the entire "Windows Controls" group. OTOH windows like
"Save As..." dialogs can be snapped to corners etc., but cannot be
minimized nor maximized. Until SCG can separately disable those buttons
we will display the buttons in the enabled state only if the window
supports all settings. In the future, we should integrate FancyZones
snap override here too.
2020-02-07 15:53:57 +01:00
Bartosz Sosnowski
5d8e894802
FancyZones: if window is not interesting, allow Windows snap (#1186)
Do not swallow WinKey+Arrow events for non-interesting windows. This makes apps that are in the "excluded apps" list behave as if "Override windows snap keys" is disabled - they will react to the Windows default snap.
2020-02-06 13:12:59 +01:00
Bartosz Sosnowski
ed35a143ec
FancyZones: allow windows with invisible or zero-sized owner to be zonable (#1216) 2020-02-05 12:27:51 +01:00
Bartosz Sosnowski
25e882eb78
Fancyzones: unify window filtering (#1184)
Makes FancyZone use the same code for filtering windows when windows are
being dragged and when moved by WinKey + arrows.
2020-02-03 09:32:38 +01:00
vldmr11080
1a10366ab7
Align zone dimensions from layout preview with those from grid editor (#1115) 2020-01-22 20:15:35 +01:00
Alekhya
925b6694ac
Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp  of fancyzones project

* localized FancyZones.cpp

* format fancyzones.rc file

* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name

* reverted changes for window name

* Formatted fancyzones rc file
2020-01-22 10:24:00 -08:00
Alekhya
45e3f02832
Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml

* removed hardcoded strings from GridEditorWindow.xaml

* loc

* Localized MainWindow

* reverting MainWindow.xaml as it is not rendering the window as expected

* Changed the resource settings from internal to public

* the culture is set based on the culture of the system UI set in the system settings

* Removed the french resource files used for testing

* Localized canvasWindow and mainwindow

* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI

* Removed redundant header file
2020-01-21 12:02:31 -08:00
Bartosz Sosnowski
62da7c7be4
FancyZones: remove dialog boxes filtering (#1076)
* FancyZones: remove dialog boxes filtering

* FancyZones: add the "no owner window" filter to the WinKey + arrow zone snapping
2020-01-20 11:02:12 +01:00
vldmr11080
5dc60b9f35
Fix reversed order of zones in layout (#1071) 2020-01-15 20:20:10 +01:00
vldmr11080
588f134de8
Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd.
2020-01-15 19:34:23 +01:00
vldmr11080
d03690cffd
Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
2020-01-09 22:40:38 +01:00
Yosef Durr
a2a683d31e adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631

* applying zone opacity setting to all zones during zone selection

* changing opacity setting to percentage
2020-01-06 09:59:18 -08:00
Clint Rutkas
b753f920e1 #768 2019-12-26 11:06:59 -08:00
Bartosz Sosnowski
47bcb117b4
FancyZones: do not zone windows on startup (#982) 2019-12-24 15:47:28 +01:00
Clint Rutkas
b58d4e306a
Merge pull request #1000 from crutkas/crutkas/923
fix for #923
2019-12-23 20:17:17 -08:00
Clint Rutkas
2c1ffde3ed fix for #923 2019-12-20 14:53:56 -08:00
vldmr11080
918ebc62a2
When spacing is set to 0 or turned off display 1px border so user can distinguish zone edges. No spacing will be applied in actual layout. (#994) 2019-12-20 19:46:14 +01:00
Bartosz Sosnowski
6ee848b279
FancyZones: handle minimized windows correctly (#986) 2019-12-19 16:36:24 +01:00
Bartosz Sosnowski
db5f1622bd
FancyZones: do not zone invisible windows (#983) 2019-12-19 16:02:24 +01:00
yuyoyuppe
48b89609e2 fancyzones: restrict dpi unaware windows horizontally to the current display to avoid unwanted resize 2019-12-17 15:37:10 +03:00
yuyoyuppe
303d1fef6b
PCH: remove headers which are actually could be changed (#950) 2019-12-17 11:21:46 +03:00
Clint Rutkas
511f71c369
Merge pull request #927 from microsoft/dev/crutkas/codeAnalysis
code analysis / style cop adjustments for .NET
2019-12-13 14:09:19 -08:00
vldmr11080
d284ecdab4 Fix outstanding warning messages (#924) 2019-12-13 18:55:30 +01:00
Clint Rutkas
0ff2e212d5 #817 2019-12-12 17:11:47 -08:00
Clint Rutkas
107595fcb2 last stylecop issue 2019-12-12 15:18:31 -08:00
Clint Rutkas
32fb634a4d few more fixes 2019-12-12 15:07:52 -08:00
Clint Rutkas
51fbcc736e fix for CA0507 2019-12-12 15:02:22 -08:00
Clint Rutkas
360a22c537 fixed rest of info items 2019-12-12 15:00:24 -08:00
Clint Rutkas
63cb5ab883 fixed a bunch of infos 2019-12-12 14:50:25 -08:00
Clint Rutkas
151a937c10 fixed a bunch more 2019-12-12 14:34:25 -08:00
Clint Rutkas
4c88c9b029 adjusting event names 2019-12-12 13:59:58 -08:00
Clint Rutkas
24664cc859 moving converters, fixing spacing issues 2019-12-12 13:51:58 -08:00
Clint Rutkas
a187456ac3 Fixed a lot of line issues, few auto 2019-12-12 13:44:06 -08:00
Clint Rutkas
9e4752b114 fix line issues 2019-12-12 13:34:06 -08:00
Clint Rutkas
de64b33bb8 Fixing blank lines 2019-12-12 13:26:02 -08:00
Clint Rutkas
826858c170 Adding in sytlecop and fixing issues 2019-12-12 12:13:31 -08:00
Clint Rutkas
f2400ee089 Getting analysis up and going 2019-12-12 11:23:36 -08:00
yuyoyuppe
f385e46927
Devdocs reorganisation (#913)
* docs: split usage and dev docs

* # This is a combination of 2 commits.
# This is the 1st commit message:

docs: split usage and dev docs

# The commit message #2 will be skipped:

# fixup add docs

* docs: add runner documentation and move hooks documentation to devdocs

* docs: add stubs for modules technical description

* docs: add paragraph about event thread-safety

* docs: add 'Current modules' section header
2019-12-12 12:25:19 +03:00
vldmr11080
c31262b97e Flash zones only when new virtual desktop is created (#818) 2019-12-12 10:10:55 +01:00
ryanbodrug-microsoft
9fad2d68af
Merge pull request #912 from ryanbodrug-microsoft/user/ryanbod/fix_unit_tests_fancyzones
[FancyZones][UnitTests] Fixing TestDeviceId, and TestUniqueId.
2019-12-11 08:49:45 -08:00
ryanbodrug-microsoft
51180adeb4 Autoformatting document. 2019-12-11 08:34:18 -08:00
vldmr11080
31c4ab8ac0 Make sure FancyZones Editor window is on top of PowerToys settings window (#911) 2019-12-11 09:41:05 +01:00
ryanbodrug-microsoft
4f9d31e832 [FancyZones][UnitTests] Fixing TestDeviceId, and TestUniqueId to unit tests.
1. Creating a mock ZoneWindowHost.   Previously creating a ZoneWindow would throw an exception if the ZoneWindowHost is null.
2. Passing in HWND() instead of null to get rig of SAL annotation warnings.
2019-12-10 17:17:40 -08:00
yuyoyuppe
1760af50c8
Format unittests (#906) 2019-12-10 10:28:24 +03:00
vldmr11080
014c2c5249 Use same zone set initially for new virtual desktops of same monitor (#815) 2019-12-06 15:09:27 +01:00
Kevin Horecka
add63d2dde FancyZones: Added ability to use mouse only for interactions with zones (#729) 2019-12-06 12:32:43 +01:00
yuyoyuppe
7357e40d3f
Use WinRT JSON parser instead of custom cpprestsdk solution (#822) 2019-12-06 11:40:23 +03:00
Enrico Giordani
e714cb9e8b
Now working on 0.14.2 (#871) 2019-12-05 19:09:32 +01:00
Bartosz Sosnowski
fed81c8e22
Improve FancyZones window filtering (#856)
Improve FancyZones window filtering and filter out dialog windows
2019-12-04 17:53:54 +01:00
vldmr11080
3a65d5ce23 Revert: Keep window in their zone after layout changes (#852) 2019-12-04 01:55:12 +01:00
Bartosz Sosnowski
0e2d93c630 Make FancyZones not zone invisible, child and tool windows
Fixes "Move newly created windows to their last known zone"
2019-12-03 19:45:03 +01:00
Enrico Giordani
cbe6d19c79
Update FancyZone README for v0.14.0 (#806) 2019-12-02 18:00:14 +01:00
vldmr11080
57845a2739 Don't flash current zone setup when focused window is in full screen (#796) 2019-11-30 14:38:27 +01:00
vldmr11080
9a8ab29330 Reverse logic for keep windows in their zones when fancyzone layout changes (#812) 2019-11-30 12:15:16 +01:00
Enrico Giordani
3095ade94c
Now working on 0.14.1 (#797) 2019-11-28 11:06:23 +01:00
Bartosz Sosnowski
ee1a1fd614
Prevent number being swallow while dragging. (#788) 2019-11-27 10:32:09 +01:00
Enrico Giordani
51b791f9c0
Version 0.14.0 (#782) 2019-11-26 11:46:22 +01:00
Mike Harsh
4c600f5748
Updated shortcut key information 2019-11-25 06:06:29 -08:00
Enrico Giordani
4be84e035f
revert overrideSnapHotkeys logic after regression (#756) 2019-11-22 10:56:11 +01:00
Bartosz Sosnowski
254474d12d Make the hotkey control display correct key
Credit to @doterik for the idea in https://github.com/microsoft/PowerToys/issues/700#issuecomment-554329895

RApplies to https://github.com/microsoft/PowerToys/issues/700
2019-11-20 10:00:53 +01:00
Bret
28d7835327
User/bretan/fz remove legacy editor (#1)
* Removed and runs
Still needs some extra cleanup and addressing open issues

* Removed and runs
Still needs some extra cleanup and addressing open issues

* Clean

* Update
2019-11-18 15:29:42 -08:00
Bartosz Sosnowski
03438f9192
FancyZones: improve windows and apps filtering (#673)
Unifies the way windows are considered "interesting" by FancyZone.
Berfore the change WinKey + arrows would use different method than
dragging. This PR makes both use the WinKey + arrows method.

Cleans up FancyZones Settings.cpp by removing m_configStrings variable.
Contrary to its name it was used to create color picker control.

Adds a multiline option to the text input to settings. Uses this to
provide the user with a way to exclude certain apps from snapping to
zones.
2019-11-18 10:29:56 +01:00
yuyoyuppe
cb13cfdda7
FancyZonesEditor: open a tab with the selected layout on startup (#715) 2019-11-15 10:40:10 +03:00
vldmr11080
be86cd4028 Customize system menu items through dedicated API (#677)
Document new interface changes.
2019-11-12 11:48:14 +01:00
yuyoyuppe
e8edbd5394
clear FancyZones::m_zoneWindowMap on Destroy, since it stores 'this', causing a leak (#664) 2019-11-07 22:05:12 +03:00
yuyoyuppe
f3e25ae3e6
Fix for different per-monitor scaling (#657)
* Use DPIAware::DEFAULT_DPI

* Make runner DPI-unaware, since it doesn't need to use a Per Monitor V2 DPI.

* Programmatically enable "Per Monitor V2 DPI" for the runner proccess and use a separate DPI-unaware thread for the corresponding API calls

* Increase PCH memory limit for settings project

* Address review issues

* Draw zoneWindows properly scaled
2019-11-07 21:56:32 +03:00
yuyoyuppe
a9518c2e55 Wrap around colorIndex in a colors array (#669) 2019-11-07 17:50:04 +01:00
Bartosz Sosnowski
96aa6ae3ef
Fix Chrome tab move leaving zone highlighted (#656)
Fixes: https://github.com/microsoft/PowerToys/issues/534
2019-11-05 14:29:42 +01:00
Bartosz Sosnowski
6f241ef001
Now working on 0.13.0 (#617) 2019-10-31 17:51:20 +01:00
Enrico Giordani
3e9a0ea925
version 0.12.0 (#573) 2019-10-28 22:24:25 +01:00
Enrico Giordani
dc34379344 Fix telemetry event names
add setting changed event for ShortcutGuide
2019-10-28 19:07:32 +01:00
Jeff Bogdan
329392b7d6
Merge pull request #542 from enricogior/small-screens-support
FZ Editor support for small screens
2019-10-24 14:07:10 -07:00
Enrico Giordani
661ac4e841 revert change based on PR feedback 2019-10-24 21:36:09 +02:00
Enrico Giordani
57cd5b5b10
don't quit the FZ editor if no layout is selected when clicking on the "Edit selected layout" (#548)
don't exit when clicking on "Apply" if no layout is selected

Credit to @AlexR3 for the fix. Alex provided a more extensive fix that  disable the button when no layout  is selected, but it requires more changes to the XAML and we preferred to avoid that now.
2019-10-23 21:22:36 +02:00
Bartosz Sosnowski
8f8f4506ff
Make sure m_callback is not null before using it (#541) 2019-10-23 18:42:40 +02:00
Enrico Giordani
b26ee410d1 Allow FZ Editor windows to minimize
this is useful on small screens
2019-10-22 14:16:16 +02:00
Enrico Giordani
425a418599 FZ Editor support for small screens 2019-10-22 09:52:17 +02:00
Bartosz Sosnowski
e4c7ed9c3e fixup: move the test to IsWindowVisible 2019-10-22 09:46:15 +02:00
Bartosz Sosnowski
b17106e88d Don't zone hidden windows 2019-10-22 09:46:15 +02:00
Enrico Giordani
4b1d2ee106
fix bug in multi monitor scenario (#528)
the zone rect.X and rect.Y coordinates are relative to the current monitor.
2019-10-22 08:19:15 +02:00
Enrico Giordani
a07a42624b
Telemetry events
* Don't trace event on exit
change 'PowertoyModuleDeleter' to not call 'module->disable();' before 'module->destroy();' so the module can distinguish between being turned off and PowerToys exiting.
Code formatting.

* uppercase for event name

* Trace on/off event for ShortcutGuide module

* Trace the 'hide' event only if the guide was visible
'on_hide()' is invoked when the module is turned off, in that case don't trace the hide event.

* Remove spaces in data field names
Remove 'ShowGuide' event since it's not providing any useful data.

* Include build number in version number
2019-10-22 08:11:23 +02:00
Bret
6d3ce4e3cd
Merge pull request #504 from TheMrJukes/master
Fix rcNormalPosition in SetWindowPlacement
2019-10-16 09:54:08 -07:00
Bartosz Sosnowski
41842048a3 Save the zone when window is moved by hotkeys 2019-10-16 10:23:22 +02:00
Enrico Giordani
c8039828fa fixes for zone resize 2019-10-16 01:14:40 +02:00
Bret Anderson
03cb04823c Fix rcNormalPosition in SetWindowPlacement 2019-10-14 12:17:55 -07:00
Enrico Giordani
f9be71eca5
Add version number to telemetry event
use defines from version.h in .rc files and other places.
2019-10-14 19:22:14 +02:00
Antti Kuntsi
c069f6a555 fix FancyZonesEditor CLI dpi parsing with comma decimal locales 2019-10-09 16:18:36 +02:00
Patrick D
67c139cae9 change window name from window1 to FancyZones Editor
this will fix issue #453 but I'm not sure about the. I'll change it if required
2019-10-09 15:57:32 +02:00
Bartosz Sosnowski
5f8c4ea143
Improve window filter to include start menu and Cortana search box. (#474)
Also moves GetProcessPath* functions to common, renaming both to
get_process_path.
2019-10-07 11:12:44 +02:00
Bartosz Sosnowski
64f606daaa
Add a hotkey settings control and use it in FancyZones (#450)
Add a hotkey settings control and use it in FancyZones
2019-10-02 17:18:55 +02:00
Tomer Cohen
de08485db8 FancyZone documentation typo fixes
Miscellanious→Miscellaneous
maintining→maintaining
2019-09-30 19:54:05 +02:00
cedi
faf1fae873 Modifying the startup behaviour of the FancyZones Layout Editor
Add setting to allow to choose if the FZ editor opens in the screen where mouse cursor is or where the active windows is.
2019-09-28 16:29:29 +02:00
ebbyd3
a8f0d3298f Fixed some minor code styling issues. Removed some minor redundant calculations for a small performance enhancement with zone detection. 2019-09-26 23:23:09 +02:00
ebbyd3
af67f7782c Added more in-depth check for zone determination when dragging around
the screen. Previously, it would iterate through the zones in the order
they were added and find the first one that fit the description. While
this works in most cases, if a user wants to have overlapping zones, it
is better to iterate through all of them and find the zone that the user
expects. There are cases where a zone is completely inaccessible on drag
because of the current code. To resolve this, the zone search will look
for the smallest zone possible. The reason I chose this solution is
because this guarantees that zones are at least reachable since if a
zone was bigger than another zone, then there must be a part of it
that is exposed, therefore reachable itself. Note: this solution is for
the scenario between two zones. More than that is not guaranteed. But I
feel like this covers enough scenarios to warrant its addition.

Example:
  ----------------
  - Zone1        -
  -  ----------  -
  -  - Zone2  -  -
  -  -        -  -
  -  ----------  -
  ----------------

Previously, zone2 was inaccessible since it would iterate through 1 then
2. But 1 would always be seen first when dragging a window. With this
fix it zone2 will be accessible.
2019-09-26 23:23:09 +02:00
Bartosz Sosnowski
50dae8a37b Make detection of windows creation more robust 2019-09-26 08:54:00 +02:00
Bartosz Sosnowski
0b86941a3b Make FancyZone distinguish different modern apps. 2019-09-26 08:54:00 +02:00
Bartosz Sosnowski
b85f722e09 When moving window to a zone, ensure it does not remain in maximized state. 2019-09-18 10:41:51 +02:00
Bartosz Sosnowski
1a400bd7fd Filter windows moved by keyboard in FancyZones 2019-09-18 10:41:16 +02:00
Bret
a54e4299aa
Merge pull request #391 from microsoft/user/bretan/fz-multimon
Fix for #195 - Fancy Zones new editor needs to support multiple monitors
Fix for #292 - Zone Editor opens behind PowerToys Window
2019-09-17 17:58:53 -07:00
Bret Anderson
209ec55912 PR feedback 2019-09-17 17:53:43 -07:00
Bret Anderson
2c3c4e7519 Need to adjust x/y by scaled diff between monitor and work area rect 2019-09-16 12:48:55 -07:00
Bret Anderson
1078101631 Fix for #292 (Zone Editor opens behind PowerToys Window) 2019-09-15 13:48:56 -07:00
Bret Anderson
c0cdf7aaa6 Everything is working. 2019-09-15 13:34:00 -07:00
Enrico Giordani
8221f5e641
activate zones for windows with custom titlebar
fixes https://github.com/microsoft/PowerToys/issues/209
2019-09-11 21:12:39 +02:00
Enrico Giordani
1430332b98
default 'flashZones' to false 2019-09-11 21:11:55 +02:00
Bartosz Sosnowski
8ac6db8b5a
Fix cppcheck reported issues (#333)
Fixes: https://github.com/microsoft/PowerToys/issues/266
2019-09-11 12:38:20 +02:00
Bret Anderson
d4c8c84445 Pass DPI through to editor. It is more reliable. 2019-09-08 23:53:30 -07:00
Bret Anderson
3836aaa9d1 Almost working. Doesn't apply on my small monitor running at 150% scaling. 2019-09-08 14:54:44 -07:00
Bret Anderson
e562b29ecd Editor should come up on the monitor with the foreground window. Defaults to primary monitor if there is no foreground window. 2019-09-08 01:47:12 -07:00
Ewout ter Hoeven
5f5402aa0a [ImgBot] Optimize images (#225)
*Total -- 3,268.30kb -> 2,584.85kb (20.91%)

/doc/images/example_powertoy/settings.png -- 126.39kb -> 56.48kb (55.31%)
/src/modules/fancyzones/FancyZonesSettings.png -- 177.46kb -> 116.84kb (34.16%)
/Logo.jpg -- 37.32kb -> 26.97kb (27.73%)
/doc/images/Logo.jpg -- 37.32kb -> 26.97kb (27.73%)
/src/modules/fancyzones/Picker.png -- 35.86kb -> 26.45kb (26.25%)
/doc/images/runner/tray.png -- 3.40kb -> 2.52kb (25.95%)
/doc/images/shortcut_guide/usage.png -- 95.94kb -> 72.74kb (24.19%)
/doc/images/shortcut_guide/settings.png -- 40.33kb -> 30.76kb (23.73%)
/src/modules/fancyzones/FancyZones.png -- 1,266.91kb -> 982.63kb (22.44%)
/doc/images/MTNDWidget.jpg -- 5.74kb -> 4.73kb (17.59%)
/MTNDWidget.jpg -- 5.74kb -> 4.73kb (17.59%)
/src/modules/fancyzones/TableEditor.png -- 288.73kb -> 237.93kb (17.59%)
/WindowsKeyShortcutGuide.jpg -- 323.86kb -> 273.17kb (15.65%)
/doc/images/WindowsKeyShortcutGuide.jpg -- 323.86kb -> 273.17kb (15.65%)
/src/modules/fancyzones/WindowEditor.png -- 277.95kb -> 245.99kb (11.5%)
/doc/images/FZTutorial.jpg -- 214.13kb -> 195.51kb (8.7%)
/src/settings-web/src/components/fabric.png -- 7.36kb -> 7.26kb (1.31%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2019-09-06 19:53:54 +02:00
Jay Tulk
6acddfb0c7 Fix typo in fancyzones/README.md (#259) 2019-09-06 19:27:45 +02:00
Michael Cooper
fdab2d01b9 Escape less-than-sign in fancyzones/README.md (#222)
Without escaping this is rendered as an HTML, which is invisible.
2019-09-06 19:12:03 +02:00
Bartosz Sosnowski
8431b80e48 FancyZones and Shortcut Guide initial commit
Co-authored-by: Alexis Campailla <alexis@janeasystems.com>
Co-authored-by: Bret Anderson <bretan@microsoft.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Jeff Bogdan <jeffbog@microsoft.com>
Co-authored-by: March Rogers <marchr@microsoft.com>
Co-authored-by: Mike Harsh <mharsh@microsoft.com>
Co-authored-by: Nachum Bundak <Nachum.Bundak@microsoft.com>
Co-authored-by: Oliver Jones <ojones@microsoft.com>
Co-authored-by: Patrick Little <plittle@microsoft.com>
2019-09-05 18:12:40 +02:00