aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* simplify parse_config using assignment; inspired by a very old diff fromokan2014-01-27-58/+3
| | | | Tiago Cunha.
* more range checkingokan2014-01-24-5/+8
|
* correct arguments and drop the cast.okan2014-01-24-2/+2
| | | | sanity check by oga@nicotinebsd
* no need to quote within warningokan2014-01-23-3/+3
|
* If no title is supplied, term uses only the basename for its title.okan2014-01-23-3/+3
| | | | | | | This is useless when searching for windows launched via the ssh command menu; supply a more useful title: '[ssh] <hostname>'. Idea from todd@, ok todd@
* zap whitespaceokan2014-01-22-26/+26
|
* cwm_argv doesn't need to be global any longerokan2014-01-22-6/+6
|
* start properly releasing X resources during teardownokan2014-01-22-1/+20
|
* Somewhat streamline event loop/restart/quit handling; most notableokan2014-01-22-33/+36
| | | | | | | | 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.
* Sprinkle a few more const; from Tiago Cunha.okan2014-01-21-22/+23
|
* Save the ptr position before lowering via kbd, so as to be able to cycleokan2014-01-20-1/+2
| | | | | back with the pointer in the right place; matches behaviour when lowering via the mouse function.
* merge KBFLAG_NEEDCLIENT and MOUSEBIND_CTX_*; brings kbfunc and mousefuncokan2014-01-20-77/+61
| | | | bits even closer.
* Use argument to pass down flags for mousefunc cyclegroup; removesokan2014-01-20-15/+8
| | | | rcyclegroup wrapper need - now similar to kbfunc.
* constify and rename some confusing variables around cmdq.okan2014-01-20-25/+26
|
* - remove redundant range check for buttons in conf_bind_mouse.okan2014-01-20-67/+64
| | | | | | | | | - 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.
* Add a function that adds an entry to a menuq, normalizing a common codeokan2014-01-20-55/+40
| | | | path; from Tiago Cunha.
* use consistent typesokan2014-01-03-52/+52
|
* state is longokan2014-01-03-2/+2
|
* calculate proper menu width/height on the first Expose event; 'jump' (while ↵okan2014-01-02-3/+3
| | | | using gap) noticed by Christian Neukirchen
* Accept _NET_CURRENT_DESKTOP ClientMessage; from Thomas Adam, thoughokan2014-01-02-2/+8
| | | | instead of group toggle, group only.
* Accept _NET_WM_DESKTOP clientmessage; from Thomas Adamokan2014-01-02-1/+5
|
* bring mousefunc closer to kbfuncokan2014-01-02-42/+52
|
* gc keycode in keybinding since we only deal with keysym nowokan2014-01-02-2/+1
|
* rename for clarityokan2014-01-02-5/+5
|
* When a client doesn't specify size hints, nothing prevents a resize tookan2014-01-02-1/+4
| | | | | | | 0x0 - don't allow this situation during mouse resize (check already in place for kbd resize). Reported by brynet@
* missing stdarg.h includeokan2013-12-17-1/+2
|
* replace with memsetokan2013-12-17-9/+9
|
* Implement support for EWMH's _NET_WM_STATE_FULLSCREEN hint.okan2013-12-16-43/+85
| | | | | | | | | | | | | | | | 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@
* Teach screen_find_xinerama() to apply gap only when told to do so;okan2013-12-13-21/+31
| | | | adjust callers. Needed for an upcoming feature.
* Instead of using work area, use the Xinerama area for snap calculations;okan2013-12-13-6/+14
| | | | based on a patch from Thomas Adam with appropriate adjustments for gap.
* we need the save-set when re-exec'ing so as to not lose State on our hidden ↵okan2013-12-13-1/+3
| | | | clients
* stray space and sort while hereokan2013-12-13-5/+4
|
* Add support for XUrgency and matching _NET_WM_STATE_DEMANDS_ATTENTIONokan2013-12-13-11/+47
| | | | | | | 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.
* Make sure we really take work area gap into account with snap calculations;okan2013-12-12-6/+6
| | | | from Dominik Honnef via Christian Neukirchen.
* ICCCM explicitly states that server time (CurrentTime) should *not* beokan2013-12-12-9/+16
| | | | | | | | | | | 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@
* we don't need to manage the save-set since we're not reparenting; left-over ↵okan2013-12-11-3/+1
| | | | from pwin
* since we are drawing in unhide, no need to during client setupokan2013-12-11-2/+1
|
* apply mwm hints laterokan2013-12-11-4/+4
|
* Add client wrapper for XWMHints to support XA_WM_HINTS in PropertyNotifyokan2013-12-11-10/+18
| | | | events; based off a diff from Thomas Adam.
* Remove extra work and simplify client state handling.okan2013-12-11-49/+41
|
* Stash Class and WM Hints in client_ctxokan2013-12-11-32/+27
|
* Redraw client border when unhiding; during a hide, we just unsetokan2013-12-10-1/+2
| | | | | | the active flag but never redraw since it'll be in IconicState. Behaviour reported by sthen@
* If not using sticky mode (the default), clients aren't automagicallyokan2013-12-08-5/+5
| | | | | assigned a group, thus cc->group will be NULL - fix the client group shortcut in menu lists; crash reported by Christian Neukirchen.
* When we receive a NotionNotify event, there's no need to (incorrectlyokan2013-12-02-4/+1
| | | | might I add) redraw the top menu selection.
* Always highlight the first menu item (helpful to see selected items whenokan2013-12-02-5/+3
| | | | | not using a mouse and therefore not generating Expose/MotionNotify events); from Thomas Adam.
* Prepend the group shortcut in the client search menu; from Thomas Adam.okan2013-12-02-5/+6
| | | | Likewise, prepend shortcut in unhide menu.
* Since we use IconicState as our hidden state, check for the hidden flagokan2013-12-02-3/+5
| | | | | | | | and unmanage the client if we're not hidden (basically if NormalState) during an UnmapNotify event. Resolves an issue with mplayer going fullscreen while not using NetWM hints; behaviour regression reported by Ido Admon.
* like gap, make snapdist per screenokan2013-11-27-8/+10
|
* alter -r1.145 getsizehints to deal with clients that don't haveokan2013-11-27-36/+30
| | | | WM_NORMAL_HINTS.
* Remove the option to bind a key by keycode with brackets; it neverokan2013-11-27-25/+10
| | | | | | | worked (and no one complained!). While it's fairly easy to fix, users should be using keysym names and not keycodes. Discussed at length months ago with todd@, matthieu@ and Owain.