bbidulock / icewm

A window manager designed for speed, usability, and consistency
Other
596 stars 99 forks source link

What is the new equivalent of icesh setTrayOption since 2.0.0? #537

Closed zaza42 closed 3 years ago

zaza42 commented 3 years ago

I used to use icesh setTrayOption often, but I've experienced this commit, which removed setTrayOption completely. How can I put window to systemtray from commandline since then?

gijsbers commented 3 years ago

Only via https://ice-wm.org/man/icewm-winoptions or https://ice-wm.org/man/icewmhint, sorry.

zaza42 commented 3 years ago

So, put an already running program to systemtray is impossible now? ;-< Can you recommend any dirty hack solution?

gijsbers commented 3 years ago

No, because the _WIN_TRAY message handler and property event handler are no longer there, sorry. The only obscure way that remains is to use https://en.wikipedia.org/wiki/Xnee, quite a challenge.

zaza42 commented 3 years ago
IFS="+x" read _ _ _ _ _ wx wy <<<$(icesh -f list)
xdotool mousemove --sync $((wx)) $((wy-5)) click --clearmodifiers 1 \
    mousemove_relative --sync 0 200  click --clearmodifiers 1

Okey, this works, but... What can I do when an application is in fullscreen?

gijsbers commented 3 years ago

Temporarily maximize it, then post the menu, do your thing, re-fullscreen it.

zaza42 commented 3 years ago

Let me describe exactly what my problem is: i use devilspie2 to stick and tray every window which is on the second head (on a projector). Various programs, various keycombos to exit and enter fullscreen, so...

x, y, width, height = get_window_geometry();
if (x > 1599) and (x < 9999) then
    wid = get_window_xid()
    path = [[/usr/bin/icesh -window ]] .. wid .. [[ setTrayOption 2]]
    os.execute(path)
    pin_window()
end

Can we have an option in icewmhint or winoptions which matches the windowgeometry (position) not the class?

gijsbers commented 3 years ago

Couldn't icewmhint do the thing for you? Do these apps support the WM_WINDOW_ROLE property? Could alltray be of help?

zaza42 commented 3 years ago

I couldn't find what alltray is.

gijsbers commented 3 years ago

https://launchpad.net/alltray https://github.com/mbt/alltray

zaza42 commented 3 years ago

Ohh, I thought this is an icesh or icewmhint parameter, or it has something to do with icewm. No, alltray does a totally different thing than my goal, even icewmhint is more suitable.

Can't we get back that setTrayOption feature? It has the power among other wms.

gijsbers commented 3 years ago

Yeah, I was already thinking in that direction. If we just restore message event handler for the _WIN_TRAY message, but not yet the property(??).

zaza42 commented 3 years ago

THANX for v2.1.0!