| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* refs/heads/master:
more client vs screen context differences
If a client sets hints, honor them for kb resize requests, just like we do for mouse based resize requests.
Move kb pointer movement out of the kbfunc_client_moveresize since it's got nothing to do with clients, thus doing flags work causes lots of waste and almost useless jumpy pointer movements; while here, split out move and resize since they share almost no code, just like mouse client move/resize; factor out amount and factor. Still wonder why this is here, but it works now.
pledge "stdio rpath proc exec" cwm before main event loop, after init/setup - mostly for menu building.
Partial revert of replacing screen_area() with region_find(); until a 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.
Use position on root to figure out region.
Start cleaning up name vs function differences; replace magic numbers.
Clean up unused defines.
Extend region to include both view and work areas; switch to 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.
|
| |
| |
| |
| |
| |
| | |
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.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* refs/heads/master: (21 commits)
Lost fix from r1.112; add comment.
Mechanical change: group->gc
Add consistent checks against NULL.
Move client cycle grab/ungrab into a more relevant place; while here, update comments about why we need to grab/ungrab the keyboard.
Re-add lost chunk in group_cycle from r1.113.
Further simplify _NET_WM_DESKTOP handling using new group_assign().
oops; remove left over debug print
Allowing sending a valid 'nogroup' (0) group_ctx to group_assign() (since we init all groups), though assigning the client's group to NULL for 'sticky'; use this simplification in a few places (others to follow).
Split out sticky mode checks and the restoring of a client's group and _NET_WM_DESKTOP from the config-based auto-grouping; no (intentional) behavior changes. Needed for further work in cleaning up this area.
Implement _NET_CLIENT_LIST_STACKING (from Thomas Admin), but bottom-to-top order, as per spec (notified Thomas as well).
Don't allow freeze operations on fullscreen (consistent with what fullscreen does).
Sort _NET_WM_STATE Atoms like the spec.
Move CLIENT_STICKY logic from client hide/unhide to group hide/unhide; rationale being that clients should be able to hide/unhide independently of group switching.
Add Xkb modifier to ignore mask; from Alexander Polakov.
Fix whitespace.
Add client freeze extension to _NET_WM_STATE Atom, allowing flag to persist. As usual with new Atoms, requires X restart.
_NET_WM_STATE_STICKY implies only sticky at the group/desktop level, not position and size; based on discussion with a few.
Instead of special casing the 'term' and 'lock' commands, go back to keeping them hidden; showing them has apparently caused confusion/angst.
Leave command list order from .cwmrc alone; remove sort.
Bring group and client cycle closer together.
...
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\| | |
|
| | | |
|
| | | |
|