* Add ARM64 build configurations to projects
* StartMenu: add ARM64 support
* Add support for IAT hooking on ARM64
* Add ARM64 support to Classic IE
* Add ARM64 support to installer
NB: WiX 3.14.0.3910 or higher is required to create the MSI
* Revert whitespace change
* Separate x86/x64 and ARM64 installers
* Change suffix of ARM64 binaries
* Put also ARM64 MSI to final installer
* Fix sln
* Build some DLLs as ARM64X
These are meant to be loaded to both x64 and ARM64 processes.
We will compile them as ARM64X (when building for ARM64).
That way they will contain both x64 and ARM64 code paths.
https://learn.microsoft.com/en-us/windows/arm/arm64x-pe
* Make sure x64 installer cannot be installed on ARM64
In case if somebody manually tries to install x64 MSI on ARM64.
This is not supported/working scenario.
---------
Co-authored-by: ge0rdi <ge0rdi@users.noreply.github.com>
- handling of `Taskbar alignment` setting (left/center)
- start menu position is based on position of start button
- mouse clicks to original button now work properly (without triggering original menu)
- custom button is properly positioned
- Win+X works properly
We are storing color settings in BBGGRR format (for historical reasons).
This may be confusing for people that are used to (more widely used) RRGGBB format.
Thus we will present color settings in RRGGBB format when editing.
We will still use BBGGRR format for those settings internally. To
maintain backward compatibility with existing settings stored in
registry/xml.
Also setting descriptions now contain hint about expected color format.
This way it should be more clear what values `Open-Shell` expects.
Fixes#82, #1141.
We are now deploying official builds from master to Github releases page
(as Prerelease).
So we should get these build from there.
This is also related to AppVeyor's rather tight download limits that
make it quite challenge to obtain nightly builds.
Items can be pinned to directories that require administative privileges
(such as Open-Shell's default installation directory), so long as users
take ownership of the pinned folder. Also adds a command to Open-Shell's
context menu that opens the current pinned folder.
Adds general support for directory-based settings by creating a new
setting type called TYPE_DIRECTORY which uses a new bool added to
BrowseLinkHelper, called bFoldersOnly. START_MENU_PINNED_ROOT
has been removed, and all instances of both it and BrowseLinkHelper
have been adjusted accordingly. To create your own directory-based
settings, use CSetting::TYPE_DIRECTORY. Empty directory paths are
reset to their default value as they can cause unexpected behavior.
Adds a new function called GetFakeFolder which attempts to find and get
the target.lnk file from a fake folder (what Open-Shell uses to pin
folders). If detected, InvokeCommand is swapped for a ShellExecute call
to the target shortcut. Fixes#555, #653, and by extension, #691.
When loading XML files, settings with active edit boxes open will not be
adjusted. This adds an additional tab-reload before the load begins to
forcibly close any active edit boxes.
Intercepts *most* instances of FLAG_DEFAULT getting set, including
when XML files are loaded and when Open-Shell starts, adding
if-statements to those spots to check if a new value is actually
different from the setting's default value. Ensures more consistency
behind the scenes and gets rid of inaccurate bold highlights.
* Fix naming inconsistencies
'Menu' vs 'StartMenu'
* Installer: Remove Facebook link
* Installer: Remove PayPal donate remnants
* OpenShellReadme: Remove info about product version