397 Commits

Author SHA1 Message Date
bonzibudd
0ce76c9c36 Skin: Tweak programs icon arrows 2021-05-06 08:23:04 +02:00
bonzibudd
6e71d7c414 Skin: Add "Back" arrow to programs button
This can help distinguish when the programs list has been activated.
2021-05-06 08:23:04 +02:00
bonzibudd
84909cf397 Skin: Retain list padding when using icon frames
This will make the padding of list items stay the same regardless of if icon frames are enabled or not. List padding shouldn't change with the icon frame option because lists don't contain icon frames.
2021-05-06 08:23:04 +02:00
bonzibudd
fc290d5a6a Skin: Remove extra "Submenu_opacity" 2021-05-06 08:23:04 +02:00
bonzibudd
ebd530f652 Skin: Better scaling of icon frames
This will make the space around icon frames scale appropriately.
2021-05-06 08:23:04 +02:00
bonzibudd
e50c5f73d7 "About this skin" text should link to Open-Shell 2021-05-06 08:23:04 +02:00
bonzibudd
1db0006c96 Fix right-hand padding with Icon frames enabled
This should improve the right-hand spacing when icon frames are enabled, and right-hand icons are disabled. There shouldn't be any extra icon/text padding for Main2 when icons aren't enabled.
2021-05-04 11:26:29 +02:00
GenesisToxical
7d0a9df1c3 Quick Access to Taskbar Tab - SettingsUI.cpp
Easy access to modify Taskbar options without having to activate all other tabs.
2021-04-03 10:13:01 +02:00
Anis Errais
8e1b4e35a3 Added options for moving the start menu and showing the start menu at the edge of working area instead of against the taskbar 2021-02-09 20:57:48 +01:00
Xenhat
859afc63d3 Label topmost discussion link correctly as Gitter 2020-12-27 10:50:55 -05:00
Xenhat
ee6db35b34 Update README.md
Add link to Discussions section and Discord for questions
2020-12-27 10:49:38 -05:00
ge0rdi
283c0fce03 Fix Shutdown item text
To be consistent with text in Windows.

Fixes #501.
2020-10-23 18:07:39 +02:00
ge0rdi
ac5e69f1a0 Use modern Help icon in Classic/Two column menu style
Fixes #506.
2020-10-23 18:07:38 +02:00
ge0rdi
b2df22104e Setup: Fix installer warning on Windows 7
`Warning 1946. Property 'System.AppUserModel.ToastActivatorCLSID' for shortcut 'Open-Shell Update.lnk' could not be set.`

Windows 7 doesn't recognize `System.AppUserModel.ToastActivatorCLSID`
name so we have to use GUID directly.

https://docs.microsoft.com/en-us/troubleshoot/windows/win32/warning-1946-when-you-install-installer-package

Fixes #507.
2020-10-23 18:07:37 +02:00
ge0rdi
c88f028f3e Show Settings above Control Panel by default
(Modern) Settings are more and more important in Windows 10,
so it makes sense to show them above Control Panel.

This changes only defaults, users will be still able to order start menu
items as they like.

Fixes #23.
2020-10-23 10:13:57 +02:00
ge0rdi
312bfd99d5 Update settings search category names
To make it consistent with the rest of product:

`Settings` category is renamed to `Control Panel`
`Modern Settings` category is renamed to `Settings`
2020-10-23 10:13:57 +02:00
ge0rdi
ca576a0224 Display Modern settings search results above Control Panel ones
(Modern) Settings are just more and more important in Windows 10.
So it makes sense to show their search results first.

Fixes #481.
2020-10-23 10:13:57 +02:00
ge0rdi
a5f35b133f Improve compatibility with WindowBlinds
`Open-Shell` hooks `SHFillRectClr` (ordinal 197) API from `shlwapi.dll`
in order to be able to customize taskbar.

The API is hooked even if taskbar customization is disabled in `Open-Shell` (default).

`WindowBlinds` hooks the same API so this is causing clashes between
both programs.
In fact `Open-Shell` hooks later which makes `WindowBlinds` hook to be
completely ignored.

The solution would be to hook only if taskbar customization is enabled.

This way `Open-Shell` should be more compatible with other customization
tools in default state.

Fixes #433.
2020-10-23 10:13:57 +02:00
ge0rdi
f197c9f43d Don't show jump list for Settings application
It reports just one category with unsupported type, thus jump-list will be
empty.

Fixes #487.
2020-10-23 10:13:57 +02:00
ge0rdi
bce9efcc43 Display monochrome icons using color of corresponding text item
Some icons (modern settings, jump-list tasks) are monochrome, basically
they are defined just by alpha channel.
Thus they can be displayed in any color (white is default).

Since these icons are white by default, they look nice on dark
backgrounds. But they are not very visible on light backgrounds.

Thus the idea is to 'colorize' such icon using color of corresponding
text item. That way they will always have proper color.

Fixes #466.
v4.4.160
2020-09-26 15:46:19 +02:00
ge0rdi
80c38d95e9 ModernSettings: Fix crash when invoking with unknown verb 2020-09-26 09:18:42 +02:00
ge0rdi
0b535d1dd8 Update: Properly handle toast activation
Use `OnToastActivate` to display update dialog if user clicked on toast
during `update.exe` life-time.

Process messages for some time after displaying toast.
Otherwise toast may be not displayed at all.
2020-09-26 08:14:56 +02:00
ge0rdi
e2ff745949 Skin: Add support for Immersive* color names 2020-09-25 20:10:39 +02:00
ge0rdi
fbcf85559e Update: Add option to check for nightly updates
Use Appveyor REST API to obtain information about latest build from master.
2020-09-24 18:52:24 +02:00
ge0rdi
ed3da927cc Update: Use desktop toast notifications on Windows 10
Use toast notification to announce new update on modern Windows
versions.

The advantage of toasts is that they look more natural and they are
persistent. So one can find the information about new update in action
center even after notification timed out.
2020-09-24 18:52:24 +02:00
ge0rdi
225d0ba8f9 Update: Add library for Desktop Toast notifications
Based on sample code in:
https://github.com/WindowsNotifications/desktop-toasts

More info:
https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/send-local-toast-desktop-cpp-wrl
2020-09-24 18:52:24 +02:00
ge0rdi
afaf16620a Setup: Bring back Update component
This reverts commit ed3675ca7f.
This reverts commit ee59bb76de.
2020-09-24 18:52:24 +02:00
ge0rdi
4883d13950 Update: Support for automatic updates
Use Github REST API to get info about latest release (version,
changelog, installer url).
2020-09-24 18:52:24 +02:00
ge0rdi
b094ddc5f9 Add Json library
https://github.com/nlohmann/json

Will be used to parse REST API responses from Github/Appveyor.
2020-09-24 18:52:24 +02:00
ge0rdi
a422105c61 Proper support for HTTPS in DownloadFile
Use secure connection right from the beginning.
2020-09-24 18:52:24 +02:00
ge0rdi
96423b8918 Log: More precise timing 2020-09-24 18:52:24 +02:00
ge0rdi
ba131ff14b Update build instructions 2020-09-24 18:52:24 +02:00
ge0rdi
7d59f5ebfb Support for modern app jump-list tasks
Task jump-list items for modern apps require special handling.

First of all they don't provide icon directly.
Icon location is stored in `PKEY_AppUserModel_DestListLogoUri` property.
And then has to be resolved for given application package.

Next, context menu of provided `IShellLink` item doesn't seem to be able
to start actual link target.
Thus we need to obtain context menu of target item.

Fixes #375.
2020-09-23 11:50:32 +02:00
ge0rdi
95f3a4b09a Add GetPackageFullName helper 2020-09-23 11:50:32 +02:00
ge0rdi
728f982310 Modernize CItemManager::LoadCustomIcon 2020-09-23 11:50:32 +02:00
ge0rdi
2ca236c291 Don't make metro icons smaller if Invert metro icons is enabled
There should be no need to make icons smaller.
2020-09-23 11:50:32 +02:00
ge0rdi
8a22282191 ItemManager: Better handling of modern application links
Link to modern application will be treat as modern application itself.

This fixes jump-lists and invert metro color option on modern apps pinned
to start menu.
2020-09-23 11:50:32 +02:00
ge0rdi
935600a6d9 Add LogPropertyStore helper 2020-09-23 11:50:32 +02:00
ge0rdi
d3bf4b6207 MenuContainer: Faster recent Metro apps enumeration
It seems that `SHCreateItemInKnownFolder` is quite slow for Metro apps.
Thus we should avoid it and use cached app info.
2020-09-22 19:12:35 +02:00
ge0rdi
aa09a0dcc2 ItemManager: Keep metro name if already obtained 2020-09-22 19:12:35 +02:00
ge0rdi
cd8cc8cbc6 Skin: Add more DPI options
Allow skin customizations for higher DPI displays by adding more DPI options:
- 120_DPI
- 144_DPI
- 168_DPI
- 192_DPI
- 216_DPI
- 240_DPI

Fixes #458 .
2020-09-22 07:08:37 +02:00
Xenhat
1bfbe09c6f Add discord server badge :) (#462)
Squashing because appveyor is stuck, also useless for a readme change
2020-09-21 17:51:15 -04:00
ge0rdi
61d05b49c5 Improve search logging v4.4.152 2020-09-01 19:28:04 +02:00
ge0rdi
9752afbebc ModernSettings: Use smart pointers 2020-09-01 19:28:04 +02:00
ge0rdi
e210b4a65a CAbsolutePidl: Allow copy from PCIDLIST_ABSOLUTE 2020-09-01 19:28:04 +02:00
ge0rdi
6581868336 ModernSettings: Add support for more settings
Based on `HostId`:
* {7E0522FC-1AC4-41CA-AFD0-3610417A9C41}
  execute `shell:::{PageId}`
* {12B1697E-D3A0-4DBC-B568-CCF64A3F934D}
  execute command in `DeepLink`
2020-09-01 19:28:04 +02:00
ge0rdi
7ee668e474 Installer: Fix URLs
Fixes #404
2020-09-01 19:28:04 +02:00
ge0rdi
62b949679b Respect Use multiple columns setting for all folder items
Currently it was used only in some cases (like Programs/Apps folder).
It will be more consistent to respect the setting for all folder
items.

Fixes #436.
2020-09-01 19:28:04 +02:00
ge0rdi
6242e8d9b9 Settings: Use images in PNG format
It makes StartmenuDLL.dll ~830kB smaller.
2020-09-01 19:28:04 +02:00
ge0rdi
ee59bb76de Setup: Don't add symbols for unused update.exe 2020-09-01 19:28:04 +02:00