Commit Graph

69 Commits

Author SHA1 Message Date
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
Andrey Nekrasov
cf1b53831f Formatting chores (#1441)
* format_sources: exclude 3rd party sources

* format common project

* format leftovers in runner & settings projects

* move source formatting-related files according to #939
2020-03-05 13:07:06 +03: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
yuyoyuppe
16b1bfa4d0 increment version to 0.15 🎉 2020-02-26 23:21:17 +03:00
PrzemyslawTusinski
f015995ac4 Now updater is comparing versions instead of comparing thier strings 2020-02-26 23:06:44 +03:00
yuyoyuppe
0016836022 runner: periodically check if there's a new version available on github and offer a visit 2020-02-26 23:06:44 +03:00
yuyoyuppe
c543b7585a notifications: add support for unpackaged apps and protocol activation 2020-02-26 23:06:44 +03:00
yuyoyuppe
b90f1fc237 common: always use 0 for build number and make get_product_version return "vX.X.X" 2020-02-26 23:06:44 +03:00
Enrico Giordani
74b076e31f [CDPx] update SDK, restore telemetry, build MSIX (#1358) 2020-02-24 23:49:28 +01:00
Yevhenii Holovachov
607a297c4a "Always run as administrator" and "Restart as ..." only for administrator account (#1318) 2020-02-18 20:56:34 +01:00
Andrey Nekrasov
20519e3b81 MSIX: prompt and uninstall MSI PT version (#1248) 2020-02-18 18:11:01 +03: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
09d1af9c46 Common: remove hwnd_data_cache (#1223)
The cache was introduced to improve performance by not querying the
OS for the window process path every time we need to check if the window
is interesting to FancyZones. Since then other changes were made to the
the way we check the windows. Right now, the IsInterestingWindow function is
called when:

  1) WinKey + arrows are used
  2) window is started to be dragged
  3) window is created

1) and 2) are initiated by the user, happen only once per interaction so
their performance impact can be dismissed. The 3) happens all the time
but for the most part the check for WS_CHILD or
GetAncestor(window, GA_ROOT) == window will filter those out. In the
end, only top-level windows will be queried for their path.

Removing the cache improves code readability and will make code
maintenance easier.
2020-02-06 18:04:10 +01:00
Bartosz Sosnowski
0ecfbfad53 FancyZones: filter out WM_POPUP windows if they dont have maximize/minimize button or a sizable frame (#1212)
This filters out TaskView and Win32 menus.
2020-02-05 12:31:35 +01:00
yuyoyuppe
5089729b18 MSIX: implement initial version of notifications library (#1178) 2020-02-04 19:41:00 +03:00
yuyoyuppe
aa714f7d80 Runner: fix startup task state setting for MSIX (#1181) 2020-01-31 20:35:21 +03:00
yuyoyuppe
482ad0e5ee Settings: initialize COM security to allow communication between elevated Settings and WebView 2020-01-27 18:49:35 +03:00
yuyoyuppe
cd6ac4f8c2 Common: implement on_scope_exit helper and typed_storage 2020-01-27 18:49:35 +03:00
Bartosz Sosnowski
cc99abcd14 Runner: fix restarting with same elevation (#1133) 2020-01-23 15:12:02 +01:00
Alekhya Kommuru
23bba969dd Merge remote-tracking branch 'upstream/master' into locPowerRename 2020-01-20 11:54:20 -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
Alekhya Kommuru
653a84d3a9 reverting formatting of files 2020-01-17 14:38:41 -08:00
Alekhya Kommuru
8132bbac2e updated formatting of common.cpp 2020-01-17 14:32:02 -08:00
Alekhya Kommuru
df1c6b9b0b Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar* 2020-01-17 11:06:57 -08:00
Alekhya Kommuru
bde0e0b86a Merge remote-tracking branch 'upstream/master' into locPowerRename 2020-01-16 13:58:59 -08:00
Arjun Balgovind
c1232a7001 Shifted three functions to common (#1101) 2020-01-15 23:06:22 -08:00
Alekhya Kommuru
969abe015c added the helper functions 2020-01-14 15:00:05 -08:00
Bartosz Sosnowski
dad732b7e6 runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
2020-01-09 18:17:42 +01:00
yuyoyuppe
a321eb8737 MSIX: minor cleanup, add certificate generation script 2019-12-24 17:06:10 +03:00
yuyoyuppe
860087d291 MSIX: implement initial msix installer 2019-12-24 17:06:10 +03: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
0fd0a8b7cc format dpi_aware 2019-12-17 15:37:10 +03:00
yuyoyuppe
2e922019d7 DPIAware: implement GetAwarenessLevel and cleanup 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
Bartosz Sosnowski
619ed234a9 Do not run elevated by default (#884)
Make the runner not run as elevated by default. Add a setting for
"run PowerToys as elevated" and buttons to restart the process
with the different elevation levels.
2019-12-16 18:36:52 +01:00
Enrico Giordani
fd8fc679be Run the Settings process un-elevated when possible
and if not possible run it elevated and let the Settings
process deal with it.
Add wrappers for GetModuleFileNameW.
2019-12-16 18:03:37 +01:00
Seraphima
6e3587dd43 Settings unit tests (#921) 2019-12-12 18:24:00 +01: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
ryanbodrug-microsoft
7fc168532c Merge pull request #902 from ryanbodrug-microsoft/user/ryanbod/getexampleprojecttobuild
Getting the example project to compile, and build.
2019-12-10 15:31:31 -08:00
yuyoyuppe
1760af50c8 Format unittests (#906) 2019-12-10 10:28:24 +03:00
ryanbodrug-microsoft
73e33d7ba9 Getting the example project to compile, and build.
1) Adding example project to Debug / Release Builds.
2) Including <string> in common.h
3) Using std::optional instead of PowerToysValues::is_[type]_value
4) Fixing warnings generated by unreferenced 'ex' variable in exception handling.
5) Updated relative path of version.h in exeample_powertoy.rc
2019-12-09 15:04:02 -08: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
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
3095ade94c Now working on 0.14.1 (#797) 2019-11-28 11:06:23 +01:00
Bartosz Sosnowski
ae4413d0aa Improve key code to key name mapping. (#784)
Use the key detected by WebUI and our mapping only for from_settings call.
Replace the old Win + ~ with the correct value
2019-11-26 16:14:34 +01:00
Enrico Giordani
51b791f9c0 Version 0.14.0 (#782) 2019-11-26 11:46:22 +01:00