Here are some details about my setup:
- OS: Arch Linux
- Terminal: Alacritty
- Shell: Bash
- WM: dwm-flexipatch
- Login Manager: ly
- Editor: Vim
- Status Bar: vanilla dwm bar
- Status Content: luastatus
- Lock Screen: slock-flexipatch
- App Menu: dmenu-flexipatch
- Network Menu: networkmanager-dmenu
- Dropdown Menu: tdrop
- Hotkey Daemon: sxhkd
- Notification Daemon: Linux Notification Center
- AUR helper: Paru
- Power Management: Xfce Power Manger
- Brightness Control: brightnessctl
- Compositor: Picom
- Font: Iosevka Nerd Font
- Shell Prompt: starship
- System Info: macchina
- File Manager: nnn and Thunar
- Ebook Reader: zathura
- Image Viewer: nsxiv
- Video Player: mpv
- ScreenShot: Flameshot
- Wallpaper Setter: feh
- Color Picker: Gpick
- Switch to xrdb patch for theme switching
- Fix the issue with hardcoded path
- Create a list of keybindings
- Explain installation procedure and how everything works
- Mention the mandatory and optional dependencies
- Make a basic guide
- Make a detailed guide
- Make guides for fedora and debian
- Redo setup on an updated version of dwm-flexipatch
- Explain the features of this setup
- Switch to rofi from dmenu (but keep dmenu as an alternative)
- Make new colorschemes
- Rice Firefox or switch to vieb
- Create conky and eww widgets
- Remove unused patches
- Give credit to proper persons and projects
Mandatory
- Xorg
- xrdb (for reloading xresource colorschemes)
- Imlib2
- dmenu (for opening programs, changing theme and using the power menu)
- luastatus (for status info)
- sxhkd (for shortcuts)
- feh (for setting wallpaper)
- font: Iosevka Nerd Font
- You can also use any other nerd font, but don't forget to add that font to
*fonts[]
inconfig.def.h
and recompile dwm)
- You can also use any other nerd font, but don't forget to add that font to
Optional
You may choose not to install any of these and but doing so might make some things not work as intended
- Terminal: Alacritty (main) and Kitty (dropdown)
- if you use kitty as your main terminal, replace
kitty
toAlacritty
in this line -RULE(.class = "kitty", .isfloating = 1)
and replaceAlacritty
tokitty
in this line -RULE(.class = "Alacritty", .tags = 1 << 0, .switchtag = 1)
inconfig.def.h
- if you use any other terminal then you have to modify
~/.bin/theme_changer
in order to make that terminal's colorschemes to change automatically when changing theme
- if you use kitty as your main terminal, replace
- ly
- Paru
- networkmanager-dmenu
- Linux Notification Center
- Xfce Power Manager
- picom
- macchina
Arch Linux
sudo pacman -Su --needed xorg xorg-xrdb imlib2 feh ttf-iosevka-nerd
git clone https://github.com/junnunkarim/dotfiles-linux
cd dotfiles-linux
sudo vim /usr/share/xsessions/dwm.desktop
[Desktop Entry]
Encoding=UTF-8
Name=dwm
Comment=the dynamic window manager
Exec=dwm
Icon=dwm
Type=XSession
- work in progress
Standards
super + [any key] == system main shortcuts
super + shift + [any key] == system main shortcuts
super + ctrl + shift + [any key] == system low priority shortcuts
super + alt + shift + [any key] == system low priority shortcuts
alt + [any num or alphabet key] == open applications
ctrl + [any num or alpabet key] == open other programs or scripts
Keybindings that depend on dwm
Keybinding | Action |
---|---|
super + b | toggle bar on/off |
super + s | switch a window form stack with master |
super + c | close a program |
super + shift + q | quit dwm (only if all programs are closed) |
super + space | toggle floating on/off |
super + left/right | increase/decrease window size |
super + shift + ctrl + space | cycle through all layouts |
super + tab | move through open tags clockwise |
super + backtick | move through open tags anti-clockwise |
super + 0 (zero) | toggle gaps on/of |
super + shift + i | hide/unhide window |
super + shift + r | restart dwm |
super + f | toggle fullscreen |
super + 0-9 | go to the specified tag |
super + shift + 0-9 | move selected window to the specified tag |
alt + tab | move through window focus clockwise |
alt + backtick | move through window focus anti-clockwise |
Keybindings that are window manager agnostic (sxhkd)
Keybinding | Action |
---|---|
super + return/enter | open terminal |
super + shift + return/enter | open dropdown terminal |
super + l | lock screen |
super + backspace | reload sxhkd keybindings |
super + n | open network menu |
super + shift + n | open/close notification center |
super + shift + escape | force kill a program |
super + t | open theme switcher |
super + x | open powermenu |
super + k | show all keybindings |
super + d | open dmenu |
super + a | open dektop applications selector (dmenu) |
super + ctrl + r | turn on bluelight filter (redshift) |
super + ctrl + e | turn off bluelight filter (redshift) |
super + ctrl + p | open color picker (gpick) |
super + alt + f | open file manager (thunar) |
super + alt + n | open file manager (nnn) |
super + alt + b | open chromium |
super + alt + e | open firefox |
super + alt + e | open vim |
super + alt + h | open bottom |
prtsc | take fullscreen screenshot now |
super + prtsc | take interective screenshot |
alt + prtsc | take fullscreen screenshot after 5 sec |
ctrl + prtsc | take fullscreen screenshot after 10 sec |
super + F1 | increase brightness |
super + F2 | decrease brightness |
super + F5 | increase volume |
super + F6 | decrease volume |
super + F7 | toggle mute on/off |
click here
- BAR_AWESOMEBAR_PATCH
- BAR_EWMHTAGS_PATCH
- BAR_LTSYMBOL_PATCH
- BAR_STATUS_PATCH
- BAR_STATUSBUTTON_PATCH
- BAR_STATUS2D_PATCH
- BAR_SYSTRAY_PATCH
- BAR_UNDERLINETAGS_PATCH
- BAR_WINICON_PATCH
- BAR_TITLE_LEFT_PAD_PATCH
- BAR_BORDER_PATCH
- BAR_CENTEREDWINDOWNAME_PATCH
- BAR_IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH
- BAR_PADDING_VANITYGAPS_PATCH
- ATTACHBOTTOM_PATCH
- CENTER_PATCH
- COMBO_PATCH
- COOL_AUTOSTART_PATCH
- CYCLELAYOUTS_PATCH
- FOCUSONNETACTIVE_PATCH
- NET_CLIENT_LIST_STACKING_PATCH
- ONLYQUITONEMPTY_PATCH
- RESTARTSIG_PATCH
- SHIFTVIEW_CLIENTS_PATCH
- STACKER_PATCH
- SWITCHTAG_PATCH
- TOGGLEFULLSCREEN_PATCH
- VANITYGAPS_PATCH
- ZOOMSWAP_PATCH
- BSTACK_LAYOUT
- DECK_LAYOUT
- FIBONACCI_DWINDLE_LAYOUT
- HORIZGRID_LAYOUT
- TILE_LAYOUT
- MONOCLE_LAYOUT