Annoyance with floating windows

@natemaia hi nate.
Workflow: multi-mnitors, dynamic mode.
There is something that annoys me sometimes when I use floating windows like terminals that I did not assigned to a particular workspace, is that if I want to send them to another monitor

dkcmd mon follow $MONITOR3
dkcmd mon follow DVI-D-0

…it doesn’t (even passing the command in the terminal) , but tiled windows do move

dkcmd ws follow 1

does work… :cry: :upside_down_face:, can you light me?

1 Like

I’ll look into it, strange that it works with tiled windows but not floaters. Should be easy enough to find and fix, appreciate the heads up.


thx, precision: the pointer do follow

@archus I think it should be fixed with the latest commit, if you could verify I’d appreciate it.

It was a fix just to the cmdsend function but I think there could be a couple other edge cases, but I’m just gonna let those come up rather than trying to “over-fix” it.


ok nate, I’ll check and install last commit tonight thx

1 Like

Ok I’ve tested the commit and it works fine with floaters as you call them, but there is another issue at least for me in static and dynamic mode. For example with mpv in fullscreen, I can’t send it on workspace 6 where it belongs, I have to make it tiled manually (no change with keyboard shortcut) with its controls (minimize,maximize,close) and then it goes to the right workspace, and when in tiled mode there is a 45pxl margin on the right (screenshot).

Do you have any rules for MPV? This looks like one of the example rules.

dkcmd rule class=“^mpv$” ws=6 focus=true float=true


window state: Normal
icon window: 0x0
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x0, 0x0, 0x0
program specified size: 640 by 480
program specified minimum size: 4 by 4
program specified minimum aspect ratio: 640/480
program specified maximum aspect ratio: 640/480
window gravity: Static
_NET_WM_ICON_NAME(UTF8_STRING) = “LCBT BASH 001 Shell Basics [JIlXaYWk0lc].mp4 - mpv”
_NET_WM_NAME(UTF8_STRING) = “LCBT BASH 001 Shell Basics [JIlXaYWk0lc].mp4 - mpv”
WM_ICON_NAME(STRING) = “LCBT BASH 001 Shell Basics [JIlXaYWk0lc].mp4 - mpv”
WM_NAME(STRING) = “LCBT BASH 001 Shell Basics [JIlXaYWk0lc].mp4 - mpv”
Client accepts input or input focus: True
Initial state is Normal State.
WM_CLASS(STRING) = “gl”, “mpv”
XdndAware(ATOM) = BITMAP
_NET_WM_ICON(CARDINAL) = Icon (16 x 16):

In static mode:
mpv state=float move to ws, mon = ok
mpv state=fullscreen move to ws, mon = ok
toggle float = no

In dynamic state mode:
mpv state=float move to mon = ok, ws = no
mpv state=fullscreen move to ws = no, mon = ok
toggle float = no

when I am on mpv fullscreen window I can’t focus another win or ws but mon yes…

mpv.conf: fullscreen=no

1 Like

That’s helpful, I’ll try to recreate tonight and figure out wtf is going on


Are you budlabs in another world yt.

…not at all, just a bud youtube video.

1 Like

Hi nate, did you work on the issue? I saw some commits since I posted here, so I reinstalled but kind of same on my side. :kissing_smiling_eyes:

Hey man, I was working on some more pressing and easier issues with the last bit of time I had. Apologies for the lack of follow up I’ve just been very busy the last month. I should have this weekend free so I’ll try to figure it out.

As a side note I’ve added a bit more debug stuff over the last few commits and it can help to find where the issue is.

make clean && make debug

then in your xinitrc

exec /path/to/dk_git_repo/dk > ~/.local/share/xorg/dk.log 2>&1

# e.g.
exec /media/wdblue/git/personal/dk/dk > ~/.local/share/xorg/dk.log 2>&1

Then you can create the issue and copy the log (preferably just the last 300 lines) and link it here.

I’m assuming this only happens on multihead setups? I did try to recreate with my normal setup and no luck.

Thx I’ll make & install this way, so problem for the delay dk is still usable and I like it

Since you’re on now and I’m here I’m setting up the dual monitor so I can see.

Can you give me a very simple breakdown of what to do in order to recreate?


  • have static workspaces enabled or disabled?
  • open video with mpv
  • make fullscreen with in-video button
  • move fullscreen mpv to workspace X on monitor Y
  • etc.

EDIT: I didn’t ignore your previous post but there’s a lot of info there and I’m trying to find the simplest way to recreate.

Is that what you want?


So in static mode all works as intended is what I see, but in dynamic moving fullscreen windows has strange behaviour?

In static the issue is

Maybe it’s because of the way I put mpv in fullscreen either with mpv shortcut or sxhkd shortchut…
Anyway this is just a mpv problem or video fullscreen (didn’t test with vlc etc…)

Ok I see what you’re getting. The window does correctly change workspace but still is warped to the other monitors location.

I’m not even sure it’s specific to mpv or fullscreen windows, it’s just an issue period.

I’m not gonna be able to fix it tonight but the weekend isn’t far off and I’ll figure out what’s going on, likely just a timing issue where the workspace is being swapped to the new monitor too late vs the window being moved to the new location. Could be a bit tricky or incredibly simple.

Thanks for the patience

:blush: ok we’ll see