DK workspaces

Hi.
I am trying to set up Dk wm on a macbookpro 9,2 2012.
I could be too much of a newbie or amateur but I can´t get workspaces to work right.
I have made a sxhkd.dk config file where I have:

# tags
# view, send, or follow to a workspace (by number)
super + {1-9,0}
        dkcmd ws {view,send,follow} {1-9,10}

I use sxhkd in several wms and I do start it from .xprofile

dkrc

# (re)load sxhkd for keybinds
if hash sxhkd >/dev/null 2>&1; then
	pkill sxhkd
	sxhkd -c ~/.config/sxhkd/sxhkd.dk &
fi

I can switch ws but only with alt-key.

womp

In your dkrc,

        # define mouse mod and move/resize buttons
        dkcmd set mouse mod=super move=button1 resize=button3

In your sxhkdrc for dk, replace “alt” with “super”

Well sxhkd.dk is already “super”!
I wonder what mouse has to do with keyboard key-bindings?
I will try this.

Did not work. Still alt-key to switch ws.

Another strange thing:
If I open a second window in a workspace it gets 15 mm widht and full height. That can´t be right.

But DK is super responsive though! Would be nice to get it going!
womp

“mod=super” works for me. You can try “mod=mod4”. Also, try “mod4” in sxhkdrc instead of “super”. You may need to check your key maps.

mod=mod4 did not work. Still alt-key.

I will give up for tonight. Try again tomorrow.

Could it be that DK needs to be on itś own? Or maybe itś just too difficult for me?
It can not be macbookpro!? Qtile works. Dwm works. i3-gaps works. bspwm works. sway works (and openbox).

womp

LOL, post your configs here. Someone can review them for you.

Are you sure dk is using your new sxhkd.dk file. ?

I just put the sxhkdrc in my dk directory and it runs on that sxhkdrc. Theirs no need to rename anything.

Thats not sxhkd‘s file search path. You can make it use whatever you want but generally it’s ~/.config/sxhkd/sxhkdrc

It doesn’t need to be executable like dkrc or bspmrc. It’s not a shell script.

Edit: you’re there you just got some stuff mis-named

Here are configs:

# example sxhkdrc for use with dk
#########################################################

# launcher
alt + p
	dmenu_run

# terminal
alt + shift + Return
	st
# Open Terminal
super + Return
	xfce4-terminal

# rofi menu   (2 options)
super + d
	 rofi -modi drun,window,run -show drun -show-icons -sidebar-mode -location 0  -width 360

#super + F1	 
	 rofi -modi drun,window,run -show drun -show-icons -sidebar-mode -location 0  -width 360
	 
 # rofi Active Tasks
super + F12
	rofi -modi window -show window -show-icons -sidebar-mode

# rofi-calc
alt + r
	rofi -show calc -modi calc -no-show-match -no-sort
	
# Screenshot
alt + shift + f
	flameshot
	
# Show help
alt + h
    sxhkd-help
    
# gsimplecal
alt +shift + c
	gsimplecal
	
# calibre (books)
alt + c 
	calibre

# file managers
alt + f
	thunar 

# geany
alt + g 
	geany

# eMail
alt + t
	thunderbird  

# nitrogen wallpaper
alt + n
	nitrogen
	
# libreoffice
alt + o
	libreoffice
	
# pamac manager
alt + p
	pamac-manager

# simplenote
alt + s
	simplenote

# web browser        
alt + w
	firefox

#Lock screen
super + x
	rofi_run -l

# tags
# view, send, or follow to a workspace (by number)
super + {1-9,0}
        dkcmd ws {view,send,follow} {1-9,10}




# screenshot and selection capture
{_,alt + }@Print
	scrot {_,-s}

# dedicated volume keys
{XF86AudioRaiseVolume,XF86AudioLowerVolume}
	pamixer {-i,-d} 2

# dedicated backlight keys
{XF86MonBrightnessUp,XF86MonBrightnessDown}
	xbacklight {+10,-10}

# alt volume keys
alt + {Insert,Delete}
	pamixer {-i,-d} 2

# reload sxhkd
alt + shift + x
	pkill -USR1 -x sxhkd



# quit dk
alt + shift + q
	dkcmd exit

# reload dkrc
alt + shift + r
	dkcmd reload

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

# focus next or previous window
alt + {j,k}
	dkcmd win focus {next,prev}

# close window, swap tiled window in/out of master, cycle tiled windows in place
alt + {q,space,Tab}
	dkcmd win {kill,swap,cycle}

# toggle fullscreen and fake fullscreen (enable manipulating fullscreen window)
{_,alt + }F11
	dkcmd win {full,fakefull}

# toggle floating or sticky
alt + shift + {space,s}
	dkcmd win {float,stick}

# move window, signed (+/-) for relative changes
alt + shift + {h,j,k,l}
	dkcmd win resize {x=-20,y=+20,y=-20,x=+20}

# resize window, signed (+/-) for relative changes
alt + ctrl + {h,j,k,l}
	dkcmd win resize {w=-20,h=+20,h=-20,w=+20}

# move the active window up/down the stack
alt + {Up,Down}
	dkcmd win mvstack {up,down}

# view, send, or follow to a workspace (by number)
alt + {_,shift + ,ctrl + }{1-9,0}
	dkcmd ws {view,send,follow} {1-9,10}

# view, send, or follow to the next, previous, last active,
# next non-empty, or prev non-empty workspace
alt + {_,shift + ,ctrl + }{bracketleft,bracketright,BackSpace,Left,Right}
	dkcmd ws {view,send,follow} {prev,next,last,prevne,nextne}

# view, send, or follow to the next, previous, or last active monitor
alt + {_,shift + ,ctrl + }{comma,period,backslash}
	dkcmd mon {view,send,follow} {prev,next,last}

# change active workspace layout
alt + {t,r,m,g,s,w,f,u}
	dkcmd set layout {tile,rtile,mono,grid,spiral,dwindle,none,tstack}

# change number of windows in master or first stack
alt + {_,shift + }{i,d}
	dkcmd set {master,stack} {+1,-1}

# change gap width
alt + {equal,minus}
	dkcmd set gap width {+5,-5}

# change border widths
alt + ctrl + {_,shift + }{equal,minus}
	dkcmd set border {width,outer_width} {+1,-1}

dkrc

#!/bin/sh

# example dkrc to show some basic command usage and error reporting

# determine where to place the log file
logfile="$HOME/.dkrc.log"
[ -d "$HOME/.local/share/xorg" ] && logfile="$HOME/.local/share/xorg/dkrc.log"
: > "$logfile"


# (re)load sxhkd for keybinds
if hash sxhkd >/dev/null 2>&1; then
	pkill sxhkd
	sxhkd -c ~/.config/sxhkd/sxhkd.dk &
fi

# (re)load polybar
if hash polybar i3-bar >/dev/null 2>&1; then
	pkill polybar
	polybar i3-bar &
fi

{ # compound command to redirect all output

	# workspace settings
	# ------------------------

	# initialize 10 workspaces (1-10)
	dkcmd set numws=10

	# default workspace '_' values used when allocating new workspaces
	# can be applied to all existing workspaces when passed 'apply' after ws=_
	dkcmd set ws=_ apply layout=tile master=1 stack=3 gap=4 msplit=0.5 ssplit=0.5

	# change workspace names
	dkcmd set \
		ws=1  name="1" \
		ws=2  name="2" \
		ws=3  name="3" \
		ws=4  name="4" \
		ws=5  name="5" \
		ws=6  name="6" \
		ws=7  name="7" \
		ws=8  name="8" \
		ws=9  name="9" \
		ws=10 name="10"

	# use grid layout, padding, and gaps on workspace 10
	dkcmd set ws=10 layout=grid pad left=200 right=200 top=100 bottom=100 gap width=50

	# use static workspaces (not default)
	dkcmd set static_ws=false

	# assign workspaces to monitors (requires static_ws=true)
	# mon1='DisplayPort-0'
	# mon2='HDMI-A-0'
	# dkcmd set \
	# 	ws=1  mon=$mon1 \
	# 	ws=2  mon=$mon1 \
	# 	ws=3  mon=$mon1 \
	# 	ws=4  mon=$mon1 \
	# 	ws=5  mon=$mon1 \
	# 	ws=6  mon=$mon2 \
	# 	ws=7  mon=$mon2 \
	# 	ws=8  mon=$mon2 \
	# 	ws=9  mon=$mon2 \
	# 	ws=10 mon=$mon2


	# global settings
	# ---------------------

	# focus windows when receiving activation and enable focus-follows-mouse
	dkcmd set focus_open=true focus_urgent=true focus_mouse=true

	# place clients at the tail and ignore size hints on tiled windows
	dkcmd set tile_tohead=0 tile_hints=false

	# minimum width/height for resizing, and minimum allowed on-screen when moving
	dkcmd set win_minwh=50 win_minxy=10

	# disable gaps and borders in single window layouts
	dkcmd set smart_gap=true smart_border=true

	# define mouse mod and move/resize buttons
	#dkcmd set mouse mod=alt move=button1 resize=button3
	# define mouse mod and move/resize buttons
    dkcmd set mouse mod=super move=button1 resize=button3

	# borders
	# ---------

	# set border width and colour for each window state
	dkcmd set border width=1 colour focus='#6699cc' unfocus='#000000' urgent='#ee5555'

	# alternatively, enable split borders and colours
	dkcmd set border width=2 outer_width=1 \
		colour \
		focus='#6699cc' \
		unfocus='#444444' \
		urgent='#ee5555' \
		outer_focus='#222222' \
		outer_unfocus='#222222' \
		outer_urgent='#222222'


	# window rules
	# --------------

	# rule class, instance, and title regexes are always case insensitive

	# open window(s) on a specific workspace (assigned monitor)
	#dkcmd rule class="^gimp$" ws=2

	# open window(s) on a monitor by number or name (active workspace on monitor)
	#dkcmd rule class="^chromium$" mon="HDMI-A-0"

	# open window(s) and use a callback function (defined in config.h)
	# we also ignore to stop the window from being resized on it's own
	# eg. mpv --x11-name=albumart /path/to/media
	#dkcmd rule class="^mpv$" instance="^albumart$" float=true ignore=true callback=albumart bw=0

	# open window(s) in a floating state
	dkcmd rule class="^(pavucontrol|transmission-gtk|steam|lxappearance)$" float=true

	# open window(s) with a specific geometry and coordinates (floating only!)
	#dkcmd rule class="^google-chrome$" title="^open files$" float=true w=1280 h=720

	# open window(s) with sticky and floating enabled to view on all workspaces.
	dkcmd rule class="^stickyterm$" stick=true float=true w=1280 h=720

	# focus window and workspace on opening
	dkcmd rule class="^firefox$" ws=2 focus=true

	# update or remove an existing rule with the same match patterns
	#dkcmd rule class="^firefox$" mon="HDMI-A-0"
	#dkcmd rule remove class="^firefox$"

	# apply current rule set to all existing windows
	dkcmd rule apply '*'

	# delete all rules
	# dkcmd rule remove '*'

} >> "$logfile" 2>&1 # append responses

# inform of any errors in a notification
if grep -q 'error:' "$logfile"; then
	hash notify-send && notify-send -t 0 -u critical "dkrc has errors" \
		"$(awk '/error:/ {sub(/^error: /, ""); gsub(/</, "\<"); print}' "$logfile")"
	exit 1
fi

exit 0

Thanks for checking!

womp

# view, send, or follow to a workspace (by number)
super + {_,shift + ,ctrl + }{1-9,0}
      dkcmd ws {view,send,follow} {1-9,10}

Your ~/.xprofile?

1 Like

.xprofile

#!/bin/sh

# sourced at boot by ~/.xinitrc and most display managers
export PATH="$HOME/.local/share:$PATH"
export XDG_CONFIG_HOME="$HOME/.config"
export PATH="$HOME/.local/bin:$PATH"
export QT_AUTO_SCREEN_SCALE_FACTOR=0 qbittorrent
# bluetooth
blueman-applet &

# set sound functions #####################
start-pulseaudio-x11 &
amixer -c 0 set Master playback 25% unmute &
pasystray &

# Geo Clue #####################
/usr/lib/geoclue-2.0/demos/agent &

# gnome settings #####################
gnome-keyring-daemon --start --components=pkcs11 &

# shared common keybindings (applications)
sxhkd -c ~/.config/sxhkd/base.conf &
#sxhkd -c ~/.config/sxhkd/sxhkd.dk &
# Dunst #####################
dunst -conf  ~/.config/dunst/dunstrc &

# touchpad toggle #####################
#touchpad-indicator &

# Update notifier #####################
sleep 8 && sh -c "GDK_BACKEND=x11 pamac-tray" &

# USB unmounter #####################
udiskie --tray --automount --notify &

#dwmblocks &

# Wallpaper
bgchd -dir ~/Wallpapers -intv 5m -bcknd /etc/autobgch/scripts/feh &
#~/wallpapersd &
picom -b -f &
nm-applet &
volumeicon &
#nitrogen --restore &
xfce4-power-manager &
redshift-gtk &
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
ksuperkey -e 'Super_L=Alt_L|F1' &
ksuperkey -e 'Super_R=Alt_L|F1' &
nitroshare &
# xsettings #####################
xsettingsd &
xset dpms 600 900 1200
xset r rate 350 60
xsetroot -cursor_name left_ptr &
xset +fp ~/.local/share/fonts &
#xset +fp ~/.fonts &
xset +fp /usr/share/fonts &
xset fp rehash &
fc-cache -fv &
PATH=/usr/lib/ccache/bin/:/home/womp/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:~/.config/rofi/bin

womp

I changed to this in sxhkd.dk and now super works for tags.

# view, send, or follow to a workspace (by number)
super + {_,shift + ,ctrl + }{1-9,0}
      dkcmd ws {view,send,follow} {1-9,10}

Next problem is to be able to open more than one window in one workspace. When I do that now the new window becomes a small thread on the left and if I open more windows they also become threads and the first window gets transfered to workspace 2. I have never seen anything like it.

womp

Glad to hear it works now.

Have no idea what you’re talking about. A screenshot or short video may help.

You’re trying to launch sxhkd twice in your system. It doesn’t hurt, but unnecessary. :grinning:

This isn’t proper syntax for sxhkd, you only provide one range {1-9,0} but then have two in the command {view,send,follow} {1-9,10}, they need to map into the command or some weird things will happen.

You should have something like

# view, send, or follow to a workspace (by number)
super + {_,shift + ,ctrl + }{1-9,0}
	dkcmd ws {view,send,follow} {1-9,10}

This way the {_,shift + ,ctrl + } will map to {view,send,follow} in the command and {1-9,0} will map to {1-9,10}, hope this makes sense…

To make it simpler but longer you can get the exact same thing with

# view a workspace (by number)
super + {1-9,0}
	dkcmd ws view {1-9,10}

# send a window to a workspace (by number)
super + shift + {1-9,0}
	dkcmd ws send {1-9,10}

# follow a window to a workspace (by number)
super + ctrl + {1-9,0}
	dkcmd ws follow {1-9,10}

This might help to understand what is going on.

1 Like

First of all thanks so much for looking into this!!

  1. Open geany
  2. Open 3 terminals (they gather to the left) and geany got pushed to ws2

womp

1 Like

That’s very strange indeed, do you have just one monitor?

Can you post the output of the following two commands

xrandr

dkcmd status type=full num=1

xrandr

 xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 16384 x 16384
LVDS-1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 286mm x 179mm
   1280x800      60.22*+  59.99    59.97    59.81    59.91  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
VGA-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
HDMI-3 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
dkcmd status type=full num=1
# globals - key: value ...
numws: 10
smart_border: 1
smart_gap: 1
focus_urgent: 1
focus_mouse: 1
focus_open: 1
tile_hints: 0
tile_tohead: 0
win_minxy: 10
win_minwh: 50

# width outer_width focus urgent unfocus outer_focus outer_urgent outer_unfocus
border: 2 1 0xff6699cc 0xffee5555 0xff444444 0xff222222 0xff222222 0xff222222

# number:name:layout ...
workspaces: *1:1:tile 2:2:tile 3:3:tile 4:4:tile 5:5:tile 6:6:tile 7:7:tile 8:8:tile 9:9:tile 10:10:grid
	# number:name active_window nmaster nstack msplit ssplit gappx padl padr padt padb
	1:1 0x00600003 1 3 nan nan 4 0 0 0 0
	2:2 0x0300002c 1 3 nan nan 4 0 0 0 0
	3:3 0x00000000 1 3 nan nan 4 0 0 0 0
	4:4 0x00000000 1 3 nan nan 4 0 0 0 0
	5:5 0x00000000 1 3 nan nan 4 0 0 0 0
	6:6 0x00000000 1 3 nan nan 4 0 0 0 0
	7:7 0x00000000 1 3 nan nan 4 0 0 0 0
	8:8 0x00000000 1 3 nan nan 4 0 0 0 0
	9:9 0x00000000 1 3 nan nan 4 0 0 0 0
	10:10 0x00000000 1 3 nan nan 50 200 200 100 100

# number:name:workspace ...
monitors: *1:LVDS-1:1
	# number:name active_window x y width height wx wy wwidth wheight
	1:LVDS-1 0x00600003 0 0 1280 800 0 0 1280 800

# id:workspace ...
windows: *0x00600003:1 0x0300002c:2
	# id title class instance ws x y width height bw hoff float full fakefull fixed stick urgent callback trans_id
	0x00600003 "" "Xfce4-terminal" "xfce4-terminal" 1 0 0 1280 800 0 0 0 0 0 0 0 0 none 0x00000000
	0x0300002c "DK workspaces - Technical Issues & Assistance / DK Window Manager - ArchLabs Linux — Mozilla Firefox" "firefox" "Navigator" 2 0 0 1280 800 2 0 0 0 0 0 0 0 none 0x00000000

# title class instance workspace monitor float stick focus callback x y width height xgrav ygrav
rule: "(null)" "^firefox$" "(null)" 2 (null) 0 0 1  -1 -1 -1 -1 none none
rule: "(null)" "^stickyterm$" "(null)" -1 (null) 1 1 0  -1 -1 1280 720 none none
rule: "(null)" "^(pavucontrol|transmission-gtk|steam|lxappearance)$" "(null)" -1 (null) 1 0 0  -1 -1 -1 -1 none none

I see the issue, all the nan’s should not be there.

To test a fix can you run

dkcmd set ws=_ apply msplit=0.5 ssplit=0.5

Then check the output from

dkcmd status type=full num=1

Is there still a bunch of nan in the workspace section?

Can you post your dkrc and sxhkdrc files? I know you already have but I want to make sure something hasn’t been missed.

Thanks for looking in to this!!

after
dkcmd set ws=_apply mssplit=0.5 ssplit=0.5
dkcmd status type=full num=1
gives
# globals - key: value ...
numws: 10
smart_border: 1
smart_gap: 1
focus_urgent: 1
focus_mouse: 1
focus_open: 1
tile_hints: 0
tile_tohead: 0
win_minxy: 10
win_minwh: 50

# width outer_width focus urgent unfocus outer_focus outer_urgent outer_unfocus
border: 2 1 0xff6699cc 0xffee5555 0xff444444 0xff222222 0xff222222 0xff222222

# number:name:layout ...
workspaces: 1:1:tile 2:2:tile *3:3:tile 4:4:tile 5:5:tile 6:6:tile 7:7:tile 8:8:tile 9:9:tile 10:10:tile
	# number:name active_window nmaster nstack msplit ssplit gappx padl padr padt padb
	1:1 0x02a00007 1 3 nan nan 4 0 0 0 0
	2:2 0x0320002c 1 3 nan nan 4 0 0 0 0
	3:3 0x03600003 1 3 nan nan 4 0 0 0 0
	4:4 0x00000000 1 3 nan nan 4 0 0 0 0
	5:5 0x00000000 1 3 nan nan 4 0 0 0 0
	6:6 0x00000000 1 3 nan nan 4 0 0 0 0
	7:7 0x00000000 1 3 nan nan 4 0 0 0 0
	8:8 0x00000000 1 3 nan nan 4 0 0 0 0
	9:9 0x00000000 1 3 nan nan 4 0 0 0 0
	10:10 0x00000000 1 3 nan nan 4 0 0 0 0

# number:name:workspace ...
monitors: *1:LVDS-1:3
	# number:name active_window x y width height wx wy wwidth wheight
	1:LVDS-1 0x03600003 0 0 1280 800 0 0 1280 800

# id:workspace ...
windows: 0x02a00007:1 0x0320002c:2 *0x03600003:3
	# id title class instance ws x y width height bw hoff float full fakefull fixed stick urgent callback trans_id
	0x02a00007 ".xprofile - /home/womp - Geany" "Geany" "geany" 1 0 0 1280 800 2 0 0 0 0 0 0 0 none 0x00000000
	0x0320002c "DK workspaces - Technical Issues & Assistance / DK Window Manager - ArchLabs Linux — Mozilla Firefox" "firefox" "Navigator" 2 0 0 1280 800 2 0 0 0 0 0 0 0 none 0x00000000
	0x03600003 "" "Xfce4-terminal" "xfce4-terminal" 3 0 0 1280 800 0 0 0 0 0 0 0 0 none 0x00000000

# title class instance workspace monitor float stick focus callback x y width height xgrav ygrav
rule: "(null)" "^firefox$" "(null)" 2 (null) 0 0 1  -1 -1 -1 -1 none none
rule: "(null)" "^stickyterm$" "(null)" -1 (null) 1 1 0  -1 -1 1280 720 none none
rule: "(null)" "^(pavucontrol|transmission-gtk|steam|lxappearance)$" "(null)" -1 (null) 1 0 0  -1 -1 -1 -1 none none

dkrc

#!/bin/sh

# example dkrc to show some basic command usage and error reporting

# determine where to place the log file
logfile="$HOME/.dkrc.log"
[ -d "$HOME/.local/share/xorg" ] && logfile="$HOME/.local/share/xorg/dkrc.log"
: > "$logfile"


# (re)load sxhkd for keybinds
if hash sxhkd >/dev/null 2>&1; then
	pkill sxhkd
	sxhkd -c ~/.config/sxhkd/sxhkd.dk &
fi

# (re)load polybar
if hash polybar i3-bar >/dev/null 2>&1; then
	pkill polybar
	polybar i3-bar &
fi

{ # compound command to redirect all output

	# workspace settings
	# ------------------------

	# initialize 10 workspaces (1-10)
	dkcmd set numws=10

	# default workspace '_' values used when allocating new workspaces
	# can be applied to all existing workspaces when passed 'apply' after ws=_
	dkcmd set ws=_ apply layout=tile master=1 stack=3 gap=4 msplit=0.5 ssplit=0.5

	# change workspace names
	dkcmd set \
		ws=1  name="1" \
		ws=2  name="2" \
		ws=3  name="3" \
		ws=4  name="4" \
		ws=5  name="5" \
		ws=6  name="6" \
		ws=7  name="7" \
		ws=8  name="8" \
		ws=9  name="9" \
		ws=10 name="10"

	# use grid layout, padding, and gaps on workspace 10
	dkcmd set ws=10 layout=grid pad left=200 right=200 top=100 bottom=100 gap width=50

	# use static workspaces (not default)
	dkcmd set static_ws=false

	# assign workspaces to monitors (requires static_ws=true)
	# mon1='DisplayPort-0'
	# mon2='HDMI-A-0'
	# dkcmd set \
	# 	ws=1  mon=$mon1 \
	# 	ws=2  mon=$mon1 \
	# 	ws=3  mon=$mon1 \
	# 	ws=4  mon=$mon1 \
	# 	ws=5  mon=$mon1 \
	# 	ws=6  mon=$mon2 \
	# 	ws=7  mon=$mon2 \
	# 	ws=8  mon=$mon2 \
	# 	ws=9  mon=$mon2 \
	# 	ws=10 mon=$mon2


	# global settings
	# ---------------------

	# focus windows when receiving activation and enable focus-follows-mouse
	dkcmd set focus_open=true focus_urgent=true focus_mouse=true

	# place clients at the tail and ignore size hints on tiled windows
	dkcmd set tile_tohead=0 tile_hints=false

	# minimum width/height for resizing, and minimum allowed on-screen when moving
	dkcmd set win_minwh=50 win_minxy=10

	# disable gaps and borders in single window layouts
	dkcmd set smart_gap=true smart_border=true

	# define mouse mod and move/resize buttons
	#dkcmd set mouse mod=alt move=button1 resize=button3
	# define mouse mod and move/resize buttons
    dkcmd set mouse mod=super move=button1 resize=button3

	# borders
	# ---------

	# set border width and colour for each window state
	dkcmd set border width=1 colour focus='#6699cc' unfocus='#000000' urgent='#ee5555'

	# alternatively, enable split borders and colours
	dkcmd set border width=2 outer_width=1 \
		colour \
		focus='#6699cc' \
		unfocus='#444444' \
		urgent='#ee5555' \
		outer_focus='#222222' \
		outer_unfocus='#222222' \
		outer_urgent='#222222'


	# window rules
	# --------------

	# rule class, instance, and title regexes are always case insensitive

	# open window(s) on a specific workspace (assigned monitor)
	#dkcmd rule class="^gimp$" ws=2

	# open window(s) on a monitor by number or name (active workspace on monitor)
	#dkcmd rule class="^chromium$" mon="HDMI-A-0"

	# open window(s) and use a callback function (defined in config.h)
	# we also ignore to stop the window from being resized on it's own
	# eg. mpv --x11-name=albumart /path/to/media
	#dkcmd rule class="^mpv$" instance="^albumart$" float=true ignore=true callback=albumart bw=0

	# open window(s) in a floating state
	dkcmd rule class="^(pavucontrol|transmission-gtk|steam|lxappearance)$" float=true

	# open window(s) with a specific geometry and coordinates (floating only!)
	#dkcmd rule class="^google-chrome$" title="^open files$" float=true w=1280 h=720

	# open window(s) with sticky and floating enabled to view on all workspaces.
	dkcmd rule class="^stickyterm$" stick=true float=true w=1280 h=720

	# focus window and workspace on opening
	dkcmd rule class="^firefox$" ws=2 focus=true

	# update or remove an existing rule with the same match patterns
	#dkcmd rule class="^firefox$" mon="HDMI-A-0"
	#dkcmd rule remove class="^firefox$"

	# apply current rule set to all existing windows
	dkcmd rule apply '*'

	# delete all rules
	# dkcmd rule remove '*'

} >> "$logfile" 2>&1 # append responses

# inform of any errors in a notification
if grep -q 'error:' "$logfile"; then
	hash notify-send && notify-send -t 0 -u critical "dkrc has errors" \
		"$(awk '/error:/ {sub(/^error: /, ""); gsub(/</, "\<"); print}' "$logfile")"
	exit 1
fi

exit 0

sxhkd.dk

# example sxhkdrc for use with dk
#########################################################

# launcher
alt + p
	dmenu_run

# terminal
alt + shift + Return
	st
# Open Terminal
super + Return
	xfce4-terminal

# rofi menu   (2 options)
super + d
	 rofi -modi drun,window,run -show drun -show-icons -sidebar-mode -location 0  -width 360

#super + F1	 
	 rofi -modi drun,window,run -show drun -show-icons -sidebar-mode -location 0  -width 360
	 
 # rofi Active Tasks
super + F12
	rofi -modi window -show window -show-icons -sidebar-mode

# rofi-calc
alt + r
	rofi -show calc -modi calc -no-show-match -no-sort
	
# Screenshot
alt + shift + f
	flameshot
	
# Show help
alt + h
    sxhkd-help
    
# gsimplecal
alt +shift + c
	gsimplecal
	
# calibre (books)
alt + c 
	calibre

# file managers
alt + f
	thunar 

# geany
alt + g 
	geany

# eMail
alt + t
	thunderbird  

# nitrogen wallpaper
alt + n
	nitrogen
	
# libreoffice
alt + o
	libreoffice
	
# pamac manager
alt + p
	pamac-manager

# simplenote
alt + s
	simplenote

# web browser        
alt + w
	firefox

#Lock screen
super + x
	rofi_run -l

# tags
# view, send, or follow to a workspace (by number)
super + {_,shift + ,ctrl + }{1-9,0}
        dkcmd ws {view,send,follow} {1-9,10}




# screenshot and selection capture
{_,alt + }@Print
	scrot {_,-s}

# dedicated volume keys
{XF86AudioRaiseVolume,XF86AudioLowerVolume}
	pamixer {-i,-d} 2

# dedicated backlight keys
{XF86MonBrightnessUp,XF86MonBrightnessDown}
	xbacklight {+10,-10}

# alt volume keys
alt + {Insert,Delete}
	pamixer {-i,-d} 2

# reload sxhkd
alt + shift + x
	pkill -USR1 -x sxhkd



# quit dk
alt + shift + q
	dkcmd exit

# reload dkrc
alt + shift + r
	dkcmd reload

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

# focus next or previous window
alt + {j,k}
	dkcmd win focus {next,prev}

# close window, swap tiled window in/out of master, cycle tiled windows in place
alt + {q,space,Tab}
	dkcmd win {kill,swap,cycle}

# toggle fullscreen and fake fullscreen (enable manipulating fullscreen window)
{_,alt + }F11
	dkcmd win {full,fakefull}

# toggle floating or sticky
alt + shift + {space,s}
	dkcmd win {float,stick}

# move window, signed (+/-) for relative changes
alt + shift + {h,j,k,l}
	dkcmd win resize {x=-20,y=+20,y=-20,x=+20}

# resize window, signed (+/-) for relative changes
alt + ctrl + {h,j,k,l}
	dkcmd win resize {w=-20,h=+20,h=-20,w=+20}

# move the active window up/down the stack
alt + {Up,Down}
	dkcmd win mvstack {up,down}

# view, send, or follow to a workspace (by number)
alt + {_,shift + ,ctrl + }{1-9,0}
	dkcmd ws {view,send,follow} {1-9,10}

# view, send, or follow to the next, previous, last active,
# next non-empty, or prev non-empty workspace
alt + {_,shift + ,ctrl + }{bracketleft,bracketright,BackSpace,Left,Right}
	dkcmd ws {view,send,follow} {prev,next,last,prevne,nextne}

# view, send, or follow to the next, previous, or last active monitor
alt + {_,shift + ,ctrl + }{comma,period,backslash}
	dkcmd mon {view,send,follow} {prev,next,last}

# change active workspace layout
alt + {t,r,m,g,s,w,f,u}
	dkcmd set layout {tile,rtile,mono,grid,spiral,dwindle,none,tstack}

# change number of windows in master or first stack
alt + {_,shift + }{i,d}
	dkcmd set {master,stack} {+1,-1}

# change gap width
alt + {equal,minus}
	dkcmd set gap width {+5,-5}

# change border widths
alt + ctrl + {_,shift + }{equal,minus}
	dkcmd set border {width,outer_width} {+1,-1}

womp

Everything looks like it’s fine in your configs.

Did you get any errors from dkcmd set ws=_ apply msplit=0.5 ssplit=0.5