{"id":24113810,"url":"https://github.com/saloniamatteo/dwm","last_synced_at":"2025-09-18T02:33:11.042Z","repository":{"id":95243292,"uuid":"315008489","full_name":"saloniamatteo/dwm","owner":"saloniamatteo","description":"Matteo Salonia's build of dwm + dwmblocks + slock + included scripts","archived":false,"fork":false,"pushed_at":"2025-02-11T07:54:11.000Z","size":13675,"stargazers_count":38,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T09:01:31.515Z","etag":null,"topics":["dwm","dwm-config","dwm-configuration","dwm-dwmblocks","dwm-rice","dwm-suckless","dwm-systray","dwmblocks","slock","suckless","systray"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saloniamatteo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":"saloniamatteo","custom":["https://salonia.it/donate","https://paypal.me/saloniamatteo"]}},"created_at":"2020-11-22T10:13:09.000Z","updated_at":"2025-02-11T07:54:16.000Z","dependencies_parsed_at":"2025-01-20T14:29:00.056Z","dependency_job_id":"b4e3ca7e-daea-4ce3-af8d-a5922e8e2790","html_url":"https://github.com/saloniamatteo/dwm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saloniamatteo/dwm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saloniamatteo%2Fdwm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saloniamatteo%2Fdwm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saloniamatteo%2Fdwm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saloniamatteo%2Fdwm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saloniamatteo","download_url":"https://codeload.github.com/saloniamatteo/dwm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saloniamatteo%2Fdwm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275697301,"owners_count":25511595,"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","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dwm","dwm-config","dwm-configuration","dwm-dwmblocks","dwm-rice","dwm-suckless","dwm-systray","dwmblocks","slock","suckless","systray"],"created_at":"2025-01-11T04:40:17.221Z","updated_at":"2025-09-18T02:33:11.000Z","avatar_url":"https://github.com/saloniamatteo.png","language":"C","funding_links":["https://github.com/sponsors/saloniamatteo","https://salonia.it/donate","https://paypal.me/saloniamatteo"],"categories":[],"sub_categories":[],"readme":"# Matteo Salonia's dwm\nThis is my personalised build of [dwm](https://dwm.suckless.org) **6.5**.\n\nI applied several quality-of-life patches, as well as some fixes here and there. Note that some of these patches may not apply correctly for a new dwm build, and may need to patch them yourself.\n\nNOTE: to apply the `statuscmd` patch, I had to modify `dwm.c`, in particular the `drawbar()` function: since the patch does not account for the systray, I had to make space for it, otherwhise `dwmblocks` would draw under it.\n\n## Donate\nSupport this project: [salonia.it/donate](https://salonia.it/donate)\n\n## Screenshots\n![1](Screenshots/1.png)\n![2](Screenshots/2.png)\n![3](Screenshots/3.png)\n\n## Getting started\nTo get started, compile dwm:\n\n```bash\ncd dwm\nmake\nsudo make install\n```\n\nIt will be available under `/usr/local/bin/dwm`.\n\n## dwmblocks\nThis repo also contains my build of dwmblocks.\n\nTo obtain the scripts, you can:\n- Get them from my [dotfiles](https://github.com/saloniamatteo/dotfiles) repo, under `scripts/.local/bin`\n- Pull the `dotfiles` submodule, which links to the repo above.\n\nThe other scripts (`scripts/.config/scripts`) are launched by dwm, not dwmblocks.\n\n## slock\nThis repo also contains my build of slock.\n\n![slock](Screenshots/slock.jpg)\n![slock-typing](Screenshots/slock-typing.jpg)\n![slock-err](Screenshots/slock-err.jpg)\n\nThe following patches have been applied:\n  - slock-capscolor-20220921-35633d4\n  - slock-colormessage-20200210-35633d4\n  - slock-dpms-20231017-4f04554\n  - slock-dwmlogoandblurscreen-1.0\n  - slock-git-20161012-control-clear\n  - slock-mediakeys-1.4\n\nThese patches make slock more user-friendly, allowing us to show a message,\nas well as updating the bg color whenever a key is pressed, showing\nwhether it's the caps-lock, shift, or any other.\n\nIn addition, the monitor is automatically blanked after 30 seconds.\n\n## libXft-bgra \u0026 fonts\nGlyph support in libXft was [finally fixed](https://gitlab.freedesktop.org/xorg/lib/libxft/-/merge_requests/12)\nin 2022, after two and a half years. Better late than never?\n\nIt is not necessary anymore to manually patch libXft. Yay!\n\n### Fonts\nWe need to set fallback fonts, otherwise things will get ugly.\n\nMake sure you have at least one of the following fonts.\n- Serif \u0026 Sans-serif: IBM Plex, Iosevka\n- Emojis: JoyPixels, Noto Color Emoji\n\nYou can choose whichever you like most.. or choose all of them!\n\nModify `.config/fontconfig/fonts.conf`, and add the following:\n\n```xml\n\u003c?xml version='1.0'?\u003e\n\u003c!DOCTYPE fontconfig SYSTEM 'fonts.dtd'\u003e\n\u003cfontconfig\u003e\n \u003calias\u003e\n  \u003cfamily\u003eserif\u003c/family\u003e\n  \u003cprefer\u003e\n   \u003cfamily\u003eIBM Plex Serif\u003c/family\u003e\n   \u003cfamily\u003eIosevka\u003c/family\u003e\n   \u003cfamily\u003eJoyPixels\u003c/family\u003e\n   \u003cfamily\u003eNoto Color Emoji\u003c/family\u003e\n  \u003c/prefer\u003e\n \u003c/alias\u003e\n \u003calias\u003e\n  \u003cfamily\u003esans-serif\u003c/family\u003e\n  \u003cprefer\u003e\n   \u003cfamily\u003eIBM Plex Sans\u003c/family\u003e\n   \u003cfamily\u003eIosevka\u003c/family\u003e\n   \u003cfamily\u003eJoyPixels\u003c/family\u003e\n   \u003cfamily\u003eNoto Color Emoji\u003c/family\u003e\n  \u003c/prefer\u003e\n \u003c/alias\u003e\n \u003calias\u003e\n  \u003cfamily\u003esans\u003c/family\u003e\n  \u003cprefer\u003e\n   \u003cfamily\u003eIBM Plex Sans\u003c/family\u003e\n   \u003cfamily\u003eIosevka\u003c/family\u003e\n   \u003cfamily\u003eJoyPixels\u003c/family\u003e\n   \u003cfamily\u003eNoto Color Emoji\u003c/family\u003e\n  \u003c/prefer\u003e\n \u003c/alias\u003e\n \u003calias\u003e\n  \u003cfamily\u003emonospace\u003c/family\u003e\n  \u003cprefer\u003e\n   \u003cfamily\u003eIBM Plex Mono\u003c/family\u003e\n   \u003cfamily\u003eIosevka Term\u003c/family\u003e\n  \u003c/prefer\u003e\n \u003c/alias\u003e\n \u003cdir\u003e~/.fonts\u003c/dir\u003e\n\u003c/fontconfig\u003e\n```\n\nThis will set the following font preferences:\n- Serif: IBM Plex Serif, Iosevka, JoyPixels, Noto Color Emoji\n- Sans Serif: IBM Plex Sans, Iosevka, JoyPixels, Noto Color Emoji\n- Sans: IBM Plex Sans, Iosevka, JoyPixels, Noto Color Emoji\n- Monospace: IBM Plex Mono, Iosevka Term\n\n## Keybindings\nThe default action key is the \u003ckbd\u003eALT\u003c/kbd\u003e key.\n\nThe Shift key will be referred to as \u003ckbd\u003eS\u003c/kbd\u003e.\n\nThe Super key (also known as \"windows\" key) will be referred to as \u003ckbd\u003eWIN\u003c/kbd\u003e.\n\n### Actions\n- Toggle statusbar: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eb\u003c/kbd\u003e\n- Make window fullscreen: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ef\u003c/kbd\u003e\n- Kill client: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ec\u003c/kbd\u003e\n- Restart dwm: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003er\u003c/kbd\u003e\n- Quit dwm: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eq\u003c/kbd\u003e\n\n### Layouts\n- Tile layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003et\u003c/kbd\u003e\n- Monocle layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003et\u003c/kbd\u003e\n- Spiral layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ey\u003c/kbd\u003e\n- Dwindle layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ey\u003c/kbd\u003e\n- Deck layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eu\u003c/kbd\u003e\n- Bstack layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eu\u003c/kbd\u003e\n- Bstack-horiz layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ei\u003c/kbd\u003e\n- Grid layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ei\u003c/kbd\u003e\n- Nrowgrid layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eo\u003c/kbd\u003e\n- Horizontal grid layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eo\u003c/kbd\u003e\n- Gapless grid layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ep\u003c/kbd\u003e\n- Centeredmaster layout: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ep\u003c/kbd\u003e\n- Make window floating: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eSPACE\u003c/kbd\u003e\n\n### Gaps\n- Toggle gaps: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003e0\u003c/kbd\u003e\n- Reset gaps: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003e0\u003c/kbd\u003e\n- Increase gaps: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003e1\u003c/kbd\u003e\n- Decrease gaps: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003e1\u003c/kbd\u003e\n\nAll the other keybindings can be found in `config.h`.\n\n### Window actions\n- Move window left: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eh\u003c/kbd\u003e\n- Move window down: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ej\u003c/kbd\u003e\n- Move window up: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ek\u003c/kbd\u003e\n- Move window right: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003el\u003c/kbd\u003e\n- Decrease window width: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eh\u003c/kbd\u003e\n- Increase window width: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003el\u003c/kbd\u003e\n- Focus window down/clockwise: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ej\u003c/kbd\u003e\n- Focus window up/anti-clockwise: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ek\u003c/kbd\u003e\n\nAll the other keybindings can be found in `config.h`.\n\n### Tags\n- Toggle scratchpad: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003e0\u003c/kbd\u003e\n- Go to last tag: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eTAB\u003c/kbd\u003e.\n- Go to tag `x`: \u003ckbd\u003eALT\u003c/kbd\u003e`x` (`x` is a value between `1` and `9`)\n- Move selected window to tag `x`: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ex\u003c/kbd\u003e.\n\n### Programs\n- Terminal (`/usr/local/bin/st`): \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eENTER\u003c/kbd\u003e\n- Terminal in scratchpad: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eENTER\u003c/kbd\u003e\n- Rofi: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ed\u003c/kbd\u003e\n- Dmenu: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ed\u003c/kbd\u003e\n- File manager (`dolphin`): \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ef\u003c/kbd\u003e\n- Web browser (`librewolf-bin`): \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eW\u003c/kbd\u003e\n\n### Others\nThe \"Print screen\" key is referred to as \u003ckbd\u003ePrntScr\u003c/kbd\u003e.\n\n- Take a screenshot: \u003ckbd\u003ePrntScr\u003c/kbd\u003e\n- Select area to screenshot: \u003ckbd\u003eALT\u003c/kbd\u003e\u003ckbd\u003ePrntScr\u003c/kbd\u003e\n\nThe screenshot will be taken using `scrot`, saving it under `$HOME/Pictures`.\n\nSome XF86 action keys are already mapped, so your keyboard's audio \u0026 brightness controls should work without any issues. Audio controls use `pactl`, while brightness controls use `xbacklight`.\n\nNOTE: on Gentoo, the `XF86keysym.h` header (required for XF86 keys to work) is provided by the package `xorg-proto`.\n\n### Scripts\nNOTE: to launch these scripts, or even add your own, make sure you setup the correct directory! In `config.h`, look for `S_PATH`, which is set to `.config/scripts` by default. Change it only if the path to the scripts is different! You do not need to specify your home directory.\n\nIf you have any doubts, just inspect the scripts yourself.\n\nNOTE 2: `TERMCMD` (which is `/usr/local/bin/st` by default) will be used to launch these scripts. Change it if your path is different, or you want to use a different terminal! (Example: `urxvt`)\n\nTo use the `set-fan` script, you need a ThinkPad. Even then, you need to configure `thinkpad_acpi` to allow writing custom fan speeds to `/proc/acpi/ibm/fan`. This is well explained [here](https://github.com/saloniamatteo/tp-xfan#requirements). Use your own script/program if you don't.\n\nTo use the `screenlock` script, you need `slock`.\n\nTo use the `screenrecord` script, you need `ffmpeg`. No, OBS is not used.\n\nTo use the `toggletouchpad` script, make sure you have a `synaptics` file in `/etc/X11/xorg.conf.d`! If you don't, you can copy one from your distro's defaults:\n\n```bash\ncp /usr/share/X11/xorg.conf.d/*0-synaptics.conf /etc/X11/xorg.conf.d/\n```\n\nTo use the `randomwall-now` script, you need `hsetroot`. Wallpapers will be loaded from `~/wallpapers`.\n\nThe `randomwall` script, which is included but not ran by dwm, will set a random wallpaper immediately, and change it every 3 minutes. This script will run indefinitely.\n\n- Detect and select displays: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003ed\u003c/kbd\u003e\n- Set fan speed: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003ef\u003c/kbd\u003e\n- Move mouse automatically, periodically: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003ei\u003c/kbd\u003e\n- Lock the screen: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003el\u003c/kbd\u003e\n- Mount drives: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003em\u003c/kbd\u003e\n- Record the screen: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003er\u003c/kbd\u003e\n- Toggle touchpad: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003et\u003c/kbd\u003e\n- Unmount drives: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eu\u003c/kbd\u003e\n- Set random wallpaper: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003ew\u003c/kbd\u003e\n- Safe mode: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eb\u003c/kbd\u003e\n- Emoji chooser: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003ee\u003c/kbd\u003e\n- Script launcher: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003el\u003c/kbd\u003e\n- Set a reminder: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003er\u003c/kbd\u003e\n- See disk usage: \u003ckbd\u003eWIN\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eu\u003c/kbd\u003e\n- Downloader: \u003ckbd\u003eXF86Search\u003c/kbd\u003e (\"Search\" icon on your keyboard)\n\n## Patches\nHere the patches are explained in more detail.\n\nThe following patches are applied:\n  - `dwm-alpha-systray-6.3_full`\n  - `dwm-centeredsizehints-6.5`\n  - `dwm-cfacts-vanitygaps-6.5_full`\n  - `dwm-dragmfact-6.5`\n  - `dwm-focusfollowmouse-6.5`\n  - `dwm-inplacerotate-6.2`\n  - `dwm-netclientliststacking-6.5`\n  - `dwm-placemouse-6.5`\n  - `dwm-r1615-selfrestart`\n  - `dwm-resizecorners-6.3`\n  - `dwm-rulerefresher-6.2`\n  - `dwm-scratchpad-20240321-061e9fe`\n  - `dwm-sortscreens-6.5`\n  - `dwm-statuscmd-20210405-67d76bd`\n  - `dwm-swallow-6.5`\n  - `dwm-togglefullscreen-6.5`\n  - `dwm-xresources-6.2`\n\n### dwm-alpha-systray-6.3_full\nAdd translucent bars to dwm, while also adding a system tray (systray).\n\nPatch downloaded from [bakkeby]\n\n### dwm-centeredsizehints-6.5\nCenter clients based on size hints.\n\nPatch downloaded from [bakkeby]\n\n### dwm-cfacts-vanitygaps-6.5_full\nMake windows resizeable (cfacts), and add inner \u0026 outer gaps (vanitygaps).\n\nPatch downloaded from [bakkeby]\n\n### dwm-dragmfact-6.5\nResize windows with the mouse.\n\nPatch downloaded from [bakkeby]\n\n### dwm-focusfollowmouse-6.5\nFocus follows the mouse\n\nPatch downloaded from [bakkeby]\n\n### dwm-inplacerotate-6.2\nMove windows up/down the stack\n\nPatch downloaded from [suckless]\n\n### dwm-netclientliststacking-6.5\nAdd the _NET_CLIENT_LIST_STACKING property which may be needed by some applications, for example \"zoom\" for screen sharing\n\nPatch downloaded from [bakkeby]\n\n### dwm-placemouse-6.5\nMove window onto another window's location, effectively \"swapping\" their position and sizes.\n\nPatch downloaded from [bakkeby]\n\n### dwm-r1615-selfrestart\nRestart dwm in place.\n\nNOTE: this patch has been modified so that `dwm` **always** fetches the new executable from `/usr/local/bin/dwm`.\nIf you modified `PREFIX` in `config.mk`, make sure you also modify `DWM_PATH` in `selfrestart.c`:\n\n```c\n// Where the dwm executable lives\n// Change this if you change PREFIX in config.mk!\n#define DWM_PATH \"/usr/local/bin/dwm\"\n```\n\nPatch downloaded from [suckless]\n\n### dwm-resizecorners-6.3\nResize window from the nearest corner, instead of warping the mouse to the bottom-right corner of the window. (NOTE: this was chosen instead of resizepoint because of several patching issues)\n\nPatch downloaded from [suckless]\n\n### dwm-rulerefresher-6.2\nThis patch reruns the defined rules on a window name change. Every zoom window has the same name at creation und changes it afterwards. That renders different rules for different Zoom windows useless. With this patch the rules are reapplied after the rename.\n\nPatch downloaded from [suckless]\n\n### dwm-scratchpad-20240321-061e9fe\nSpawn a terminal in the scratchpad, and toggle the scratchpad.\n\nPatch downloaded from [suckless]\n\n### dwm-sortscreens-6.5\nMulti-monitor fixes\n\nPatch downloaded from [bakkeby]\n\n### dwm-statuscmd-20210405-67d76bd\nSignaling for dwmblocks, also fixes weird `[]` shapes\n\nPatch downloaded from [suckless]\n\n### dwm-swallow-6.5\nSwallow terminal windows\n\nPatch downloaded from [bakkeby]\n\n### dwm-togglefullscreen-6.5\nToggle fullscreen\n\nPatch downloaded from [bakkeby]\n\n[bakkeby]: https://github.com/bakkeby/patches\n[suckless]: https://dwm.suckless.org/patches\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaloniamatteo%2Fdwm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaloniamatteo%2Fdwm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaloniamatteo%2Fdwm/lists"}