~ctwm/ctwm/windowstack

Viewing all changes in revision 676.

  • Committer: Olaf 'Rhialto' Seibert
  • Date: 2020-12-27 17:23:00 UTC
  • Revision ID: rhialto@falu.nl-20201227172300-1d3k60t0upiknmnr
A first go at a windowring that behaves like a stack.

Based on the following observations:

- The difference between a window ring and a stack is effective at
  the moment the modifier key is released.
  - at modifier-down time, we remember the "top of the stack".
  - at modifier-up time, we move window we moved to (if any) to the top
    of the stack.
- So if we can do some administrative work both when the modifier is pressed
  and when it is released, we can make a ring into a stack.
- We can already make bindings for pure modifier keys.
- All current bindings are for key-down events.
- We can make bindings for key-up events if we pretend this is a new modifier.

# This makes bindings for the usual window ring:
"Tab"     = m4             : all : f.warpring "next"
"Tab"     = m4 | s         : all : f.warpring "prev"
"Return"  = m4             : all : f.ring

# This turns the window ring behaviour into a stack behaviour:
# Note that the Super key corresponds to modifier 4.
"Super_L" =                : all : f.warpring "startstack"
"Super_L" = up | m4        : all : f.warpring "finishstack"

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: