Skip to content

FancyWM - Dynamic Tiling Window Manager for Windows (modified for Windows 11 24H2)

License

Notifications You must be signed in to change notification settings

dbonner/fancywm-for-Windows-11-24H2-10.0.26100-x64

 
 

Repository files navigation

FancyWM

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)

Gitter

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.

Install via winget

winget install fancywm

Install from the Microsoft Store

English badge

Install .msixbundle (not recommended)

You can test the Microsoft Store packages by installing them using PowerShell.

PowerShell (as Administrator)

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:

Building from source

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.

WinMan & WinMan.Windows

FancyWM is based on WinMan and WinMan.Windows.

Screenshots

Light theme, Vertical panel on the left

Dark 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

About

FancyWM - Dynamic Tiling Window Manager for Windows (modified for Windows 11 24H2)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%