Created by Olaf Seibert on 2020-12-27 and last modified on 2020-12-30
Get this branch:
bzr branch lp:~ctwm/ctwm/windowstack
Members of ctwm can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information


Recent revisions

682. By Olaf Seibert on 2020-12-30

Slightly improve the strange test involving Scr->Focus, and also improve
the comment that "explained" it. Still it is not right and this should likely
be done in a different manner.

681. By Olaf Seibert on 2020-12-29

Remove "after" argument from AddWindowToRing(), which is always the same.
The argument is only needed for AddWindowToRingUnchecked().

680. By Olaf Seibert on 2020-12-29

Make insertion in the doubly-linked circular list clearer by using
a temporary variable.

679. By Olaf Seibert on 2020-12-29

Remove this test: there are no NULL pointers in a circular list.

678. By Olaf Seibert on 2020-12-29

RingLeader can change if we enter or leave windows. That would rotate
the stack. Therefore we designate "Scr->Ring" as a fixed point to start
every time.

677. By Olaf Seibert on 2020-12-29

Change terminology a bit and draw explanatory diagrams.

676. By Olaf Seibert on 2020-12-27

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"

675. By Matthew Fuller on 2020-07-18

Force left-justification of overlong title strings Other
justifications can have weird misbehaviors, and anyway, if we can't
show the whole thing, at least the first bit will make sense by
itself; other fragments, not so much.

Based on suggestion by Carl Svensson <email address hidden>.

674. By Matthew Fuller on 2020-07-11

Doc previous in CHANGES.

673. By Maxime Soulé <email address hidden> on 2020-07-11

Adjust the repositioning when squeezeing away a window and the
titlebar is also squeezed. The 2d border is outside the width, so it
doesn't figure into that, but does figure into the new X coordinate.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.