Commit Graph

  • 26ba152692 Remove duplicate client queue (mruq); instead, remove and take the 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). okan 2014-09-08 20:11:22 +0000
  • a7f3f29ea9 Now that a group knows its screen, only pass down the group_ctx. okan 2014-09-08 13:51:29 +0000
  • 5b46f0f7d8 Add screen_ctx to group_ctx, and populate on init. okan 2014-09-07 20:57:26 +0000
  • 3d12b6d1d9 more style nits okan 2014-09-07 19:27:30 +0000
  • be091b3523 screen_fromroot -> screen_find okan 2014-09-07 17:38:38 +0000
  • 78e0f21225 Get rid of a redundant array of groups per screen; we already have a link to the group queue for each screen. okan 2014-09-07 17:27:20 +0000
  • 9735927809 update.sh: fix mirror Christian Neukirchen 2014-09-07 17:49:00 +0200
  • 9e560bd745 cvsimport Christian Neukirchen 2014-09-07 15:47:44 +0000
  • f7af0ebd72 Few style nits; extend 'path' to MAXPATHLEN. okan 2014-09-06 18:50:43 +0000
  • 977992626a generic sighandler okan 2014-09-06 16:24:32 +0000
  • 140f8b9eba style nit okan 2014-09-06 16:18:08 +0000
  • 5cd4cce3a0 Move termpath and lockpath into cmdq; side effect is that 'lock' and 'term' now show up in the application menu. okan 2014-09-06 16:14:35 +0000
  • 142f52a0aa Rework group names: stash the group name inside the group_ctx as opposed 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. okan 2014-09-06 16:08:58 +0000
  • 87d604f119 bring menu bits closer together okan 2014-09-02 14:08:39 +0000
  • 231abb818a add explicit paran and drop some empty lines bringing like functions closer okan 2014-09-01 18:17:32 +0000
  • becc7f260c Merge group_menu into mousefunc_menu_group. okan 2014-09-01 18:04:58 +0000
  • 3b99d53576 Since the flatting out of sc->group_names is only for setting NET_DESKTOP_NAMES, merge the helper into xu_ewmh_net_desktop_names, where we actually set the property. okan 2014-08-25 14:31:22 +0000
  • 7314a3aefd Implement _NET_WM_STATE_STICKY, bound to CM-s by default; allows any 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. okan 2014-08-25 12:49:19 +0000
  • ed164794cb Continue effort to bring keyboard and mouse functions together; merge name_to_kbfunc and name_to_mousefunc. okan 2014-08-24 15:49:58 +0000
  • 9f36d4af35 gc->hidden has never consistently kept track of a group's state; 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. okan 2014-08-24 15:37:45 +0000
  • fe533fdc8e Fix nogroup regression, where nogroup became an actual group - the symantics between cwm groups and ewmh got in the way. Ensure a client that wants to be in nogroup stays in nogroup (thus stays in view), even when (re)reading NET_WM_DESKTOP. Paritially reverts patchset 644 (2014-02-07 13:09 PST) which deals with a NULL cc->group. All to be revisited when NET_WM_STATE_STICKY hits cwm. okan 2014-08-22 19:04:00 +0000
  • b31b09dfc2 Purely mechanical; unify 'num', 'no' and 'shortcut'. okan 2014-08-20 15:15:29 +0000
  • 30da2211dd Split off group window restacking. okan 2014-08-20 13:42:27 +0000
  • 7f45471538 whitespace okan 2014-08-20 12:35:39 +0000
  • 5d22b261a6 fix a misleading comment and function name okan 2014-08-20 12:33:12 +0000
  • 6c835fd585 Remove unnecessary memset since reload was replaced with restart; from Kent Spillner. okan 2014-08-19 18:39:41 +0000
  • 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 +0000
  • 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 +0000
  • 870418ff68 README: mention OS X Christian Neukirchen 2014-06-23 16:40:30 +0200
  • c7f481e6fa Don't use included strlcpy/strlcat when already defined as macros Christian Neukirchen 2014-06-22 22:50:03 +0200
  • 60c600cfcf Merge 8260f53c65 into a483e23e94 Alexis Hildebrandt 2014-06-22 15:33:54 +0000
  • 8260f53c65 Add support to build using Hombrew on Mac OS X Alexis Hildebrandt 2014-06-22 15:10:54 +0200
  • a483e23e94 cvsimport okan 2014-04-21 12:52:14 +0000
  • e9cb5b743f plug memleak (currently unused func); from Tiago Cunha okan 2014-04-21 12:52:14 +0000
  • 1101877305 Make PREFIX, MANPATH and CFLAGS optional variables Christian Neukirchen 2014-03-21 18:47:05 +0100
  • 364164549a Fix Indentation tpz 2014-03-21 18:31:12 +0100
  • 4d54395462 Make PREFIX, MANPATH and CFLAGS optional variables tpz 2014-03-21 18:07:05 +0100
  • 4935bb73c0 builds on FreeBSD too Christian Neukirchen 2014-03-14 16:43:40 +0100
  • 625be76fb9 Makefile: add sign action Christian Neukirchen 2014-03-13 19:24:15 +0100
  • 2174a1960d Version 5.5 v5.5 Christian Neukirchen 2014-03-13 19:19:19 +0100
  • 7c9565ec41 cvsimport okan 2014-02-27 00:52:57 +0000
  • 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 +0000
  • 96af45583a remove TAILQ_END and __dead hacks Christian Neukirchen 2014-02-23 15:49:58 +0100
  • 8ddc90665e cvsimport okan 2014-02-08 02:49:30 +0000
  • 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 +0000
  • 1208225fbd Replace a few hand rolled loops with like tailq loops. okan 2014-02-08 02:40:43 +0000
  • 2a87320bbf all mapped clients now should have a group, so simplify some cases okan 2014-02-07 21:59:56 +0000
  • 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 +0000
  • 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 +0000
  • 8653141b4b cvsimport okan 2014-02-03 21:07:47 +0000
  • 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 +0000
  • 8a6dd51fac make this XQueryTree like the other okan 2014-02-03 20:29:05 +0000
  • 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 +0000
  • b923524a8e cvsimport okan 2014-02-02 21:34:05 +0000
  • 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 +0000
  • 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 +0000
  • 5f9c7a21c7 Unlike free(3), XFree(3) can't be passed a NULL pointer. okan 2014-02-02 16:13:50 +0000
  • 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 +0000
  • fd827fd757 Take menu's bwidth into account for position/size; reported by Thomas Adam. okan 2014-02-01 19:28:46 +0000
  • c7d4add2f2 cvsimport okan 2014-02-01 00:25:04 +0000
  • 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 +0000
  • 24f9bfb3ec cvsimport okan 2014-01-30 22:41:16 +0000
  • 34477b8a35 re-add lost free from previous okan 2014-01-30 22:41:16 +0000
  • 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 +0000
  • 7928c1ad7c use the same autogroupwin variable as everywhere else okan 2014-01-30 15:43:53 +0000
  • 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 +0000
  • 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 +0000
  • 1fd3fc4997 cvsimport okan 2014-01-29 22:30:00 +0000
  • 2be890489b Minimize trivial differences between a few kb and mb functions. okan 2014-01-29 22:30:00 +0000
  • 59fe14bd2f keybinding -> key binding okan 2014-01-29 21:17:33 +0000
  • 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 +0000
  • 4438970b64 Much like we do for keyboard and mouse bindings, remove duplicates for command name - last match. okan 2014-01-29 18:43:27 +0000
  • 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 +0000
  • 2b233f0548 cvsimport okan 2014-01-28 20:22:21 +0000
  • 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 +0000
  • 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 +0000
  • 51b3fbee52 Move conf_init/clear into main - no behaviour change; from Tiago Cunha. okan 2014-01-28 00:42:20 +0000
  • 0608610cc7 move some init up and shed some blank lines okan 2014-01-27 15:13:09 +0000
  • 469db5f371 simplify parse_config using assignment; inspired by a very old diff from Tiago Cunha. okan 2014-01-27 14:49:40 +0000
  • 5fd119daea cvsimport okan 2014-01-24 22:38:02 +0000
  • 6f10349843 more range checking okan 2014-01-24 22:38:02 +0000
  • c7e2ee5dd5 correct arguments and drop the cast. okan 2014-01-24 15:08:06 +0000
  • 53e77acafc no need to quote within warning okan 2014-01-23 17:13:38 +0000
  • 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 +0000
  • 3d2eec293a zap whitespace okan 2014-01-22 22:41:09 +0000
  • 978a5767ec cwm_argv doesn't need to be global any longer okan 2014-01-22 22:26:05 +0000
  • 5121ea5e10 start properly releasing X resources during teardown okan 2014-01-22 22:14:02 +0000
  • 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 +0000
  • 371902b3c9 cvsimport okan 2014-01-21 15:42:44 +0000
  • ac3162439a Sprinkle a few more const; from Tiago Cunha. okan 2014-01-21 15:42:44 +0000
  • 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 +0000
  • c7adadaf9d merge KBFLAG_NEEDCLIENT and MOUSEBIND_CTX_*; brings kbfunc and mousefunc bits even closer. okan 2014-01-20 23:03:51 +0000
  • 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 +0000
  • d91571c567 constify and rename some confusing variables around cmdq. okan 2014-01-20 21:34:32 +0000
  • 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 +0000
  • 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 +0000
  • 86b149ad25 cvsimport okan 2014-01-03 15:29:06 +0000
  • 43ccf4eae0 use consistent types okan 2014-01-03 15:29:06 +0000
  • f4c289b9e6 cvsimport okan 2014-01-03 14:23:50 +0000
  • 08342471c8 state is long okan 2014-01-03 14:23:50 +0000