Commit Graph

  • 8515d717ae Re-implement XClientMessage handling so that we can feed screen_find and client_find valid resources as needed, relieving the need for screen_find to ungracefully handle invalid root windows. Removes a long standing XXX. Should theoretically allow XClientMessage handling on more than one X screen. Alter callers of screen_find to handle failures. okan 2015-06-30 14:01:43 +00:00
  • 9ea5f25347 Shuffle code in kbfunc_ssh so that a missing known_hosts file still allows a (now blank) menu to appear, as opposed to nothing at all. okan 2015-06-29 14:24:40 +00:00
  • e7b4045ece move client_find down okan 2015-06-28 19:54:37 +00:00
  • 17720de4ab replace assert usage okan 2015-06-28 19:50:46 +00:00
  • 18f63629fd region is a _ctx, so name it so okan 2015-06-26 18:54:25 +00:00
  • 66bc416217 Mechanical change from xinerama to region backed areas. okan 2015-06-26 17:17:46 +00:00
  • 90288e2fc3 collect 'gap' applications okan 2015-06-26 16:11:21 +00:00
  • 8aa40078d1 Replace screen region info gathering with XRandR equivalent of Xinerama queries (currently act on XRandR events anyway). Fall-back mode without XRandR is still what X provides. This removes -lXinerama. okan 2015-06-26 15:21:58 +00:00
  • 4454948f21 cvsimport okan 2015-06-09 13:02:15 +00:00
  • ee400b08a8 typo in comment; from jsteinha [at] iutbayonne.univ-pau.fr okan 2015-06-09 13:02:15 +00:00
  • 654bae4f59 just populating the ctx is enough since the menu uses a callback and ignores anything else okan 2015-06-08 15:43:13 +00:00
  • e9750e2144 switch to search_print_client() as the print callback since it will now display labels as well okan 2015-06-08 15:41:27 +00:00
  • 8888c44888 add client label okan 2015-06-08 15:34:03 +00:00
  • 9180bb1a06 stash window dimensions okan 2015-06-08 15:11:29 +00:00
  • 8653c88c90 clean up okan 2015-06-08 15:08:44 +00:00
  • bd5f724931 even if the menuq is empty, at least show an empty menu instead of just bailing making it look like the binding isn't working. okan 2015-06-07 19:10:00 +00:00
  • cd5827491c use the same geometry struct in menus as everywhere else okan 2015-06-05 18:43:36 +00:00
  • a4cba7e113 add a flag to indicate a menu list instead of overloading 'prompt' okan 2015-06-05 15:01:51 +00:00
  • f22a3b1065 redundant check for 'list' okan 2015-06-05 14:54:04 +00:00
  • d9f38134be a start to cleaning: - no reason for pointer movement and window movement and resizing sections that just describe default key bindings - key bindings are for all search and exec dialogs, not just for windows - adding missing bindings - normalize and wordsmith - re-order sections according to mdoc(7) okan 2015-05-31 23:07:36 +00:00
  • b1c2046efd merge kbd and mouse grouptoggle okan 2015-05-21 00:37:04 +00:00
  • 31d4fe9f33 fill in mwm defines okan 2015-05-20 23:54:39 +00:00
  • b9db4486da Fix autogroup so name,class doesn't need to be quoted. kspillner 2015-05-17 04:39:50 +00:00
  • d328f63c7d Make window name and window class separate parameters to conf_autogroup. No functional change, but will be used shortly. kspillner 2015-05-17 04:34:01 +00:00
  • 7c4a8f3b51 Fix stat patch to use lstat(2) and fix logic James McDonald 2015-04-23 21:20:16 +02:00
  • 4cb6e0b17b Add an additional stat() check if a d_type check fails for kbfunc_exec lookups James McDonald 2015-04-12 10:32:24 +02:00
  • da1021c60c queue.h: update. Christian Neukirchen 2015-04-06 19:47:04 +02:00
  • ffbfc32999 add reallocarray.c Christian Neukirchen 2015-03-29 18:12:47 +02:00
  • bc21e4aa37 cvsimport okan 2015-03-29 00:21:05 +00:00
  • 557cd382dc plug a leak okan 2015-03-29 00:21:05 +00:00
  • a4a414b68b Introduce a xreallocarray and convert a few xcalloc instances that do not require zero'ing. okan 2015-03-28 23:12:47 +00:00
  • 0bbe0ad98c Reshuffle and slightly simplify menu_complete_path(), removing an allocation, for tab-completion; checked by Alexander Polakov as well. okan 2015-03-28 22:09:10 +00:00
  • 5b64e1540c plug a leak okan 2015-03-28 21:55:48 +00:00
  • bad97699f9 Simplify key/mb binding moving argtype into flags and dropping another variable; removes the need to zero out struct binding, leaving a simple malloc. okan 2015-03-26 21:41:43 +00:00
  • ac42dff6c1 simplify error messages; discussed with doug@ okan 2015-02-14 18:24:12 +00:00
  • 668da8493a cvsimport Christian Neukirchen 2015-02-11 14:20:35 +00:00
  • 81c05b3a51 Merge pull request #8 from afh/pull/macosx Christian Neukirchen 2015-02-11 15:19:03 +01:00
  • 9cfb9225ed Use _POSIX_HOST_NAME_MAX Alexis Hildebrandt 2015-02-11 15:11:43 +01:00
  • 7e0c2e7728 calloc -> malloc okan 2015-01-24 18:16:59 +00:00
  • 976d77c76d update imported str*.c Christian Neukirchen 2015-01-24 19:04:46 +01:00
  • b7a8c11750 update README v5.6 Christian Neukirchen 2015-01-24 18:31:20 +01:00
  • e4ccad30ce cvsimport Christian Neukirchen 2015-01-24 17:03:58 +00:00
  • d8fa58bb62 use malloc over calloc here okan 2015-01-23 20:26:36 +00:00
  • 5146f661bd First restore net_wm_state(ewmh), then wm_state(iccc); prevents clients from re-hiding on restart due to flag toggling (note that this is ripe for re-vamping). Behavior only observed on restarts. okan 2015-01-23 19:35:11 +00:00
  • 742732a1c8 cvsimport Christian Neukirchen 2015-01-22 11:06:01 +01:00
  • 7936b9b2a7 Switch to limits.h; replace MAXPATHLEN and MAXHOSTNAMELEN with PATH_MAX and HOST_NAME_MAX+1, respectively. okan 2015-01-19 14:54:16 +00:00
  • c412f040df Catch up with src parse.y changes by jsg@: okan 2015-01-17 02:05:03 +00:00
  • 8d1eb202bf Add gcc format attributes for yyerror(); fix a few yyerror() calls. okan 2015-01-16 18:28:08 +00:00
  • 089ec389dd also sign releases with signify Christian Neukirchen 2014-11-23 16:45:46 +01:00
  • 56fad8271d Fix reference to OpenBSD's CVS repo web interface Daniel Néri 2014-12-15 15:51:15 +01:00
  • 501aa2bcf3 cvsimport okan 2014-10-08 15:31:01 +00:00
  • 9cada703b9 no need for calloc(1,.. here, malloc is fine since we initialize okan 2014-10-08 15:31:01 +00:00
  • 836c9f49d6 make group_init work like other *_init's okan 2014-10-08 12:48:51 +00:00
  • c700f7e19a cvsimport okan 2014-09-27 19:04:32 +00:00
  • e9dbd150ea these have nothing to do with 'sticky', but rather group membership; rename. okan 2014-09-27 19:04:32 +00:00
  • 319d90099d Pass just the group to group_setactive instead of the screen and an index which then needed to be found in a queue. okan 2014-09-27 18:57:11 +00:00
  • 845e82015c Update _NET_CURRENT_DESKTOP with the screen's group_active->num. okan 2014-09-23 14:25:08 +00:00
  • cb65869d7a Move stuff that doesn't belong in group_init; while here, explicitly initialize hideall and cycling. okan 2014-09-23 13:45:48 +00:00
  • 2540b3f4fe cvsimport okan 2014-09-18 13:56:58 +00:00
  • cbc7f76074 Move motion time check to the top of each MotionNotify block (and eliminate from ButtonRelease); further limits the amount of work done outside the threshold, notably mousefunc_sweep_calc, screen_find_xinerama and client_snapcalc. okan 2014-09-18 13:56:58 +00:00
  • 8fd0f43ec2 these client actions are just toggles; less confusing with better names okan 2014-09-17 18:41:44 +00:00
  • 458dd31b93 ewmh states _NET_WM_STATE_STICKY should not alter position okan 2014-09-17 18:09:30 +00:00
  • 736d973f46 Use a similarly named check as sticky for hidden check in a group. okan 2014-09-17 16:32:53 +00:00
  • 7eef4eb63d don't toggle _WM_STATE_HIDDEN here yet okan 2014-09-17 16:30:21 +00:00
  • a61812d52d Implement EWMH _NET_WM_STATE_HIDDEN. okan 2014-09-17 16:00:44 +00:00
  • 74f4a1bad9 Introduce a check to see if a group holds only 'sticky' clients and use this check to decide if a group is virtually empty. Rationale: if a group contains *only* 'sticky' clients, it should be skipped while cycling through groups. Apply similar logic to the group menu. okan 2014-09-17 14:31:37 +00:00
  • 4b6dc96398 use similiar style for client flags okan 2014-09-15 13:00:49 +00:00
  • 26b95de019 Remove incorrect cast in kbfunc_exec. In kbfunc_ssh, reverse logic on truncation check so it's obvious. okan 2014-09-11 16:06:26 +00:00
  • d27fc99784 fold in 'active' into 'flags' okan 2014-09-10 20:30:38 +00:00
  • 20c1113fdd move the check for an empty queue up during cycle okan 2014-09-08 21:24:27 +00:00
  • aac16013d2 name the group client queue appropriately, like other queues okan 2014-09-08 21:15:14 +00:00
  • b64ce8558c more style nits and wrapping okan 2014-09-08 20:37:02 +00:00
  • bc70374264 since mruq has been folded in, rename mru-named functions okan 2014-09-08 20:32:40 +00:00
  • 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 +00:00
  • a7f3f29ea9 Now that a group knows its screen, only pass down the group_ctx. okan 2014-09-08 13:51:29 +00:00
  • 5b46f0f7d8 Add screen_ctx to group_ctx, and populate on init. okan 2014-09-07 20:57:26 +00:00
  • 3d12b6d1d9 more style nits okan 2014-09-07 19:27:30 +00:00
  • be091b3523 screen_fromroot -> screen_find okan 2014-09-07 17:38:38 +00:00
  • 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 +00:00
  • 9735927809 update.sh: fix mirror Christian Neukirchen 2014-09-07 17:49:00 +02:00
  • 9e560bd745 cvsimport Christian Neukirchen 2014-09-07 15:47:44 +00:00
  • f7af0ebd72 Few style nits; extend 'path' to MAXPATHLEN. okan 2014-09-06 18:50:43 +00:00
  • 977992626a generic sighandler okan 2014-09-06 16:24:32 +00:00
  • 140f8b9eba style nit okan 2014-09-06 16:18:08 +00:00
  • 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 +00:00
  • 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 +00:00
  • 87d604f119 bring menu bits closer together okan 2014-09-02 14:08:39 +00:00
  • 231abb818a add explicit paran and drop some empty lines bringing like functions closer okan 2014-09-01 18:17:32 +00:00
  • becc7f260c Merge group_menu into mousefunc_menu_group. okan 2014-09-01 18:04:58 +00:00
  • 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 +00:00
  • 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 +00:00
  • 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 +00:00
  • 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 +00:00
  • 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 +00:00
  • b31b09dfc2 Purely mechanical; unify 'num', 'no' and 'shortcut'. okan 2014-08-20 15:15:29 +00:00
  • 30da2211dd Split off group window restacking. okan 2014-08-20 13:42:27 +00:00
  • 7f45471538 whitespace okan 2014-08-20 12:35:39 +00:00
  • 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