Avimitin/sdwm

Another dwm build, for more simplicity.

★ 22Forks 0CGitHub ↗Compare
dwmlinuxwindow-manager

README

ARCHIVED

I am now using KDE under wayland. This project is no more under maintain.

SDWM

My attempt to make DWM focus on the "WM".

img

Feature

  • Lightweight and portable

  • Trasnparent systray

  • Rounded corner window (You can now have both shadow and corner)

  • Lot's of useful scripts

    • Song control image
    • Power control image
  • No annoying title

  • Hide tag when no windows use them

    image

  • Full nerd font icon

  • Out of the box

  • Status text support colors (see siduck76/chadwm for color example)

image

  • Hide and restore windows feature (You can use it like a scratchpad)
2021-08-07_11-05-30.mp4
  • Tab support

image

2021-08-11_23-29-09.mp4

Usage

  • build

Changed the home path in Makefile and config.def.h. Then run command to built it:

# Change my username to your name 
sed -i 's/sh1marin/YOURNAME/g' src/config.def.h src/Makefile

# Build 
sudo make clean install

# Copy script
cp scripts/* ~/.local/share/dwm
  • Scripts

I've write some script to automatically run when dwm start up, checkout the $HOME/.local/share/dwm directory.

  • Dwm bar

There are two versions of the dwm bar, one by shell script and another by Rust. You can run command cd dwm-bar && cargo install --path . to build the dwm-bar program. It will place the executable under ~/.cargo/bin. And you just need to update the bar executable in autostart.sh.

Customize

Modified file config.def.h

Keymap

Mod key is Win key.

Mod + [1-9]:         Select workspace [1-9]

Mod + o:             Open dmenu
Mod + Shift + Enter: Open Terminal
Mod + Shift + s:     Open flameshot
Mod + Shift + b:     Change background
Mod + Shift + u:     Volume up
Mod + Shift + d:     Volume down
Mod + Shift + e:     Open up a shutdown script
Mod + Shift + q:     Kill program
Mod + Shift + c:     Kill dwm(log out)
Mod + Shift + 0:     View all pages

Mod + =:           Increase gaps
Mod + -:           Decrease gaps
Mod + Shift + -:   Toggle gaps
Mod + Shift + =:   Reset gaps

Mod + b:             Toggle bar
Mod + Space:         Switch last two layout
Mod + Shift + Space: Set current window as floatin window
Mod + t:             Toggle tilling layout
Mod + m:             Toggle monocle layout (Tab page support)
Mod + f:             Toggle floating layout
Mod + Shift + f:     Toggle fullscreen layout
Mod + Enter:         Set current windows as master

Mod + w:           Hide window
Mod + Shift + w:   Pop out hided window
Mod + j/k:         Focus around shown windows
Mod + i/d:         Toggle horizon split or vertical split

Mouse are also supported

  • Windows will focus on mouse
  • Press Mod and use mouse to drag windows
  • Press Mod+Shift and the left click to resize windows.

Dependency

Fallback fonts: UbuntuMono Nerd Font Mono

Also you may want feh to change background, and picom to add blur transparency.

control script is based on pamixer. So you need to install pulseaudio and pamixer.

Credit

Original dwm: https://dwm.suckless.org

The hide and restore windows is copy from theniceboy/hide-and-restore and awesomebar

The tab in monocle layout is copy from siduck76/chadwm.

Issues

Currently, the tab color will be drawn to the status bar when you switch to mococle layout. Track the issue in #4.

Systray shadow can be disabled by WM_CLASS: "dwmsystray" filter. For example if you are using picom as compositor, add below into your picom.conf file:

shadow-exclude = [
  "class_g = 'dwmsystray'",
];

For detail about how to add wm class for systray, checkout this patch: dwm-systray-wmclass

License

MIT License

All rights reserved to the suckless team

Contributors

garbeamAvimitinhiltjoclsanydotcdownschachmatericpruittklemensnianremmlerosandovbakkeby

Issues