{"id":13575783,"url":"https://github.com/FT-Labs/pdwm","last_synced_at":"2025-04-04T23:30:39.528Z","repository":{"id":37686242,"uuid":"456289566","full_name":"FT-Labs/pdwm","owner":"FT-Labs","description":"full animation supported, easy configurable (uses shared library) dwm fork with a control center (pdwmc)","archived":false,"fork":false,"pushed_at":"2024-07-02T17:44:35.000Z","size":46370,"stargazers_count":415,"open_issues_count":3,"forks_count":17,"subscribers_count":10,"default_branch":"pdwm","last_synced_at":"2024-11-05T11:43:55.661Z","etag":null,"topics":["coolui","dwm","linux","suckless","windowmanager"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FT-Labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2022-02-06T22:33:46.000Z","updated_at":"2024-11-05T08:23:28.000Z","dependencies_parsed_at":"2024-11-05T11:51:31.349Z","dependency_job_id":null,"html_url":"https://github.com/FT-Labs/pdwm","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FT-Labs%2Fpdwm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FT-Labs%2Fpdwm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FT-Labs%2Fpdwm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FT-Labs%2Fpdwm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FT-Labs","download_url":"https://codeload.github.com/FT-Labs/pdwm/tar.gz/refs/heads/pdwm","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266474,"owners_count":20910831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["coolui","dwm","linux","suckless","windowmanager"],"created_at":"2024-08-01T15:01:04.148Z","updated_at":"2025-04-04T23:30:38.965Z","avatar_url":"https://github.com/FT-Labs.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"### pdwm \u0026 phyOS-dwm\n#### pdwm \u0026 phyOS-dwm are both suckless dwm forks. Both of them are in this repo, please read below to understand why. Also note that dwmblocks is embedded in this project, you don't need to download it from somewhere else.\n#### For full animation support, please install ``` phyOS-picom ``` fork. Any other picom fork won't work.\n#### phyOS-dwm is the oldest master branch of this project. This has been changed to pdwm branch. phyOS-dwm is just modified suckless dwm, with dwmblocks in it. Please note that this dwmblocks uses libconf library, which you can add/remove statusbar blocks with .cfg files. Also more than 10 statusbar blocks available for phyOS users. However, all of these can be installed on base arch linux too. Statusbar configuration can be made easily with ``` pOS-make-bar ``` script.\n#### Settings button on top left (blue one) will open up a terminal application, which you can choose powermenu themes - colorschemes, and animation options from there. It also has some extra scripts in it to make your statusbar, choose sddm \u0026 grub themes.\n### Gifs\n\n![alt text](https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/g1.gif)\n![alt text](https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/g2.gif)\n\n### Screenshots\n(Alt + Tab to switch windows)\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/s1.png\"\u003e\n(Hide and restore windows from bottom dock (Check keys for how to do this))\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/s2.png\"\u003e\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/s3.png\"\u003e\n(catppuccin \u0026 tokyo night theme)\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/s4.png\"\u003e\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/s5.png\"\u003e\n(Power menu 'right one is to renew dwm without restart')\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-dwm/blob/screenshots/screenshots/s6.png\"\u003e\n#### Why the change? What is pdwm?\nOriginally, dwm configuration options are compiled into a single binary. Therefore, to be able to change any attribute you need to edit configuration file and recompile it into dwm again. With pdwm, this changes. Since dwm is supposed to be minimalistic and performant, simply putting a configuration library to handle these options doesn't make sense. It will increase SLOC a lot. To overcome this issue, another simple method has been made:\nAll of the configuration variables in dwm (nearly everything, except some edge cases) have been marked as extern variables. In ``` pdwm ``` folder, you can see all the configuration options. These options are made a shared library (.so). With this flexibility, and minor lines of code, at the execution stage of dwm, all of the variables are being loaded into dwm from an outside source, which is the shared library. This way, by just compiling the variables and renewing dwm, all options have been renewed. Without even using ``` sudo ```.\nNote that from now on, mostly pdwm will get updated. However, the older fork, phyOS-dwm is still available on master branch. This is much of a choice now, choose whatever you prefer.\nThe tool to configure dwm is a python program, which is called ``` pdwmc ```. It is the main control center of pdwm.\nLink: https://github.com/FT-Labs/pdwmc\n#### pdwm Usage\n**IMPORTANT**: Please extend your \"LD_LIBRARY_PATH\" to this location:\nE.G: ``` export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH:$HOME/.config/phyos/pdwm\" ```\nYou must do this, because fallback library will be in /usr/lib. Your local configurations (.so) file will be stored here, and you must extend it to this place for linux ld linker to be able to see it.\nAs said before pdwm is a simple python program. It both has support for changing/printing any configuration options from terminal, or via QT app. Now lets get on with options.\n```\nusage: pdwmc [-h] [-w] [-b] [-g] [-s {appearance,buttons,keys,rules}]\n            [-c {appr,font,button,key,rule}] [-a {font,button,key,rule}]\n            [-d {font,button,key,rule}] [-q]\n\noptions:\n  -h, --help            show this help message and exit\n  -w, --write           Write current dwm configuration to edit [Use this before to\n                        edit dwm configuration] or reset your changes\n  -b, --build           Save changes to dwm\n  -g, --get             Get default dwm settings (overrides current) to use pdwm,\n                        also runs -w flag\n  -s {appearance,buttons,keys,rules}, --show {appearance,buttons,keys,rules}\n  -c {appr,font,button,key,rule}, --change {appr,font,button,key,rule}\n                        Choose and change attribute\n  -a {font,button,key,rule}, --add {font,button,key,rule}\n                        Add new attribute\n  -d {font,button,key,rule}, --delete {font,button,key,rule}\n                        Delete an attribute\n  -q, --qt              Run pdwm as a QT application\n  ```\n  If you prefer a gui application, just run ``` pdwmc -q ```. It is a simple and editable QT app, also catches your keypresses, which will save you some time from learning keysym's from internet. If key is not detected, simply find it from google and edit the key.\n### pdwmc screenshots\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-iso/blob/images/pdwmc/pdwmc-1.png\"\u003e\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-iso/blob/images/pdwmc/pdwmc-2.png\"\u003e\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-iso/blob/images/pdwmc/pdwmc-3.png\"\u003e\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-iso/blob/images/pdwmc/pdwmc-4.png\"\u003e\n\u003cimg src=\"https://github.com/FT-Labs/phyOS-iso/blob/images/pdwmc/pdwmc-5.png\"\u003e\n\n### To be able to install these, please follow the steps below. Also if interested, you can download iso image to a vm, build it then update to system to be able to try.\n#### These explanations are only for arch linux based distributions (any pacman using distro is okay). There are important dependencies, which I could not find all packages to fit all distributions. Later on a debian package version may come too.\n\nAppend package repo end of your `/etc/pacman.conf` :\n\n    [phyOS-repo]\n    SigLevel = Required DatabaseOptional\n    Server = https://FT-Labs.github.io/$repo/$arch\n\nAfter adding the repo, install keyring first:\n\n    sudo pacman-key --recv-key 964FD85861C858D7\n    sudo pacman-key --lsign-key 964FD85861C858D7\n    sudo pacman -Syy phyOS-keyring\n    sudo pacman-key --init\n    sudo pacman-key --populate phyOS\nNow install necessary packages (This will install most of the phyOS packages, if you which packages to choose simply install them, this is a general guide):\n``` sudo pacman -Syy ```\n``` curl https://raw.githubusercontent.com/FT-Labs/phyOS-Aug-22/master/packages.x86_64 | sed -e '/\\#/d' | tr -s \"\\n\" | xargs sudo pacman -S --noconfirm ```\nAfter the installation, please reboot your computer. Now you will need dotfiles, please move your current dots to somewhere else if they are important.\nRun: ``` phyup dots --force ``` to get latest dotfiles. This is required to set your .xinitrc, .xprofile and picom options etc. correctly. Anyway, if you want you can just check dotfiles repo and choose whatever is required from there.\npdwm Packages: pdwm pdwmc\nphyOS-dwm (classic compiled dwm) packages: phyOS-dwm\n\n#### Running:\nSimply run startx from tty, or use a display manager. Desktop file is automatically made and installed.\n\n### NOTE: \u003ckbd\u003eCaps Lock\u003c/kbd\u003e == \u003ckbd\u003eWin\u003c/kbd\u003e\n### NOTE: \u003ckbd\u003eCaps Lock\u003c/kbd\u003e is also equal to \u003ckbd\u003eESC\u003c/kbd\u003e in terminal (vim etc..)\n\n## Program Keys (man dwm will work too, or try keys sheet):\n\n\u003cdiv align=\"center\"\u003e\n\nKey Combination | Action\n----------------- | ----------\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eq\u003c/kbd\u003e          | Quit focused\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eReturn\u003c/kbd\u003e          | Terminal(st)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eESC\u003c/kbd\u003e   | Power menu\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eReturn\u003c/kbd\u003e  | Scratchpad (Terminal) [Press again to toggle]\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ew\u003c/kbd\u003e   | $BROWSER(default ungoogled chromium)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003er\u003c/kbd\u003e   | File Browser (lf)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ea\u003c/kbd\u003e   | Execute Applications (rofi)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eb\u003c/kbd\u003e   | Toggle status bar (hide)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ed\u003c/kbd\u003e   | Jump to directory with terminal (check 'bm' script to add bookmarks)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ea\u003c/kbd\u003e   | Execute Any Runnable (dmenu)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ep\u003c/kbd\u003e   | passmenu (pass password manager)\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003ep\u003c/kbd\u003e   | stress test and monitor (s-tui)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eF4\u003c/kbd\u003e   | pulsemixer (audio input)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eF5\u003c/kbd\u003e   | set multiple monitors and choose refresh rate\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eF9\u003c/kbd\u003e   | mount drive\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eF10\u003c/kbd\u003e   | unmount drive\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eF11\u003c/kbd\u003e   | Camera\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003es\u003c/kbd\u003e  | Screenshot (choose area or screen)\n \u003ckbd\u003ePrintscreen\u003c/kbd\u003e   | Screenshot fullscreen\n \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ePrintscreen\u003c/kbd\u003e   | Screenshot (choose area or screen)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003e\\`\u003c/kbd\u003e   | Choose emoji and copy\n\n\u003c/div\u003e\n\u003cdiv\u003e\n\n## Terminal keybinds\n\n\u003cdiv align=\"center\"\u003e\n\nKey Combination | Action\n----------------- | ----------\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ej\u003c/kbd\u003e     | Decrease font size (zoom -)\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ek\u003c/kbd\u003e     | Increase font size (zoom +)\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eo\u003c/kbd\u003e      | Copy output of command\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e;\u003c/kbd\u003e      | Cycle fonts\n\n\u003c/div\u003e\n\u003cdiv\u003e\n\n\n## Window Movement\n\n\u003cdiv align=\"center\"\u003e\n\nKey Combination | Action\n----------------- | ----------\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eTab\u003c/kbd\u003e          | Choose window from current desktop\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eTab\u003c/kbd\u003e          | Choose any window and focus\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ej\u003c/kbd\u003e          | Focus next\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ej\u003c/kbd\u003e          | Move focused to next\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ek\u003c/kbd\u003e          | Focus previous\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ek\u003c/kbd\u003e          | Move focused to previous\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003el\u003c/kbd\u003e          | Resize master +\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eh\u003c/kbd\u003e          | Next Tag\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eh\u003c/kbd\u003e          | Resize master -\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eh\u003c/kbd\u003e          | Previous Tag\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003es\u003c/kbd\u003e          | Sticky window toggle (show window in all tags)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ef\u003c/kbd\u003e          | Fullscreen (toggle)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eg\u003c/kbd\u003e          | Toggle gaps\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003ex\u003c/kbd\u003e          | Decrease gaps\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ex\u003c/kbd\u003e          | Increase gaps\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eg\u003c/kbd\u003e          | Set default gaps\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003em\u003c/kbd\u003e          | Increase master (just try it to understand)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003em\u003c/kbd\u003e          | Decrease master (just try it to understand)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eSpace\u003c/kbd\u003e          | Set focused as master\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eSpace\u003c/kbd\u003e          | Toggle floating window\n\n\u003c/div\u003e\n\u003cdiv\u003e\n\n\n## Layouts\n\n### You can Right Click \u003ckbd\u003eRMB\u003c/kbd\u003e on ' []= ' in status bar to choose layout with mouse\n\n\u003cdiv align=\"center\"\u003e\n\nKey Combination | Action\n----------------- | ----------\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e1\u003c/kbd\u003e          | Tiling (Default)\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e2\u003c/kbd\u003e          | Backstack\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e3\u003c/kbd\u003e          | Monocle (windows top of each)\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e4\u003c/kbd\u003e          | Deck layout\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e5\u003c/kbd\u003e          | Spiral\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e6\u003c/kbd\u003e          | Dwindle\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e7\u003c/kbd\u003e          | Centered master\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e8\u003c/kbd\u003e          | Centered floating master\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e9\u003c/kbd\u003e          | Floating (windows 10 style)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eRight\u003c/kbd\u003e          | Cycle layout next\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eLeft\u003c/kbd\u003e          | Cycle layout previous\n\n\u003c/div\u003e\n\u003cdiv\u003e\n\n\n## Tag operations\n\n### You can Left Click \u003ckbd\u003eLMB\u003c/kbd\u003e on 1-9 in status bar to focus tag\n### You can Right Click \u003ckbd\u003eRMB\u003c/kbd\u003e on 1-9 in status bar to select multiple tags\n\n\u003cdiv align=\"center\"\u003e\n\nKey Combination | Action\n----------------- | ----------\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003e1\u003c/kbd\u003e .. \u003ckbd\u003e9\u003c/kbd\u003e          | Go to tag **number**\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eWheelUp\u003c/kbd\u003e           | Go to next tag\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eWheelDown\u003c/kbd\u003e           | Go to previous tag\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003e1\u003c/kbd\u003e .. \u003ckbd\u003e9\u003c/kbd\u003e          | Send focused window to tag **number**\n\n\u003c/div\u003e\n\u003cdiv\u003e\n\n\n## Utility keys\n\n\u003cdiv align=\"center\"\u003e\n\nKey Combination | Action\n----------------- | ----------\n \u003ckbd\u003eSound Up\u003c/kbd\u003e        | Increase sound\n \u003ckbd\u003eSound Down\u003c/kbd\u003e        | Decrease sound\n \u003ckbd\u003eBrightness Down\u003c/kbd\u003e        | Decrease brightness\n \u003ckbd\u003eBrightness Up\u003c/kbd\u003e        | Increase brightness\n \u003ckbd\u003efn\u003c/kbd\u003e + \u003ckbd\u003eTouchpadToggle\u003c/kbd\u003e | Toggle touchpad\n \u003ckbd\u003efn\u003c/kbd\u003e + \u003ckbd\u003eKbd Backlight Up\u003c/kbd\u003e | Increase keyboard backlight\n \u003ckbd\u003efn\u003c/kbd\u003e + \u003ckbd\u003eKbd Backlight Down\u003c/kbd\u003e | Decrease keyboard backlight\n\n\u003c/div\u003e\n\u003cdiv\u003e\n\n## Mouse actions\n\n\u003cdiv align=\"center\"\u003e\n\nKey Combination | Action\n----------------- | ----------\n \u003ckbd\u003eRMB\u003c/kbd\u003e                      | Open Dropdown Menu (On Root Window)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eRMB\u003c/kbd\u003e     | Open Dropdown Menu (On Any Client)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eLMB\u003c/kbd\u003e     | Move window with mouse (sets window to floating mode)\n \u003ckbd\u003eWin\u003c/kbd\u003e + \u003ckbd\u003eMMB\u003c/kbd\u003e     | Resize window with mouse (sets window to floating mode)\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eLMB\u003c/kbd\u003e | Hide focused window (iconic state, restore it from dock)\n \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eRMB\u003c/kbd\u003e | Toggle dock\n\n\u003c/div\u003e\n\u003cdiv\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFT-Labs%2Fpdwm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFT-Labs%2Fpdwm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFT-Labs%2Fpdwm/lists"}