Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desktops (workspaces) support #48

Closed
sagb opened this issue Feb 22, 2018 · 7 comments
Closed

Desktops (workspaces) support #48

sagb opened this issue Feb 22, 2018 · 7 comments
Milestone

Comments

@sagb
Copy link
Owner

sagb commented Feb 22, 2018

Current goal of master (release) branch: full desktops support.
Current strategies:
-1 desktop: switch to any desktop, including -1 (as for i3), except in cwm.

The following madness must be taken into account:

lwm (#40):
number of desktops: 1
current desktop: 0
window's desktop: _NET_WM_DESKTOP or _WIN_WORKSPACE aren't set.

cwm (#35):
number of desktops=10
active desktop=1
window's desktop=-1 (_NET_WM_DESKTOP(CARDINAL) = 4294967295)
group membership switched by ctrl-alt-g (man openbsd-cwm),
-1 means "isn't member of any group"

i3 (#45):
number of desktops: 1
current desktop: 0
normal window's desktop: 0
window on hidden desktop aka "scratchpad": -1 (_NET_WM_DESKTOP(CARDINAL) = 4294967295)
Unlike cwm, -1 does indeed mean something.
Also, scratchpad window has:
WM_STATE(WM_STATE):
window state: Withdrawn

A comment in wmctrl:
/* special desktop ID -1 means "all desktops", so we
have to convert the desktop value to signed long */
also see "sticky window" in man
-d 2 for "sticky windows always shown" or "-1 desktop always shown"?

sagb added a commit that referenced this issue Feb 22, 2018
sagb added a commit that referenced this issue Feb 23, 2018
sagb added a commit that referenced this issue Feb 23, 2018
Switch desktop,
prevent BadMatch in XSetInputFocus.
See #48.
@sagb
Copy link
Owner Author

sagb commented Feb 25, 2018

EWMH switching issues basically fixed (#45).

@sagb sagb added this to the v 1.3.0 milestone Feb 25, 2018
@eater
Copy link
Contributor

eater commented Feb 28, 2018

I'm noticing this today in i3:
When I have a workspace that's not visible, and on that workspace there are stacked windows, such that window X is in front of window Y. If I use Alttab to switch to window Y, it takes me to the correct desktop, but it does not raise window Y, which is still behind window X.

Event type 14
destroying our window
changing focus to 3800063
ewmh_setFocus win 3800063
ewmh_setFocus fwin 0 opt 1 wdesk 5 cdesk 5
ewmh switching window to 58720355
pull out g.winlist[1] to top
destroying tiles
destroying icons and winlist
sortlist before freeWinlist: 58720355 92274691 85983348 41943254 58720290 58720285 58720470 41943043 90177579 20971599 71303327 44040195 41981682 58720329 58720330 58720344 50331662 42009127 25165827 
Release 4a00136: 8-64

@sagb
Copy link
Owner Author

sagb commented Mar 1, 2018

I'm not sure what do you mean by invisible workspace. Could you point to the specific section in https://i3wm.org/docs/userguide.html ?

@eater
Copy link
Contributor

eater commented Mar 1, 2018

I just meant: I have 5 workspaces and 2 monitors. So only 2 workspaces are visible at a time on those monitors. The other 3 workspaces are not visible.

sagb added a commit that referenced this issue Mar 5, 2018
fix: #35
see also #48
@sagb
Copy link
Owner Author

sagb commented Mar 6, 2018

I can't reproduce this. I did the following:

run alttab -d 1
i3-msg 'layout stacking'
opened some windows, they appear stacked
switched to another workspace ($mod-number), opened some windows there
pressed alt-tab and switched to arbitrary window on stacked workspace

Every time this procedure switches desktop, brings correct window at the front and focuses into it.

@eater
Copy link
Contributor

eater commented Mar 6, 2018

I'll let you know if I'm able to reproduce it again -- seeming fine today.

@sagb
Copy link
Owner Author

sagb commented Apr 12, 2018

Desktop related features considered stable in 1.3.0 released.

@sagb sagb closed this as completed Apr 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants