Commit Graph

  • 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
  • a483e23e94 cvsimport okan 2014-04-21 12:52:14 +00:00
  • e9cb5b743f plug memleak (currently unused func); from Tiago Cunha okan 2014-04-21 12:52:14 +00:00
  • 1101877305 Make PREFIX, MANPATH and CFLAGS optional variables Christian Neukirchen 2014-03-21 18:47:05 +01:00
  • 4935bb73c0 builds on FreeBSD too Christian Neukirchen 2014-03-14 16:43:40 +01:00
  • 625be76fb9 Makefile: add sign action Christian Neukirchen 2014-03-13 19:24:15 +01:00
  • 2174a1960d Version 5.5 v5.5 Christian Neukirchen 2014-03-13 19:19:19 +01:00
  • 7c9565ec41 cvsimport okan 2014-02-27 00:52:57 +00:00
  • d46b0f8848 Alignment fix; found the hard way on sparc64 by landry@ (and thanks too for fast access to a box!) OPENBSD_5_5_BASE okan 2014-02-27 00:52:57 +00:00
  • 96af45583a remove TAILQ_END and __dead hacks Christian Neukirchen 2014-02-23 15:49:58 +01:00
  • 8ddc90665e cvsimport okan 2014-02-08 02:49:30 +00: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
  • 8653141b4b cvsimport okan 2014-02-03 21:07:47 +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
  • b923524a8e cvsimport okan 2014-02-02 21:34:05 +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
  • c7d4add2f2 cvsimport okan 2014-02-01 00:25:04 +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
  • 24f9bfb3ec cvsimport okan 2014-01-30 22:41:16 +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
  • 1fd3fc4997 cvsimport okan 2014-01-29 22:30:00 +00:00
  • 2be890489b Minimize trivial differences between a few kb and mb functions. okan 2014-01-29 22:30:00 +00:00
  • 59fe14bd2f keybinding -> key binding okan 2014-01-29 21:17:33 +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
  • 2b233f0548 cvsimport okan 2014-01-28 20:22:21 +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
  • 5fd119daea cvsimport okan 2014-01-24 22:38:02 +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
  • 3d2eec293a zap whitespace okan 2014-01-22 22:41:09 +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
  • 371902b3c9 cvsimport okan 2014-01-21 15:42:44 +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
  • 86b149ad25 cvsimport okan 2014-01-03 15:29:06 +00:00
  • 43ccf4eae0 use consistent types okan 2014-01-03 15:29:06 +00:00
  • f4c289b9e6 cvsimport okan 2014-01-03 14:23:50 +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
  • b387351df1 cvsimport okan 2013-12-17 16:12:18 +00:00
  • 291e0dc088 add update.sh which I use for importing from CVS Christian Neukirchen 2013-12-17 18:34:04 +01:00
  • 9b8dc1ba7f missing stdarg.h include okan 2013-12-17 16:12:18 +00:00
  • da2bea3ffa replace with memset okan 2013-12-17 16:10:43 +00:00
  • 44e2a2505b cvsimport okan 2013-12-16 19:02:17 +00:00
  • 19fc7f666b Implement support for EWMH's _NET_WM_STATE_FULLSCREEN hint. okan 2013-12-16 19:02:17 +00:00
  • 75b69c0b04 cvsimport okan 2013-12-13 22:39:13 +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
  • ddb67559f6 cvsimport okan 2013-12-13 15:56:44 +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
  • 140028e905 cvsimport okan 2013-12-11 22:14:23 +00:00
  • e767ac9c65 we don't need to manage the save-set since we're not reparenting; left-over from pwin okan 2013-12-11 22:14:23 +00:00
  • 09e07ddaaf since we are drawing in unhide, no need to during client setup okan 2013-12-11 17:23:31 +00:00
  • 68f365cddb apply mwm hints later okan 2013-12-11 15:46:47 +00:00
  • 7e0749b0b1 Add client wrapper for XWMHints to support XA_WM_HINTS in PropertyNotify events; based off a diff from Thomas Adam. okan 2013-12-11 15:41:11 +00:00
  • 0d9b1becff Remove extra work and simplify client state handling. okan 2013-12-11 14:16:09 +00:00
  • 23a1abdd8a Stash Class and WM Hints in client_ctx okan 2013-12-11 14:09:21 +00:00
  • 1d68f0683a Redraw client border when unhiding; during a hide, we just unset the active flag but never redraw since it'll be in IconicState. okan 2013-12-10 21:27:37 +00:00