This is a slightlly modified FancyWM fork, which has some minor modificatios for Windows 11 24H2 x64 (version 10.0.26100.0).
I noticed that there is a FancyWM startup message stating that FancyWM is not compatible with my Windows 11 version (24H2).
I also noticed that FancyWM crashed a couple of times when I used it with Windows 11 24H2.
I have no great C Sharp or .NET skills. I ended up using Visual Studio 2022's GUI to make all the changes to the code.
I modified the properties of the projects contained in FancyWM.sln so that the target OS and .NET8 versions became Windows 11 24H2 (10.0.26100.0).
I also updated most of the NuGet packages. The NuGet packages that I did not update were: "Hardcodet.NotifyIcon.Wpf.NetCore (left at version 1.0.18)" and "Microsoft.Windows.CsWin32 (left at version 0.1.422-beta)". The app did not start properly if these NuGet packages were updated.
Please note: I have not changed the code that causes the warning message (mentioned above) when FancyWM starts up. You will still get a warning messages saying that FancyWM is not compatible with this version of Windows.
The whole process is summarised as follows:
In Visual Studio 2022:
Open FancyWM.sln
Set build with Configuration Manager to "Release" and "x64".
For each of the following 5 project names in Solution Explorer:
1. FancyWM
Properties:
Change both "Target OS version" and "Supported OS version" to:
10.0.26100.0
2. FancyWM.Package
Properties:
Change both "Target version" and "Min version" to:
Windows 10, version 24H2 (10.0; Build 26100)
3. FancyWM.Tests
Properties:
Change both "Target OS version" and "Supported OS version" to:
10.0.26100.0
4. ModernWpf
Properties:
Change both "Target frameworks" to:
net8.0-windows10.0.26100.0
5. WinMan.Windows
Properties:
Change both "Target OS version" and "Supported OS version" to:
10.0.26100.0
For the NuGet Packages:
Right click the root of the Solution Explorer tree ["Solution 'ModernWpf' (16 of 16 projects)"] and select "Manage NuGet packages for Solution".
Update all NuGet packages except:
Hardcodet.NotifyIcon.Wpf.NetCore (leave at version 1.0.18)
Microsoft.Windows.CsWin32 (leave at version 0.1.422-beta)
I'm not sure if I have usefully improved the experience or stability of FancyWM on Windows 11 24H2.
If my FancyWM fork is at all useful, all credit goes to the FancyWM dev: Vesko Karaganev (@veselink1).
Daniel (@dbonner)
FancyWM is a dynamic tiling window manager for Windows 10/11
☑ Create dynamic tiling layouts with mouse or keyboard
☑ Move window focus with keyboard ([⇧ Shift] + [⊞ Win], then [→])
☑ Swap windows with keyboard ([⇧ Shift] + [⊞ Win], then [⇧ Shift] + [→])
☑ Swap windows with mouse (hold [⇧ Shift] while dragging)
☑ Horizontal panels ([⇧ Shift] + [⊞ Win], then [H])
☑ Vertical panels ([⇧ Shift] + [⊞ Win], then [V])
☑ Stack panels (tabbed layouts) ([⇧ Shift] + [⊞ Win], then [S])
☑ Panel embedding
☑ Jump to virtual desktop ([⇧ Shift] + [⊞ Win], then [2])
☑ Move focused window to virtual desktop ([⇧ Shift] + [⊞ Win], then [⇧ Shift] + [2])
☑ Floating window mode ([⇧ Shift] + [⊞ Win], then [F] or rule-based)
☑ Auto-float windows which cannot fit
☑ Customizable keybindings
☑ Support for multiple monitors
☑ Support for virtual desktops
☑ Allows window maximization
☑ Toggle tiling on/off ([⇧ Shift] + [⊞ Win], then [F11])
☑ Low CPU usage (<1%)
☑ Disable animations for longer battery life
☑ Windows open in focused panel
☑ Remap activation hotkey to [⇧ Shift] + [⊞ Win], [Ctrl] + [⊞ Win] or [Alt] + [⊞ Win]
FancyWM uses [⇧ Shift] + [⊞ Win] as the start of a command sequence (Activation hotkey). To start a command sequence, press and release these keys simultaneously, then follow up by pressing one of the keybindings you have configured in the settings.
FancyWM only manages restored (not minimized, not maximized) top-level application windows, so it doesn't interfere with popups, and still allows you to use all of your available display area for when you need to focus on a window
Pre-built binaries can be downloaded from Releases.
These are built by an automated GitHub Action and you can see all of the build steps and previous runs.
winget install fancywm
You can test the Microsoft Store packages by installing them using PowerShell.
certutil.exe -addstore TrustedPeople .\FancyWM.Package_1.0.0.0.x64.cer
Add-AppxPackage -Path .\FancyWM.Package_1.0.0.0.x64.msixbundle
Head over to the Wiki.
Please, take the time to report any problems you experience by:
- Opening an issue on https://github.com/veselink1/fancywm/issues (feature requests also welcome) In case of crashes, please also remember to save and attach the log file produced by the application.
Clone this repo, including submodules.
git clone --recursive https://github.com/FancyWM/fancywm.git
Open the .sln file with Visual Studio 2022 and build the FancyWM project.
FancyWM is based on WinMan and WinMan.Windows.
Light theme, Vertical panel on the leftDark theme, Vertical panel on the left, Stack panel with 3 VS Code windows on the right
Vertical panel on the left, Edge in the middle, Vertical panel on the right