DK Window Manager

The easiest way to learn key binding is just setup binds for the main programs you use. Its all about the letters link to the program name for me.

you can use the same binds for each WM.

#### Terminal Stuff ####

super + shift + c
	dkcmd win kill

# quit dk
super + shift + x
	exec ~/.config/i3/

super + Return

super + shift + m
     kitty --class ncmpcpp-ueberzug -e ncmpcpp-ueberzug

super + shift + o
     kitty --class cava -e cava

super + shift + d
     kitty --class scratchpad

super + x

####  GUI Stuff ####

# launcher
super + d
     rofi -show drun
#	dmenu_run -b -y 750 -nb "#000000" -sf "#00bfff" -fn SourceCodePro-11:bold -o 0.7 -h 30

super + c
     exec ~/.config/rofi/scripts/

super + shift + i

super + shift + s

super + shift + g

super + shift + n

# screenshot and selection capture
super + Print
	 scrot '%S.png' -e 'mv $f $$(xdg-user-dir PICTURES)/ArchLabs-%S-$wx$h.png ; feh $$(xdg-user-dir PICTURES)/ArchLabs-%S-$wx$h.png'

#### Reload & Restart ###

# reload sxhkd
super + shift + p
	pkill -USR1 -x sxhkd

# reload dkrc
super + shift + r
	dkcmd reload

# restart dk
super + ctrl + shift + r
	dkcmd restart

Good point. No, I haven’t made a cheat sheet yet. It is now on the list:)


Can you share that logout script?


Here you go this originally came from manyroads systemd version

#! /bin/bash
yad  --width 300 --center --on-top --sticky --single-click --title='Logout Options' \
	--buttons-layout="center" \
	--window-icon="gtk-quit: exit" \
	--button="Logout!system-log-out:kill -9 -1" \
	--button="Reboot!system-reboot:systemctl reboot" \
	--button="Shutdown!system-shutdown:systemctl poweroff" \
	--button="Suspend!system-suspend:systemctl suspend" \
	--button=Cancel:0 \

Non systemd version

#! /bin/bash
yad --center --borders=1 --on-top --sticky --single-click --title='Logout Options' \
	--buttons-layout=center \
	--window-icon="gtk-quit: exit" \
	--button="Logout!system-log-out:kill -9 -1" \
	--button="Reboot!system-reboot:sudo reboot" \
	--button="Shutdown!system-shutdown:sudo poweroff" \
	--button="Suspend!system-suspend:sudo pm-suspend" \
	--button=Cancel:0 \
1 Like

I have dk installed looks great… two questions… can we mouse drag tiling windows to new locations on screen? and is there thoughts for future wayland support?


A couple questions for you …

Do you have a keyboard combo shortcut for zooming in/out the desktop? Are the hidpi settings placed in .Xresources & .profile? Are the dpi settings also set in .Xresources & .xprofile and are all other settings changed solely in dkrc?

Trying it on a small, hidpi monitor where the scaling is so small it’s almost illegible.


1 Like

All I can tell you is that the same dpi settings I use for dwm work with dk.

It’s never perfect, sometimes you need to adjust according to the monitor you use.

1 Like

Howdy, Though relevant, there may be a better spot for this question. not sure.

I would like to use wget or curl to grab the dk folder from bitbucket. I am currently using git to get it installed for other users, but git comes in around 30MB installed here, and is pointless to install for most.

I know that in github I can use:

curl -LJO
where, the actual address is

This will put the repo folder into a zip file for unpacking. I have been trying to do the same with the bitbucket address for dk to no avail.

So, I was hoping there was already a solution using curl or wget? Or if there is some better method I have not thought of? No worries, as git works just fine, just trying to get the footprint a bit smaller:)

1 Like

Top work @sleekmason . Thx for sharing.

1 Like

Of course, bitbucket is just a bit strange and need to use ../get/[branch|tag|commit].[zip|tar.gz|tar.bz2] after the repo location. For a zip download of dk’s master branch you’d do

curl -fSL -o

You can also avoid all of this and just install the AL packaged version with pacman -S dk or the AUR version if you’re not using AL - it will still require git as a make dependency but can be removed after.


Thank you so much!

This is for my project Lilidog (debian bullseye)

I had started looking at the smaller WM’s, and on the advice of one of our members I built dk to see what was up . . and fell in love. Absolutely awesome.

So, I made an installer for folks that grabs the dk repo with git before building and installing dk with a simple polybar. Then a toggle so they could replace polybar with tint2 through keybinds if desired.

Of course it is a bit of a strange method, and If I knew how, I might try to build a .deb package. However, this method works fine to get dk installed without issues, and as an optional installer item, I’ve had no complaints.

Grabbing the folder with curl was the next step to simplify things a bit. Users still have to install build-essential, but they would anyway and at least git won’t be necessary anymore.


Ahh yes that makes more sense, in that case I would suggest building from the versioned tags to avoid any unstable/buggy builds that might happen as I do all my work on master and don’t always test everything before pushing.

curl -fSL -o

Up to you, I do try to make sure master isn’t unusable but stuff slips through from time to time. Glad you like it.


Top work @sleekmason

1 Like

Absolutely good with that. Haven’t had any issues so far, but it makes sense to keep it stable for this use.

1 Like

I’ll give it a run later on, my next project was supposed to try a Debian based dk (dk on top of MX minimal) but I’ll go for Lillidog now (installed it briefly before, a couple of months ago). Great stuff!


Oh cool! Please let me know of any issues you encounter, or anything that just bugs you. On keybinds, I was winging it to be sure:) there is a keybind ‘cheat sheet’ located in ~/.config/dk

The dk installer is under ‘System’ in LD-installers. Look in the paw icon in the tint2 panel for the installer dialog and other options.


Yes, I will certainly do that. Is dk available in both the minimal as well as the full version? I’d prefer the minimal one but for the testcase I can go with either one. For the keybinds: I’ve got my dots available, also for dkrc but I will look at yours as well (before copy and overwrite etc.)


All three versions! Not completely tested in i386 but seems okay so far.

1 Like

Okay, I’ll get down into the minimal version and let you know in the week how I am faring. Great project, thanks for your efforts!



Adorable lilydog :wink:

That went very smooth @sleekmason ! Here in a VM, but running smoothly. I like the efforts you put into the menus and utils as well. As an idea: I wouldn’t put away the Lilydog installers buried in the submenu Utilities. They should have a place in the first rightclick menu! It’s a bunch of really useful tools and utils and it makes your spin into something special. Worth pointing out!