neodotfiles/README.md

148 lines
4.4 KiB
Markdown
Raw Normal View History

2024-03-28 21:00:58 +00:00
<h1 align="center">
2024-03-28 21:03:47 +00:00
<img src="dwm.png" alt="dwm" width="200">
2024-03-28 21:00:58 +00:00
</h1>
<h4 align="center">My custom build of the blazing fast and amazing <a href="https://dwm.suckles.org" target="_blank">dwm</a> tiling window manager, made for absolute productivity and workflow control.</h4>
![screenshot](./screenshot.png)
## Key Features
2024-03-28 21:40:01 +00:00
* **A bunch of extra layouts**
2024-03-28 21:00:58 +00:00
- *Default ones:*
- master & stack.
- floating.
- monocle
- *Added ones:*
- dwindle.
- spiral.
- centered master (also known as three column).
- centered floating master (master window floating at the center of the screen, stack on the back).
- grid.
2024-03-28 21:40:01 +00:00
* **Keychord based keybindings:** Just like emacs, you can have chained keybindings, which exponentially extends the amount of keybindings you can have.
* **Scratchpad support:** Convenient scratchpad functionality for storing and retrieving frequently used applications.
* **Tag based workflow**
2024-03-28 21:00:58 +00:00
- Each tag (also called workspaces) is meant to have it's purpose, this is achieved with an extensive set of window rules:
- *Tag 1:* Coding
- *Tag 2:* Testing
- *Tag 3:* Web browsing
- *Tag 4:* Chatting
- *Tag 5:* Audio tools
- *Tag 6:* Video tools
- *Tag 7:* Graphic tools
- *Tag 8:* Office & Document tools
- *Tag 9:* Gaming
2024-03-28 21:40:01 +00:00
* **Other suckless utilities included**
- *dmenu:* the best run launcher. This build includes some very useful scripts for things like wifi, bluetooth and wallpaper configuration, drive mounting, etc.
- *herbe & tiramisu:* a minimal and fast notification daemon (tiramisu is the daemon, herbe is the notification window).
- *st:* the fastest terminal emulator ever, [siduck's build](https://github.com/siduck/st).
- *slock:* simple and efficient lock screen with fingerprint reader support.
- *dwbmlocks:* what enables you to customize dwm's status area in the bar. This build includes some cool & customizable status scripts.
2024-03-28 21:00:58 +00:00
## Installation & How To Modify
Make sure to have these dependencies installed in your system:
2024-03-28 21:40:01 +00:00
* **Build dependencies**
2024-03-28 21:00:58 +00:00
```
libX11-devel
libXft-devel
libXrender-devel
libXinerama-devel
2024-03-28 21:40:01 +00:00
libXrandr-devel
libXext-devel
2024-03-28 21:00:58 +00:00
imlib2-devel
2024-03-28 21:40:01 +00:00
harfbuzz-devel
2024-03-28 21:00:58 +00:00
fontconfig-devel
2024-03-28 21:40:01 +00:00
gd-devel
pam-devel
libnotify
2024-03-28 21:00:58 +00:00
xinit
make
gcc
2024-03-28 21:40:01 +00:00
vala
```
* **Runtime dependencies**
```
fd
feh
xdpyinfo
2024-03-28 21:49:24 +00:00
xdotool
2024-03-28 21:40:01 +00:00
ffmpeg
maim
slop
udisks2
bluez-utils
j4-dmenu-desktop
NetworkManager
power-profiles-daemon
2024-03-28 21:00:58 +00:00
```
After installing them with your package manager of choice, you can do the following to get the source code and start to modify it to your liking.
```bash
# Clone this repository
$ git clone https://github.com/d4r1us-drk/dwm.git
# Go into the repository
2024-03-28 21:40:01 +00:00
$ cd dwm/
2024-03-28 21:00:58 +00:00
2024-03-28 21:40:01 +00:00
# Select which project to compile & install (dwm in this case)
$ cd dwm
2024-03-28 21:00:58 +00:00
# To install
$ sudo make install && make clean
```
2024-03-28 21:40:01 +00:00
This repository is not a tutorial on how to modify or configure dwm or any of the included suckless tools, you obviusly don't need to learn C to do this, with this build you can start with an usable base and you wont even need to patch anything. If you want to add a patch though, you will need to do this manually, because most patching utilities like `patch` and `git apply` will fail due to how much of the code base I modified myself.
2024-03-28 21:00:58 +00:00
2024-03-28 21:40:01 +00:00
To configure my build, the only file you really need to modify is the `config.h` file in each tool, which has everything commented and explained. Of course this being *my* build, it is already configured for my needs.
2024-03-28 21:00:58 +00:00
2024-03-28 21:40:01 +00:00
## Patch list for dwm
2024-03-28 21:00:58 +00:00
2024-03-28 21:40:01 +00:00
These are the patches I applied to this dwm build (some of them I modified):
2024-03-28 21:00:58 +00:00
- adjacenttag
- alpha
- alwayscenter
- attachbottom
- autostart
- barpadding
- centeredmaster
- clientindicators
- combo
- cyclelayouts
- fibonacci
- focusmaster-return
- fullscreen
- gridmode
- keychord
- movestack
- pertag
- restartsig
- rmaster
- scratchpads
- statuspadding
- sticky
- stickyindicator
- tag-preview
- tapresize
- truecenteredtitle
- warp
- winicon
## Credits
2024-03-28 21:40:01 +00:00
- dwm and the suckless tools available here are made by the suckless guys at [https://suckless.org](https://suckless.org).
- herbe is made by dudik and available [here](https://github.com/dudik/herbe).
- tiramisu is made by Sweets and available [here](https://github.com/Sweets/tiramisu).
2024-03-28 21:47:49 +00:00
- dwmblocks is made by torrinfail and available [here](https://github.com/torrinfail/dwmblocks)
2024-03-28 21:00:58 +00:00
## License
This project is licenced under the MIT License