{"id":14976914,"url":"https://github.com/fancywm/fancywm","last_synced_at":"2026-02-21T13:03:32.460Z","repository":{"id":41194620,"uuid":"349950689","full_name":"FancyWM/fancywm","owner":"FancyWM","description":"FancyWM - Dynamic Tiling Window Manager for Windows","archived":false,"fork":false,"pushed_at":"2026-02-04T07:32:51.000Z","size":644,"stargazers_count":1029,"open_issues_count":30,"forks_count":39,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-02-04T10:47:47.809Z","etag":null,"topics":["dynamic-window-manager","keyboard-navigation","productivity","tiling-window-manager","window-manager","windows-10","windows-11"],"latest_commit_sha":null,"homepage":"https://fancywm.github.io/fancywm/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FancyWM.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":"funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["FancyWM"],"buy_me_a_coffee":"vesko"}},"created_at":"2021-03-21T09:20:56.000Z","updated_at":"2026-02-04T09:03:32.000Z","dependencies_parsed_at":"2024-03-29T16:43:41.939Z","dependency_job_id":"f24fb3d4-5bc3-4002-bce5-13849b9d07ac","html_url":"https://github.com/FancyWM/fancywm","commit_stats":{"total_commits":149,"total_committers":1,"mean_commits":149.0,"dds":0.0,"last_synced_commit":"26f71bbc565df5159ae8cc5fdafc6a9a252018a3"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/FancyWM/fancywm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Ffancywm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Ffancywm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Ffancywm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Ffancywm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FancyWM","download_url":"https://codeload.github.com/FancyWM/fancywm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Ffancywm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29193089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dynamic-window-manager","keyboard-navigation","productivity","tiling-window-manager","window-manager","windows-10","windows-11"],"created_at":"2024-09-24T13:54:40.399Z","updated_at":"2026-02-07T11:03:58.627Z","avatar_url":"https://github.com/FancyWM.png","language":"C#","funding_links":["https://github.com/sponsors/FancyWM","https://buymeacoffee.com/vesko"],"categories":[],"sub_categories":[],"readme":"# FancyWM\n\n\u003e \"Sparked a Desktop Revolution\" - [Seelen UI Blog](https://seelen.io/blog/the-seelen-ui-story) \u003c!-- https://web.archive.org/web/20260113143128/https://seelen.io/blog/the-seelen-ui-story --\u003e\n\n\u003e \"Offers a lot of functions in a tiny, compact package\" - [Softpedia](https://www.softpedia.com/get/Desktop-Enhancements/Other-Desktop-Enhancements/FancyWM.shtml) \u003c!-- https://web.archive.org/web/20260130081735/https://www.softpedia.com/get/Desktop-Enhancements/Other-Desktop-Enhancements/FancyWM.shtml --\u003e\n\n\u003e \"After you try FancyWM, you may feel like a supreme power user\" - [MakeUseOf](https://www.makeuseof.com/windows-fancywm-guide/) \u003c!-- https://web.archive.org/web/20260130081744/https://www.makeuseof.com/windows-fancywm-guide/ --\u003e\n\n\u003e \"Once you get the hang of it, you'll see how efficient these things can be\" - [ZDNET](https://www.zdnet.com/article/how-i-use-a-tiling-manager-to-make-my-windows-experience-more-efficient/) \u003c!-- https://web.archive.org/web/20260130081754/https://www.zdnet.com/article/how-i-use-a-tiling-manager-to-make-my-windows-experience-more-efficient/ --\u003e\n\n\u003e \"Multi-tasking made easier\" - [XDA Developers](https://www.xda-developers.com/tiling-window-managers-arent-just-linux-these-best-options-windows/) \u003c!-- https://web.archive.org/web/20260130081806/https://www.xda-developers.com/tiling-window-managers-arent-just-linux-these-best-options-windows/ --\u003e\n\n[![Gitter](https://badges.gitter.im/FancyWM/community.svg)](https://gitter.im/FancyWM/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n**FancyWM** is a dynamic tiling window manager for Windows 10/11 that brings the productivity of tiling windows to the Windows desktop - **without complex configuration** and without sacrificing the familiar **mouse-and-keyboard interactions** most users expect.\n\n\u003cimg align=\"right\" src=\"https://store-images.s-microsoft.com/image/apps.53415.14517052119257390.d950e654-2004-4878-b902-94902f8f7a45.af24879e-636a-494c-ba1d-6ff7f858630b?background=transparent\u0026w=175\u0026h=175\u0026format=jpg\"\u003e\n\nInstead of manually arranging overlapping windows, FancyWM automatically organizes your applications into vertical, horizontal and stack panels. Windows flow into the focused panel as they open, resize gracefully when siblings close, and can be rearranged with simple keyboard shortcuts or mouse drag-and-drop. The result is a clutter-free workspace where every application has a deliberate place.\n\n## Why Tiling on Windows?\n\nTiling fundamentally changes how you interact with a desktop. New windows stop overlapping; instead, they automatically claim their space alongside existing windows. Keyboard navigation replaces constant mousing. For developers, researchers, and power users managing multiple applications simultaneously - whether coding with reference docs, multi-tasking across projects, or orchestrating complex workflows - tiling reclaims significant time and cognitive load.\n\nWindows offers Snap Layouts and Virtual Desktops, which are useful, but lack the control and dynamic behavior that tiling provides. FancyWM fills that gap: it's a practical entry point for users curious about tiling without abandoning the Windows ecosystem.\n\n## Core Features\n\n### Panels: Horizontal, Vertical, and Stacked\n\nFancyWM organizes windows into three panel types:\n\nThese panels can be **nested arbitrarily** - a horizontal panel containing vertical sub-panels, with stack panels embedded inside them. Build custom layouts by combining primitives, not by editing configuration files.\n\n### No Configuration Needed\n\nForget predefined layout templates and complex configuration. FancyWM creates layouts as you work. The available keybingins are shown after you press **[⇧ Shift] + [⊞ Win]**.\n\n1. Open your first window - it automatically fills the workspace.\n2. Open a second window - FancyWM creates a horizontal split; both windows now share the space.\n3. Create a vertical panel with `[⇧ Shift]` + `[⊞ Win]`, then `[V]` - the focused window moves into a new vertical panel.\n4. Create a stack panel with `[⇧ Shift]` + `[⊞ Win]`, then `[S]` - windows can now overlap as tabs.\n5. Drag windows between panels, or embed panels into other panels, refining the layout in real-time.\n\n### Hybrid Input: Keyboard and Mouse\n\nFancyWM respects that Windows users value both input methods:\n\nThis balances power-user efficiency with the approachability expected on Windows.\n\n### Layout Constraints\n\nApplications declare minimum and maximum window sizes via the Windows API (`WM_GETMINMAXINFO`). If an application refuses to resize smaller than its declared minimum, FancyWM respects that constraint - windows never shrink below their declared minimums. Dialogs, tooltips, and transient windows are automatically floated (removed from tiling) so they don't interfere with layouts. If a new window would cause your columns to shrink below the minimum size, that window will be automatically floated too.\n\nThe consequence: **No overlapping tiles, no broken layouts** - the tiler adapts to application constraints rather than forcing applications into unsuitable sizes.\n\n### Native Virtual Desktops\n\nFancyWM integrates with Windows' native Virtual Desktops. Jump to desktop 1, 2, or 3 with `[⇧ Shift]` + `[⊞ Win]`, then `[1]`, `[2]`, `[3]`, or move a window to a different desktop with `[⇧ Shift]` + `[⊞ Win]`, `[⇧ Shift]` + `[1]`, `[2]`, `[3]`. Panel layouts can be per-monitor or global - your choice. This fits multi-project workflows: \"Desktop 1 for coding, Desktop 2 for research, Desktop 3 for meetings,\" each with its own panel arrangement.\n\n### Low Resource Footprint\n\nFancyWM runs as a lightweight userland process, not a system service. Typical CPU usage is **\u003c1%** in idle, with optional animation toggles to reduce power consumption on laptops. The C# implementation with .NET runtime is efficient enough for background window management without noticeable system impact.\n\n### Additional Controls\n\n☑ Toggle tiling on/off entirely with `[⇧ Shift]` + `[⊞ Win]`, then `[F11]` to briefly use floating windows\n\n☑ Maximize and restore individual windows without breaking the tiling layout\n\n☑ Auto-collapse single-window panels to reduce visual clutter\n\n☑ Disable animations for battery-conscious workflows\n\n☑ Window focus highlighting (brief blink) for visibility\n\n☑ Customizable keybindings - rebind everything to match your habits\n\n☑ Remap the activation hotkey to `[Ctrl]`+`[Win]` or `[Alt]`+`[Win]` if `[Shift]`+`[Win]` conflicts with other software\n\n## Design Philosophy\n\nFancyWM was built with specific criteria in mind, many of which aren't implemented together elsewhere:\n\nThe result is a tiler that feels like a natural extension of Windows, not a Linux port.\n\n## Two-Pass Layout Algorithm\n\nBehind the scenes, FancyWM uses a two-pass algorithm to calculate window positions:\n\n**Pass 1: Constraint Collection**\nQuery each window's minimum and maximum sizes (via `WM_GETMINMAXINFO`). Identify all panels in the hierarchy and their constraints.\n\n**Pass 2: Position Calculation**\nGiven the panel tree and constraints, calculate pixel positions for each window such that no window is forced below its minimum. If insufficient space exists for all windows at their minimum sizes, FancyWM gracefully degrades - respecting minimums and potentially pushing windows beyond the visible workspace boundary rather than overlapping them.\n\nThe consequence: **Layouts never break due to application constraints.** Each window gets equal space; closing a window simply redistributes that space equally among remaining windows.\n\nBinary Space Partitioning (BSP) divides space recursively into two regions with each split, which can create inefficient layouts or require manual rebalancing. FancyWM's equal-space approach is simpler to reason about and automatically adapts to changing window counts.\n\n## [Downloads](https://github.com/FancyWM/fancywm/releases)\n\nPre-built binaries can be downloaded from [Releases](https://github.com/FancyWM/fancywm/releases).\n\nThese are built by an automated GitHub Action and you can see all of the [build steps](https://github.com/FancyWM/fancywm/blob/main/.github/workflows/dotnet-desktop.yml) and [previous runs](https://github.com/FancyWM/fancywm/actions/workflows/dotnet-desktop.yml).\n\n### Install via winget (Recommended)\n```powershell\nwinget install fancywm\n```\n\n### Install from the Microsoft Store\n\n\u003ca href='//www.microsoft.com/store/apps/9p1741lkhqs9?cid=storebadge\u0026ocid=badge'\u003e\u003cimg src='https://developer.microsoft.com/store/badges/images/English_get-it-from-MS.png' alt='English badge' width=\"138\" height=\"50\"/\u003e\u003c/a\u003e\n\n### Install .msixbundle (Not Recommended)\nYou can test the Microsoft Store packages by installing them using PowerShell.\n\n#### PowerShell (as Administrator)\n```powershell\ncertutil.exe -addstore TrustedPeople .\\FancyWM.Package_1.0.0.0.x64.cer\nAdd-AppxPackage -Path .\\FancyWM.Package_1.0.0.0.x64.msixbundle\n```\n\n## [User's Guide](https://github.com/FancyWM/fancywm/wiki#users-guide)\nHead over to the [Wiki](https://github.com/FancyWM/fancywm/wiki).\n\n## [Issues](https://github.com/FancyWM/fancywm/issues)\nPlease, take the time to report any problems you experience by:\n- Opening an issue on https://github.com/veselink1/fancywm/issues (feature requests also welcome)\nIn case of crashes, please also remember to save and attach the log file produced by the application.\n\n## Building from source\n\nClone this repo, including submodules.\n\n```bash\ngit clone --recursive https://github.com/FancyWM/fancywm.git\n```\n\nOpen the .sln file with Visual Studio 2022 and build the FancyWM project.\n\n## WinMan \u0026 WinMan.Windows\nFancyWM is based on [WinMan](https://github.com/veselink1/winman) and [WinMan.Windows](https://github.com/veselink1/winman-windows).\n\n## Screenshots\n\u003cimg src=\"https://store-images.s-microsoft.com/image/apps.47394.14517052119257390.5224238b-c5af-4852-a39a-2732c3935e69.60fa12a6-ac5a-47cb-9501-2ca7964d972d?w=1280\u0026h=720\u0026q=90\u0026mode=letterbox\u0026format=jpg\" width=\"640\"\u003e\nLight theme, Vertical panel on the left\n\n---\n\n\u003cimg src=\"https://store-images.s-microsoft.com/image/apps.11856.14517052119257390.5224238b-c5af-4852-a39a-2732c3935e69.81bfbc4c-0b20-4b1e-a1b5-b8e6fa13f8a6?w=1280\u0026h=720\u0026q=90\u0026mode=letterbox\u0026format=jpg\" width=\"640\"\u003e\nDark theme, Vertical panel on the left, Stack panel with 3 VS Code windows on the right\n\n---\n\n\u003cimg src=\"https://store-images.s-microsoft.com/image/apps.11856.14517052119257390.5224238b-c5af-4852-a39a-2732c3935e69.81bfbc4c-0b20-4b1e-a1b5-b8e6fa13f8a6?w=1280\u0026h=720\u0026q=90\u0026mode=letterbox\u0026format=jpg\" width=\"640\"\u003e\nVertical panel on the left, Edge in the middle, Vertical panel on the right\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffancywm%2Ffancywm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffancywm%2Ffancywm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffancywm%2Ffancywm/lists"}