ice-wm / icewm

IceWM releases only, see Wiki
https://github.com/ice-wm/icewm/releases
Other
289 stars 16 forks source link

KeyTaskbarSwitchNext rolls down my windows but KeySysWinNext doesn't #98

Closed hckiang closed 1 year ago

hckiang commented 1 year ago

I have a habit of having lots of rolled up windows and sometimes I want to switch between my rolled up windows without unrolling them. This doesn't seem to be possible currently.

One option is KeySysWinNext, which doesn't unroll my windows automatically, but it has a behaviour of not traversing all my windows in the desktop for some reasons. On the other hand KeyTaskbarSwitchNext traverses all my windows but it automatically unrolls my windows, which is very annoying to me.

There doesn't seem to be any options to configure this behaviour yet. Is there a chance this will be a feature in future releases?

gijsbers commented 1 year ago
  1. It is not clear what you meant by switch.
  2. KeySysWinNext indeed skips some. What is the characteristic of your skipped windows?
  3. It is difficult to modify KeyTaskbarSwitchNext in the sense that you mean, because of software internal reasons.
  4. I have added two commands to icesh. The "stacking" will sort the list of windows and -last will keep the bottom-most. Then you can raise that one. Like in icesh -a stacking -l raise. This command you can use in your "keys" file.
hckiang commented 1 year ago
  1. By "switch" I mean "make the titlebar's colour change so that next time I do KeyWinRollup it will roll/unroll that rolled up window". icesh's "raise" doesn't let me do this, while its "activate" will unroll thing automatically.
  2. They are Java programs, namely PDF Studio Pro.
  3. I see...
  4. Thanks for the quick update! But unfortunately "raise" doesn't do the job... Maybe what we need is actually a version of icesh's activate window action but without the simultaneous unrolling?
gijsbers commented 1 year ago

1.

  1. The programs show "Globally" in the output of icesh -a focusmodel?
  2. The free pdf viewer has "Globally" focusmodel and when rolled up it can't be focused. That is why KeySysWinNext fails. Another trick is to quickly activate and then roll up: icesh if -P _NET_WM_STATE=_NET_WM_STATE_SHADED activate delay 0.1 rollup else activate
hckiang commented 1 year ago

Yes, it shows "Globally" here as well although I have no idea what it is. Is this a flaw of the PDF viewer rather than IceWM's?

Your kind of hack does work but the activation is quickly drawn and disappear, which looks a bit glichy but I'm happy that it at least works.

gijsbers commented 1 year ago

This seems to fix it. Can you verify?

hckiang commented 1 year ago

Thanks! It's working perfectly now!