| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As cwm was using the screen's default visual and colormap to draw all
client borders, borders for windows that had a depth of 32 bits were not
rendered correctly. The same happened with text in the popup menus which
were recently changed to be drawn in the context of the client.
This commit introduces a Visual reference for each client, and allocates
all potential colors for a client's specific visual and colormap in the
client_ctx struct. These colors are then used to draw client borders and
popup menus.
Additionally, since we touch the drawing code anyway, borders are
reintroduced to the popup menus for better contrast.
|
|
|
|
|
|
|
|
|
| |
Original file locations in the OpenBSD tree:
- lib/libc/stdlib/reallocarray.c
- lib/libc/stdlib/strtonum.c
- lib/libc/string/strlcat.c
- lib/libc/string/strlcpy.c
- sys/sys/queue.h
|
|
|
|
| |
determine what client to set active. Reduces a round trip for every window.
|
| |
|
|
|
|
| |
dosage/removal of wrappers, simplification of name queue, client cycle joins other kb/mb bound functions.
|
| |
|
| |
|
|
|
|
| |
case, create and destroy on-demand. Isolate more menu specific code.
|
| |
|
|
|
|
| |
conf_group().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
client_ctx in keypress and buttonpress event handlers; pass appropriate *ctx's
based on context.
While here, limit some globals, replace defines with appropriate variables and
fix some naming.
|
|
|
|
|
|
| |
the screen; adapted from an ancient diff from Sviatoslav Chagaev. Things
in this area will likely change, but put this in so it works now and
serves as a reminder.
|
| |
|
|
|
|
|
|
|
|
| |
active; while we already look at what's under the pointer, use this
information first, then look under the pointer (saving that round-trip).
This restores the active state to a client after restart even if the
pointer is not above it (and of course the pointer is not above another
client).
|
|
|
|
|
|
| |
fix for a regression is found; this bug has been around for a long time
it seems, but this change exposed it. Likely need to track clients in to
and out of regions.
|
|
|
|
|
|
|
| |
region_find() which no longer needs to recalculate gap each time
a client (or menu) is created or altered. If no RandR, fall back
to display dimensions while building regions instead of during
execution.
|
| |
|
|
|
|
|
|
|
|
| |
client_find valid resources as needed, relieving the need for
screen_find to ungracefully handle invalid root windows. Removes a long
standing XXX. Should theoretically allow XClientMessage handling on
more than one X screen. Alter callers of screen_find to handle
failures.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
queries (currently act on XRandR events anyway). Fall-back mode without
XRandR is still what X provides. This removes -lXinerama.
|
|
|
|
|
|
| |
and HOST_NAME_MAX+1, respectively.
ok doug@
|
| |
|
| |
|
|
|
|
| |
initialize hideall and cycling.
|
|
|
|
|
|
| |
global Clientq and place it inside screen_ctx since every client belongs
to a screen, then use the same per screen clientq to track stacking
order (the sole reason for mruq).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
group_show() and group_hide() are not the only ways a group can change
state - if all clients in a group are either hidden or unhidden, then
that group's state should change, as well as the various EWMH ways.
Instead of trying to keep track in a wide variety of places, simply
query the clients in a group before needing to take action based on the
group's state. Solves long standing confusion of when a group is hidden
or not.
|
| |
|
| |
|
|
|
|
|
| |
the hidden state on the group; important to know group hidden state
after a re-exec or restart of cwm (as easily seen in group menu).
|
|
|
|
|
| |
still use Xinerama to populate the regions per screen, but will switch
at a more appropriate time.
|
| |
|
|
|
|
|
|
| |
clients) directly into client_init, performing the X roundtrip only
once. With the previous change in maprequest, this moves decision making
into one place for creating new clients.
|
|
|
|
| |
macros in the one place they are needed.
|
| |
|
| |
|
| |
|
|
|
|
| |
adjust callers. Needed for an upcoming feature.
|
| |
|
|
|
|
|
| |
the menu window since that's the only place on which we draw
- elminate the need to change the drawable on every font draw
|
| |
|