felixfung / skippy-xd

A window selector for X11 with Exposé and live preview Alt-Tab effects and more
GNU General Public License v2.0
19 stars 2 forks source link

Setting a specific space of the screen for skippy to run in it #128

Open lysergik opened 1 month ago

lysergik commented 1 month ago

Less an issue than a question or a feature request. But I'm wondering if it is possible make skippy display the expo effect only on a part of the screen, for instance leaving space on a 200 pixel height on the top of the screen. This could help using it with rofi to make a minalist gnome-shell.

Are there command flags or configuration option or the space used on the screen is hard coded ?

felixfung commented 1 month ago

I am not familiar with rofi, but I have indeed envisioned such features, and it has recently been implemented!

If panel/show config option is set to true (default true), this would show _NET_WM_WINDOW_TYPE_DOCK windows during expose.

If panel/showDesktop config option is set to true (default false), then _NET_WM_WINDOW_TYPE_DESKTOP windows would also be shown.

If panel/allowOverlap config option is set to false (default false), then expose would reserve space for these windows.

PR #127 implements panel/allowClick config option, which would allow the user to click the panel during skippy-xd activation. Parsing keyboard keys to panels would be easy to implement, but in terms of user interface the user would still have to hoover on the panel to do it. Do you think it would be good experience?

To set rofi or other windows to _NET_WM_WINDOW_TYPE_DOCK, do:

xprop -id $(xdotool search --class rofi) -f _NET_WM_WINDOW_TYPE 32a -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_DOCK

Let me know if you are able to set it up as intended.

The biggest problem is PR #127. Right now it does NOT work, because parsing user input to the panel window via XSendEvent() and xlib is *@#!. If you or anyone know how to do it, let me know...

lysergik commented 1 month ago

Thanks for your answer ! I'll give it a try when I wilk have a bit of time to do so and let you know how it went.

felixfung commented 3 weeks ago

With PR #131, #132 panel/showDesktop becomes display/showDesktop, as _NET_WM_WINDOW_TYPE_DESKTOP windows are for wallpaper or desktop background, and are conceptually irrelevant to panels or docks