| Commit message (Collapse) | Author | Age | Lines |
| |
|
| |
|
|
|
|
| |
initialize hideall and cycling.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
this check to decide if a group is virtually empty. Rationale: if a
group contains *only* 'sticky' clients, it should be skipped while
cycling through groups. Apply similar logic to the group menu.
Based on an idea from phessler@, who also tested another version.
|
| |
|
| |
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
| |
|
|
|
|
| |
link to the group queue for each screen.
|
|
|
|
| |
'term' now show up in the application menu.
|
|
|
|
|
|
| |
to having to manage an array outside in screen_ctx for group names and
shortcuts. Simplifies (and moves bits for) reading, and constructing
data for, EWMH's _NET_DESKTOP_NAMES.
|
| |
|
|
|
|
|
| |
NET_DESKTOP_NAMES, merge the helper into xu_ewmh_net_desktop_names,
where we actually set the property.
|
|
|
|
|
|
|
| |
client to 'stick' to all desktops (ewmh speak) or groups - this
currently has the same affect as setting a client's group to 'nogroup',
with the exception that the client can also be in a group, so when
un-sticking, the client will go back to its original group/desktop.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
place that we use highstack, replace that usage with a local variable
(for now until stacking is done properly).
|
|
|
|
|
|
|
| |
since nhidden wasn't incremented nor decremeted in all the right places,
thus confusing matters. We don't need to carry a count around, so just
use a local variable in the one place we need one to supply
XRestackWindows().
|
|
|
|
|
| |
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.
|
|
|
|
| |
holding a command name limit as well.
|
|
|
|
| |
removes limit on name matching.
|
|
|
|
| |
header from xevents.c; noticed by Christian Neukirchen.
|
|
|
|
|
| |
user visable changes at this point, but they'll merge at an appropriate
time.
|
| |
|
|
|
|
|
| |
struct, binding; they were essentially the same accept for what was
'pressed', keysym or button.
|
|
|
|
|
|
| |
config parse (and use conf_cmd_add to populate defaults); based on a
discussion with Tiago Cunha. While this looks ugly, there are likely
some other changes here to come.
|
|
|
|
| |
config parse; based on a discussion with Tiago Cunha.
|
|
|
|
|
|
|
|
| |
change allows a restart to trigger proper teardown first, even though
teardown is not (yet) complete.
After some discussion with oga@nicotinebsd.org regarding a more
complicated version/idea.
|
| |
|
|
|
|
| |
bits even closer.
|
|
|
|
| |
rcyclegroup wrapper need - now similar to kbfunc.
|
| |
|
|
|
|
|
|
|
|
|
| |
- make conf_bind_kbd return error on non-matches to match what
conf_bind_mouse does.
- rename some variables while here for clarity.
- constify bind and cmd.
from Tiago Cunha.
|
|
|
|
| |
path; from Tiago Cunha.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we already have a form of 'maximize', we need to differentiate
between 'maximize' and the new 'fullscreen' mode. The 'maximize' mode
will continue to honor gap but now *retains* the border, matching the
'vert/horz maximize' behaviour. The new 'fullscreen' mode supports and
follows the _NET_WM_STATE_FULLSCREEN hint, allowing the client perform
additional window modifications; in this mode, cwm(1) will *ignore* gap,
remove borders and freeze(move/resize) the client. Additionally,
'fullscreen' mode will remember various combinations of previous states.
* default keybinding changes: CM-f 'fullscreen', CM-m 'maximize' (re-map
as desired).
Positive feedback from a few, testing and ok sthen@
|
|
|
|
| |
adjust callers. Needed for an upcoming feature.
|
|
|
|
|
|
|
| |
ewmh hint; urgencyborder is configurable. The urgency flag will stick,
even while on a client in a non-viewable group, until the client
receives focus (where the border is reset). Initial diff from Thomas
Adam with some changes/enhancements from me.
|
|
|
|
|
|
|
|
|
|
|
| |
used for focus events, but rather the timestamp of the generated event.
Track the last event timestamp and send it down for a WM_TAKE_FOCUS
ClientMessage. I suspect we should do this for clients that don't
announce this Atom as well, though the raciness gets us into a bind.
Solves focus order issue since WM_TAKE_FOCUS; fix verified by sthen@
ok sthen@
|
|
|
|
| |
events; based off a diff from Thomas Adam.
|