DWM & learning how-to build “a nice setup”

Along with my ‘other’ Covid-19 related adventures’ I have just completed my first dwm (Dynamic Window Manager) desktop setup. I thought I would share what I created and hope “someone out there” finds it helpful.

More information on dwm is available on the “Suckless.org Website“.

By way of background, I have built my dwm arrangement on a laptop running:

mark@ArchLabs:~
$ inxi -Fxxxz
System:    Kernel: 5.6.4-arch1-1 x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: dwm 6.2 dm: LightDM 1.30.0 
           Distro: ArchLabs Linux 
Machine:   Type: Laptop System: Dell product: Latitude E5470 v: N/A serial: <filter> Chassis: type: 9 serial: <filter> 
           Mobo: Dell model: N/A serial: <filter> UEFI: Dell v: 1.21.6 date: 10/02/2019 
Battery:   ID-1: BAT0 charge: 43.4 Wh condition: 43.4/62.0 Wh (70%) volts: 8.3/7.6 model: LGC-LGC4.20 DELL HK6DV type: Li-ion 
           serial: <filter> status: Full 
           Device-1: hidpp_battery_0 model: Logitech Wireless Mouse M510 serial: <filter> charge: 55% (should be ignored) 
           rechargeable: yes status: Discharging 
CPU:       Topology: Dual Core model: Intel Core i5-6300U bits: 64 type: MT MCP arch: Skylake rev: 3 L2 cache: 3072 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 20004 
           Speed: 600 MHz min/max: 400/3000 MHz Core speeds (MHz): 1: 600 2: 600 3: 600 4: 600 
Graphics:  Device-1: Intel Skylake GT2 [HD Graphics 520] vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:1916 
           Display: x11 server: X.Org 1.20.8 driver: intel unloaded: fbdev,modesetting,vesa compositor: picom 
           resolution: 1920x1080~60Hz 
           Message: Unable to show advanced data. Required tool glxinfo missing. 
Audio:     Device-1: Intel Sunrise Point-LP HD Audio vendor: Dell driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           chip ID: 8086:9d70 
           Sound Server: ALSA v: k5.6.4-arch1-1 
Network:   Device-1: Intel Ethernet I219-LM vendor: Dell driver: e1000e v: 3.2.6-k port: f040 bus ID: 00:1f.6 
           chip ID: 8086:156f 
           IF: enp0s31f6 state: down mac: <filter> 
           Device-2: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter vendor: Dell driver: ath10k_pci v: kernel 
           port: f040 bus ID: 01:00.0 chip ID: 168c:003e 
           IF: wlan0 state: up mac: <filter> 
           Device-3: Qualcomm Atheros type: USB driver: btusb bus ID: 1-8:6 chip ID: 0cf3:e007 
Drives:    Local Storage: total: 1008.18 GiB used: 584.11 GiB (57.9%) 
           ID-1: /dev/mmcblk0 model: SD32G size: 30.09 GiB serial: <filter> scheme: GPT 
           ID-2: /dev/sda vendor: Crucial model: CT1050MX300SSD4 size: 978.09 GiB speed: 6.0 Gb/s serial: <filter> rev: R031 
           scheme: GPT 
RAID:      Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci v: 3.0 port: f060 bus ID: 00:17.0 
           chip ID: 8086.282a rev: 21 
Partition: ID-1: / size: 57.89 GiB used: 35.22 GiB (60.8%) fs: ext4 dev: /dev/sda5 
           ID-2: /boot size: 299.4 MiB used: 57.7 MiB (19.3%) fs: vfat dev: /dev/sda1 
Sensors:   System Temperatures: cpu: 40.0 C mobo: N/A 
           Fan Speeds (RPM): cpu: 0 
Info:      Processes: 180 Uptime: 16h 33m Memory: 23.39 GiB used: 2.47 GiB (10.6%) Init: systemd v: 245 Compilers: gcc: 9.3.0 
           Shell: bash v: 5.0.16 running in: sakura inxi: 3.0.38 

The general toolset I use includes:

  • rofi & jgmenu (for menus, oddly enough)
  • conky is on every workspace (so I can remember my keybindings)
  • pywal to change up the wallpapers etc.

The following are screenshots of my current dwm desktop:

This setup uses my shared/common .xprofile autostart function, along with common sxhkdrc (so I don’t have to learn new keybindings for my application short-cuts; I’m old a feeble…). More on this may be found here:

Window Managers: How-to share settings, autostart etc.

Additionally like most dwm users, I needed to make a few changes to the dwm configuration file (config.h). I placed dwm in ~/.local/bin/dwm (included in the link is my complete dwm directory content).

NOTE: A trick I discovered when building and tweaking dwm is that the normal plain reinstall works best if you use the following commands (on archlinux):

$ updpkgsums
$ makepkg -fsi

Enjoy!

For more on dwm:

Dave’s Visual Guide to dwm

Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!