6b8b856217
style and spacing nits
okan
2015-06-30 18:42:50 +00:00
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
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
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
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
976d77c76d
update imported str*.c
Christian Neukirchen
2015-01-24 19:04:46 +01:00
b7a8c11750
update README
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
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
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
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
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
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