summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* save an X call and use what we already have stored.okan2008-07-151-8/+4
| | | | ok oga@
* don't compensate for bwidth twice.okan2008-07-151-2/+2
| | | | ok oga@
* Nm makes more sense than Xr, from Pierre Riteau - thanks!okan2008-07-111-1/+1
|
* Change "a window" to "current window" in documentation. it's more correct.oga2008-07-112-68/+68
| | | | | | While i'm here: Capital letter and full stop in descriptions in cwmrc.5 "looks good - do it" okan@.
* add Xr for cwm(1)okan2008-07-111-2/+3
|
* no more hidden (and mysterious) config reloads and allow binding a keyokan2008-07-116-27/+13
| | | | | | to a config reload; CMS-r by default. ok oga@
* replace snprintf with strlcpyokan2008-07-111-2/+1
| | | | ok oga@
* we already have ymax, so use it instead of asking X for it again.okan2008-07-111-7/+3
| | | | ok oga@
* spacing, declaration lineup to be consistent throughout cwm,okan2008-07-1117-263/+292
| | | | | | readability, and a bit of knf. ok oga@
* only cycle through visible *and* non-ignored windows.okan2008-06-301-2/+2
| | | | ok oga@
* Allow a mouse binding to hide a window, and add a default keybinding for CMS-M3,oga2008-06-255-1/+14
| | | | | | so it's hard to press by accident, but there if you need it. requested (in a way) and tested by johan and todd.
* Support mod4 (windows key) in mouse bindings too.oga2008-06-252-1/+7
|
* Support shift in mouse bindings. There's really no reason not to.oga2008-06-252-0/+6
| | | | tested by johan@ and todd@.
* Actually grab the correct mouse buttons for a window, instead of doing theoga2008-06-253-2/+32
| | | | | | old hardcoded ones (which now can be wrong). tested by todd@ and johan@.
* Sort flags.oga2008-06-252-5/+5
| | | | | | From Pierre Riteau, thanks! ok okan@.
* Stop keyboard move moving the window utterly off the screen. If thatoga2008-06-251-2/+14
| | | | | | | happens there's no way to get it back. Also, stop resize making a windows size negative or zero. X does not like that one bit. Diff from Martynas. Ok okan@.
* Don't link "-lX11 -lXau -lXdmcp" twice.oga2008-06-191-2/+2
| | | | From Martin Toft, thanks!
* No need to map/unmap the window on hide/show since we already do theoga2008-06-181-2/+0
| | | | | | same to its parent. "makes sense" okan@.
* Revert previous "fix" it introduces new issues of its own.oga2008-06-181-1/+1
| | | | | | | The problem that's causing us to lose windows is that rapid hiding and unhiding causes a backlog of X events, so we lose track of client state, and delete cc->pwin when we should not. A proper fix will arrive when it's been worked out.
* missed one mouse functionokan2008-06-171-1/+2
| | | | noticed by oga
* Ignore caps lock and numlock for keyboard bindings. The way Xlib makesoga2008-06-175-22/+25
| | | | | | | | | you do this is ugly. Also remove mod2 (numlock) and mod3 (odd) from the list of keybinding modifiers. They don't make much sense here. based on a heavily modified diff from Martynas. ok okan.
* Just rework the mouse binding calculation on event to look like theoga2008-06-171-15/+13
| | | | | | | | kbfunc one. Makes the code a lot easier to read. Fixes a bug i introduced in the last commit here. ok okan.
* The mousebinding code missing a break once it had found the correctoga2008-06-171-16/+17
| | | | | | | | | binding, this expose another issue that's still being debugged. Issue pointed out by Dan Harnett, thanks! While i'm here KNF and rework the logic to not be ass-backwards. ok okan.
* Make this not crash when compiled with -g.mk2008-06-162-6/+3
| | | | | | Found by myself, analysis by kurt@, fix by me with input from otto. ``Just get some fix in...'' deraadt
* Rip out and burn the HASH_* stuff. We don't need a SPLAY tree for one font.oga2008-06-158-222/+56
| | | | | | | makes the code a lot simpler. While here rearrange the font handling functions to be less shit. ok and help okan@.
* (mostly) proper xshape event supportokan2008-06-144-7/+18
| | | | ok oga@
* unbreakokan2008-06-141-1/+1
|
* slightly alter the semantics of config files:okan2008-06-142-2/+9
| | | | | | | | - if no config file, continue silently and apply defaults - if config file, parse and move on - if config file specified but not found, error out ok oga@
* confable menu and window mouse bindings from rivo nurges (thanks!) withokan2008-06-147-101/+329
| | | | | | some minor fixups, man page bits and knf. ok oga@
* finally document functions that can be bound, removing the need to haveokan2008-06-131-6/+106
| | | | | | name_to_kbfunc[] around. feedback jmc@, ok oga@
* Don't client_delete() on an Unmap event, only do that on a client delete event.oga2008-06-131-14/+2
| | | | | | | | | | found by (among others) todd@ when you have a lot of clients and do something that maps and umaps a lot of windows fast. Debugged with aid of gdb, todd, okan and NULL pointers in a pizza place in edmonton while waiting an inordinately long time for food. ok okan@, todd@
* kill another long gone protookan2008-06-121-1/+0
|
* remove old (moved) codeokan2008-06-121-14/+0
| | | | ok oga@
* instead of forcing the ptr in the middle everytime, be more 'calm'; keepokan2008-06-122-8/+13
| | | | | | | | the ptr still unless it moves out-of-bounds, then just follow the edge. brought up by todd@ ok oga@
* place the pointer in the middle of the window after resizing with grab,okan2008-06-121-0/+2
| | | | | | | | just like keyboard resize. from Edd Barrett ok oga@
* ignore if non-zero expose events, for we could be covered by multipleokan2008-06-121-1/+1
| | | | | | windows; merely an optimization. ok oga@
* re-work client_placecalc()okan2008-06-121-44/+28
| | | | | | | - make sure new clients sit inside the current screen - respect 'gap' placement on new clients ok oga@
* Enter -> Return, to be consistant and correct.okan2008-06-051-4/+4
| | | | | | found the hard way by johan and discovered by oga. "do it" oga@
* prevent trying to exec a null char; could potentially happen with aokan2008-06-051-1/+1
| | | | | | canceled or empty searchstr. ok oga@
* actually honor termpath and lockpath if specified in cwmrc.okan2008-06-051-5/+5
| | | | "now" oga@
* "Meta is a perfectly well defined concept in X (The keys bound to theokan2008-06-031-1/+1
| | | | Meta_L or Meta_R keysysm). no need to redefine it roughly there" - matthieu@
* make sure to take bwdith into account when placing a new window.okan2008-05-231-3/+2
| | | | ok oga@
* Grab the keyboard when we initialise the menu. This stops the keyboardoga2008-05-231-0/+5
| | | | | | shortcut code stealing our events in some cases. "put 'er in" okan@.
* Make menu_filter handle mouse movement too. This enables the keyboardoga2008-05-216-153/+142
| | | | | | | | | | search dialogues to be manipulated with the mouse, too. It also allows me to shrink the codebase further by killing grab_menu(). One known issue with highlighting the first entry in a search dialogue, that'll be fixed soonish. ok okan@, tested by Edd Barrett and todd@.
* Pull out the behaviour in grab_label and search_start into one utilityoga2008-05-208-389/+340
| | | | | | | | | | | function menu_filter(). The plan is to eventually merge in grab_menu too. Shrinks the code a fair bit. Also, change XMaskEvent for XWindowEvent to prevent getting exposes for other windows. This is particuarly noticable on slow machines with a LOT of xterms (todd, you're an odd man). ok okan@, todd@.
* General cleanup.oga2008-05-193-19/+19
| | | | ok okan@.
* stop normalizing search input; searching and matching are stillokan2008-05-194-7/+4
| | | | | | | | | case-insensitive. since this was the only use of normalizing input, simplify as well. allows one to exec with mixed case unmatched commands. "works for me" oga@
* Function prototypes should not have parameter names in them. These mustoga2008-05-191-11/+11
| | | | | | have been missed last time i knfed this. ok okan.
* client_cyclenext() -> client_cycle() since we now pass an arg.okan2008-05-193-4/+3
| | | | | | removes a stray proto as well. discussed with and ok oga@
* allow an autogroup value of 0 to mean no group. This means you can setoga2008-05-194-3/+10
| | | | | | | | | automatically "sticky" (in the traditional sense of the word) windows in autogroup mode. Based on an initial diff from Andrew Fresh, thanks! ok okan@.