matthiasdold / mydwm

My dwm setup

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

General Idea

This repo is ment as notes for myself as of how to setup my dwm rice screenshot

Base components

  • dwm
  • dwmblocks
  • st
  • patches as specified below

Git Management

Follow this idea, the basic idea is to have a branch for each patch and then merge them together. For this reason, I did start a new branch for each of my patches and later merged them within a mydwm branch. This later one also contains my personalized config for the keys.

St

Starting with st as this is rather simple

git clone https://git.suckless.org/st

Patches

  • alpha -> have transparency in the terminal
  • alpha_focus -> different transparency depending on focus
  • scrollback -> scrolling back in the terminal with SHIFT+PgUp/Down
  • scrollback_mouse -> scrolling in the terminal with the SHIFT+Mousewheel
  • font2 -> better rendering for some powerline fonts
  • ligatures -> nicer font with ligatures
  • nordtheme -> the basic colorscheme I use
  • moonfly -> potential alternative to nord

Get dwm

git clone https://git.suckless.org/dwm

Patches and reasons why

  • Vanitygaps -> eye candy for gaps and included cfacts for better resizing
  • status2d -> all patches to work without any extra tool / program for status
  • xrdb -> xrdb colors, also used within status2d
  • statusallmons -> statusbar on all monitors
  • alpha -> Transparency in bar
  • setstatus -> simpler syntax for setting the status bar
  • hide_vacant_tags -> show only tags with some client on them (not 1 2 3...9 all the time)
  • scratchpads -> Use scratchpad for journaling notes

Manually patching

Some(often)times a patch fails to be applicable straigth away. I had the issue with vanity following the deck version of cfacts e.g.. In this case, I did apply the steps manually for the files with error. Later the changes can be recorded to a .diff via

git diff HEAD^ > my_patch_file.diff

Patch to vanilla

dwmblocks

I use this as for my quick research, it was the only one really using separate refresh cycles for its components. So it seemed to be the best fit - dwmblocks

git clone git@github.com:ashish-yadav11/dwmblocks.git

Installation

-> Apply the patch to dwm -> Add dwmblocks & to the ~/.xinitrc

Modules

As opposed to Luke Smith's build, I will now keep the modules within ./dwmblocks/blocks.def but making use of Lukes build, and adding the functions as patches

Install note

  • Make sure to properly patch dwm for the update to work!
  • The individual scripts are part of the patch my_full_dwmblocks*...

pacpackages

The pacpackages needs something like a chron job to run pacman -Sy every now an then. I used the native are systemd timers. From within the dwmblocks/blocks.def directory do:

cp pacpackages.service /etc/systemd/system
cp pacpackages.timer /etc/systemd/system
systemctl enable pacpackages.timer
systemctl start pacpackages.timer

TODO

  • Clickable statusbar --> something with this

About

My dwm setup