| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
configuring the screen *after* parsing, just as we do a conf_client on
client manage.
|
| |
|
| |
|
| |
|
|
|
|
| |
menu becomes gap-aware for free.
|
| |
|
| |
|
| |
|
|
|
|
| |
XineramaScreenInfo; simplifies goop around the callers.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
While testing for Xinerama during setup was done display-wide, each time
XineramaQueryScreens() is called either in start-up or due to an XRR
event, the library re-tests for the Xinerama extension anyway before
moving on; so the initial test is redundant and allows another global to
go away with one other change: always fill in sc->xinerama (and _no),
regardless of the success of malloc in XineramaQueryScreens(), and use
it to see if Xinerama dimensions exist when asked by client and/or menu
code.
|
| |
|
|
|
|
| |
moves closer to logic in menu code.
|