TrilbyWhite / alopex

A tabbed tiling window manager, with fur.
36 stars 4 forks source link

Is it possible to control tag stack orders outside ttwm? #5

Closed UnderCooled closed 11 years ago

UnderCooled commented 11 years ago

I'm imaging this:

ttwm --set-win-top $(ttwm --get-win-intag | dmenu -l 10)

or:

ttwm --tag=2 --set-win-top $(ttwm --get-win | dmenu -l 20)

Or using xprop, without breaking current statusline machanism. So that we will have a minimal ALT-TAB in other stack wms.

TrilbyWhite commented 11 years ago

Interesting idea. This would require implementing FIFO or socket communcation which ttwm doesn't currently use (see i3 for a wm that does). If I did add FIFO or socket(s) then this certainly could work without interfering with the statusline.

This would take a bit of work, though. I have thought about related capabilities (with the same FIFO requirement) for other purposes, and it is a possible future development (v3.0?). But I can't say it will be coming very soon.

I'm curious though what you mean by your last line "minimal ALT-TAB in other stack wms"? Can you describe the end result behavior you'd like, there may be other ways to implement it.

TTWM shares some code and much design with it's sibling ScrollWM. In scrollwm I added a window switcher which would do basically what your top command would do, and it could be modified to do the bottom one too. Building these types of behaviors into ttwm itself would actually be much easier then implementing the FIFO or sockets needed to have it scriptable like in your examples.

UnderCooled commented 11 years ago

I am tring to get a window list, maybe all windows control by ttwm or all windows in specify tag, pipe it to dmenu, then I select a window from this dmenu, ttwm move this window to top of the specify tag's window stack, a minimal version of Mac OS X 's expose, or task switcher in PekWM/Gnome/Windows.

TrilbyWhite commented 11 years ago

I'll close this as I have implemented an alt-tab cylcing of floating windows. Feel free to reopen if it doesn't work as expected.