5d22b261a6
fix a misleading comment and function name
okan
2014-08-20 12:33:12 +00:00
6c835fd585
Remove unnecessary memset since reload was replaced with restart; from Kent Spillner.
okan
2014-08-19 18:39:41 +00:00
01cca3c114
Pull highstack from group_ctx (and useless calculations of); in the one place that we use highstack, replace that usage with a local variable (for now until stacking is done properly).
okan
2014-08-19 12:47:51 +00:00
1192007171
Get rid of nhidden in group_ctx; it actually never reported correctly 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().
okan
2014-08-18 13:57:57 +00:00
870418ff68
README: mention OS X
Christian Neukirchen
2014-06-23 16:40:30 +02:00
c7f481e6fa
Don't use included strlcpy/strlcat when already defined as macros
Christian Neukirchen
2014-06-22 22:50:03 +02:00
6798e3dde3
Make sure we cycle through existing client's group membership and set 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).
okan
2014-02-08 02:49:30 +00:00
1208225fbd
Replace a few hand rolled loops with like tailq loops.
okan
2014-02-08 02:40:43 +00:00
2a87320bbf
all mapped clients now should have a group, so simplify some cases
okan
2014-02-07 21:59:56 +00:00
3cb81ebeea
If _NET_WM_DESKTOP is set to -1 during client creation, place the client into group 0 (nogroup); solves problem initially discovered by oga@nicotinebsd with tint2. A clientmessage *after* client creation already handles this case.
okan
2014-02-07 18:09:54 +00:00
98d8483d35
Some clients set the urgency flag even if they are the active client; prevent annoying behavior by only setting the cwm urgency flag if the client is not active; diff from Thomas Adam.
okan
2014-02-06 20:58:46 +00:00
f793964c9e
Introduce a region queue and replace screen's XineramaScreenInfo; we still use Xinerama to populate the regions per screen, but will switch at a more appropriate time.
okan
2014-02-03 21:07:47 +00:00
8a6dd51fac
make this XQueryTree like the other
okan
2014-02-03 20:29:05 +00:00
ad96c16838
Move redundant bits from screen_init (while dealing with existing 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.
okan
2014-02-03 20:20:39 +00:00
ad76995af7
Move redundant window attr fetch from maprequest directly into client_init and perform that X roundtrip only once.
okan
2014-02-02 21:34:05 +00:00
ad1b78c6d1
No need to store screen colormap and visual; rather just use the X macros in the one place they are needed.
okan
2014-02-02 16:29:04 +00:00
5f9c7a21c7
Unlike free(3), XFree(3) can't be passed a NULL pointer.
okan
2014-02-02 16:13:50 +00:00
0a71742af4
The menu already limits entries with MENU_MAXENTRY, so don't bother holding a command name limit as well.
okan
2014-02-02 15:46:05 +00:00
fd827fd757
Take menu's bwidth into account for position/size; reported by Thomas Adam.
okan
2014-02-01 19:28:46 +00:00
8b63ac62c2
Let the config parser continue parsing even after encountering an error; original idea (with now-outdated patch) from Thomas Adam. Since we now report where errors exist, this now makes more sense. Expand a bit on config file parsing in the cwm(1).
okan
2014-02-01 00:25:04 +00:00
34477b8a35
re-add lost free from previous
okan
2014-01-30 22:41:16 +00:00
cc1902f57c
Switch ignoreq to winname struct since it's basically the same thing; removes limit on name matching.
okan
2014-01-30 22:17:22 +00:00
7928c1ad7c
use the same autogroupwin variable as everywhere else
okan
2014-01-30 15:43:53 +00:00
fdefcecfa0
Move cwm_status around to avoid header fu, and remove extraneous signal header from xevents.c; noticed by Christian Neukirchen.
okan
2014-01-30 15:41:11 +00:00
7b5b7cc9e9
Remove duplicate mouse functions and instead use the kbfunc ones. No user visable changes at this point, but they'll merge at an appropriate time.
okan
2014-01-30 14:40:21 +00:00
db0b2fde5c
Merge keybinding and mousebinding queues into using the same merged struct, binding; they were essentially the same accept for what was 'pressed', keysym or button.
okan
2014-01-29 21:13:52 +00:00
4438970b64
Much like we do for keyboard and mouse bindings, remove duplicates for command name - last match.
okan
2014-01-29 18:43:27 +00:00
1f8f19b4d5
Check command name/path for truncation and provide user feedback during 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.
okan
2014-01-29 18:34:22 +00:00
c28467cda5
Check ignore windowname for truncation and provide user feedback during config parse; based on a discussion with Tiago Cunha.
okan
2014-01-28 20:22:21 +00:00
df15337a9f
The EWMH spec states that if the cardinal returned is 0xFFFFFFFF (-1) then the window should appear on all desktops, which in our case is assigned to group 0. Found to fix stalonetray due to the non-ewmh aware range checking in group_movetogroup(); from Thomas Adam.
okan
2014-01-28 13:40:40 +00:00
51b3fbee52
Move conf_init/clear into main - no behaviour change; from Tiago Cunha.
okan
2014-01-28 00:42:20 +00:00
0608610cc7
move some init up and shed some blank lines
okan
2014-01-27 15:13:09 +00:00
469db5f371
simplify parse_config using assignment; inspired by a very old diff from Tiago Cunha.
okan
2014-01-27 14:49:40 +00:00
6f10349843
more range checking
okan
2014-01-24 22:38:02 +00:00
c7e2ee5dd5
correct arguments and drop the cast.
okan
2014-01-24 15:08:06 +00:00
53e77acafc
no need to quote within warning
okan
2014-01-23 17:13:38 +00:00
79248a385b
If no title is supplied, term uses only the basename for its title. This is useless when searching for windows launched via the ssh command menu; supply a more useful title: '[ssh] <hostname>'.
okan
2014-01-23 16:51:28 +00:00
978a5767ec
cwm_argv doesn't need to be global any longer
okan
2014-01-22 22:26:05 +00:00
5121ea5e10
start properly releasing X resources during teardown
okan
2014-01-22 22:14:02 +00:00
77aa5ac45b
Somewhat streamline event loop/restart/quit handling; most notable change allows a restart to trigger proper teardown first, even though teardown is not (yet) complete.
okan
2014-01-22 21:48:27 +00:00
ac3162439a
Sprinkle a few more const; from Tiago Cunha.
okan
2014-01-21 15:42:44 +00:00
83f9ef884a
Save the ptr position before lowering via kbd, so as to be able to cycle back with the pointer in the right place; matches behaviour when lowering via the mouse function.
okan
2014-01-20 23:18:47 +00:00
c7adadaf9d
merge KBFLAG_NEEDCLIENT and MOUSEBIND_CTX_*; brings kbfunc and mousefunc bits even closer.
okan
2014-01-20 23:03:51 +00:00
34f43e3f2d
Use argument to pass down flags for mousefunc cyclegroup; removes rcyclegroup wrapper need - now similar to kbfunc.
okan
2014-01-20 22:31:53 +00:00
d91571c567
constify and rename some confusing variables around cmdq.
okan
2014-01-20 21:34:32 +00:00
7263fb4c84
- remove redundant range check for buttons in conf_bind_mouse. - 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.
okan
2014-01-20 19:06:04 +00:00
720b5452aa
Add a function that adds an entry to a menuq, normalizing a common code path; from Tiago Cunha.
okan
2014-01-20 18:58:03 +00:00
08342471c8
state is long
okan
2014-01-03 14:23:50 +00:00
2843ba1e28
calculate proper menu width/height on the first Expose event; 'jump' (while using gap) noticed by Christian Neukirchen
okan
2014-01-02 22:49:10 +00:00
376e98c2c8
Accept _NET_CURRENT_DESKTOP ClientMessage; from Thomas Adam, though instead of group toggle, group only.
okan
2014-01-02 22:43:55 +00:00
5a5e7441e1
Accept _NET_WM_DESKTOP clientmessage; from Thomas Adam
okan
2014-01-02 22:26:27 +00:00
10d4dcb127
bring mousefunc closer to kbfunc
okan
2014-01-02 21:30:20 +00:00
c4f6134ebe
gc keycode in keybinding since we only deal with keysym now
okan
2014-01-02 21:17:23 +00:00
8420398068
rename for clarity
okan
2014-01-02 21:15:39 +00:00
46b1d6ef1e
When a client doesn't specify size hints, nothing prevents a resize to 0x0 - don't allow this situation during mouse resize (check already in place for kbd resize).
okan
2014-01-02 20:58:20 +00:00
f98f4615c0
Teach screen_find_xinerama() to apply gap only when told to do so; adjust callers. Needed for an upcoming feature.
okan
2013-12-13 22:39:13 +00:00
5732b65139
Instead of using work area, use the Xinerama area for snap calculations; based on a patch from Thomas Adam with appropriate adjustments for gap.
okan
2013-12-13 21:51:56 +00:00
91a29396e8
we need the save-set when re-exec'ing so as to not lose State on our hidden clients
okan
2013-12-13 15:56:44 +00:00
40858be0ae
stray space and sort while here
okan
2013-12-13 14:45:47 +00:00
34ae428cec
Add support for XUrgency and matching _NET_WM_STATE_DEMANDS_ATTENTION 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.
okan
2013-12-13 14:40:52 +00:00
0cad4ef6e0
cvsimport
Christian Neukirchen
2013-12-13 12:57:57 +00:00
fe177b7c61
Make sure we really take work area gap into account with snap calculations; from Dominik Honnef via Christian Neukirchen.
okan
2013-12-12 21:50:50 +00:00
b276a2ef00
ICCCM explicitly states that server time (CurrentTime) should *not* be 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.
okan
2013-12-12 20:15:07 +00:00