d86d3aa419
Allow cwm(1) to cycle through windows of the same window class as the active window; default key binding to M-grave, respectively Alt-Tilde, like other window managers have as well.
okan
2023-07-20 14:39:34 +00:00
73cef0ffb0
cvsimport
op
2023-03-22 08:27:36 +00:00
9eb763ab87
cwm: fix a semi-transparency border issue with some applications
op
2023-03-22 08:27:36 +00:00
4a6128d5e4
Fix overlapping menu items as reported by kn@ and probably others at some point; with op@ and Walter Alejandro Iglesias helping along the way. Consistently use font ascent+descent instead of an arbitrary font height+1 for individual menu item rectangles and placement.
okan
2022-10-15 16:06:07 +00:00
5e5221d82d
Fix spelling of some unused MWM hints; from Sean C. Farley.
okan
2022-02-26 15:03:42 +00:00
7c22b36a23
Add group-last command that shows only the previously active group; ok okan
op
2022-01-27 18:45:10 +00:00
81a08ddb89
Allow bare numbers for key and mouse bindings; taken from similar support in other parse.y's; from Leon Fischer <lfischer@airmail.cc>.
okan
2021-12-24 16:00:47 +00:00
35b0da9202
Makefile: use implicit rule for yacc
Leah Neukirchen
2021-11-30 16:43:16 +01:00
a9eeb04606
sync parse.y changes from base; ok naddy@
okan
2021-11-22 00:51:54 +00:00
055b84f4d4
Do not attempt to grab keys without a keycode; this incidentally allows XF86 keys support.
okan
2021-11-19 19:13:14 +00:00
91c05f9403
Fixed memory leak in xu_get_strprop.
tobias
2020-04-25 20:07:28 +00:00
5fde2a2465
use PKG_CONFIG for cross compilation in gentoo
A. Tammy
2020-04-20 22:04:39 -04:00
3ebe04ee8e
Prevent out of boundary write with configuration files in which too many quoted arguments are stored for other window managers.
tobias
2020-04-16 17:12:49 +00:00
6407eb9bc1
Allow configuring a percentage window size of the master window during htile/vtile actions. From Uwe Werler, with a few manpage tweaks.
okan
2020-04-16 13:32:35 +00:00
6c20772841
Instead of using _NET_ACTIVE_WINDOW on restart, use the pointer location to determine what client to set active. Reduces a round trip for every window.
okan
2020-03-24 14:47:29 +00:00
0a7d8cc5c4
Add support for SIGINT/SIGTERM.
okan
2020-03-23 20:14:27 +00:00
6c7b8261df
Simplify conditional construct.
tim
2020-03-20 18:50:08 +00:00
49f839e194
Trim event_mask to those that the root window actually needs.
okan
2020-03-20 15:16:31 +00:00
207b71ef1c
No need to lookup current client early; move to right before it is needed.
okan
2020-03-20 12:13:20 +00:00
3b9b98c024
Recommit 1.259, but now with TAILQ_FOREACH_SAFE.
tim
2020-03-16 17:50:44 +00:00
b9213d0a02
Revert previous. Causes a crash as reported by Tom Murphy.
tim
2020-03-14 16:11:09 +00:00
146fa08e4d
Simplify list markup.
tim
2020-03-13 20:50:07 +00:00
d8c7d87737
Plug two memory leaks. Also get rid of a variable that is no longer necessary.
tim
2020-03-13 20:49:13 +00:00
3d1a8028c2
Remove ColormaskChange from event-mask since there's no event handler.
okan
2020-02-28 13:38:35 +00:00
96275a835d
Unrelated style fixes, consistency changes and sorting, appropriate dosage/removal of wrappers, simplification of name queue, client cycle joins other kb/mb bound functions.
okan
2020-02-27 14:56:39 +00:00
781af9c998
Because cwm warps the pointer during a client move (to stay within the client), there's a window of time where an expose or enternotify event will get generated for a lower client; use a hammer and drain events after keyboard move/resize, until such a time that cwm doesn't warp the pointer. Behavior noticed by kn.
okan
2019-08-13 18:45:38 +00:00
6131e36f8a
Fix regression from r1.107 (lost a return); kettenis@ pointed out the high potential for a use-after-free (true!) where kn@ ran into the regression using an app that actually exercised the XGrabPointer() failure path.
okan
2019-08-12 00:52:36 +00:00
9a7528f5b9
Check the atom type on propertynotify before iterating.
okan
2019-03-11 15:25:46 +00:00
e55c0d48fa
use screen_find() for xrandr crtc changes
okan
2019-03-10 22:53:11 +00:00
5bc2098c6f
Find the managed screen from the parent window for client_current().
okan
2019-03-10 20:38:28 +00:00
5071baa2aa
Print window id in hex; while here, remove unnecessary newline.
okan
2019-03-08 20:33:30 +00:00
4470a247c8
Similar to keypress event, fetch the screen from the event root window in the buttonpress handler; bail if we don't manage the screen. Allows us to find the current client based on the screen/event root.
okan
2019-03-08 17:40:43 +00:00
bf43b62414
[keypress event] turns out we've been checking the wrong window for a matching client thus always falling back to client_current(); while the current client is problaby right in most cases, use event's subwindow (not window) to find the client. Bail early if this event came to us from a screen we don't manage. This is result of us grabing all keybindings off the root window instead of selectively.
okan
2019-03-08 14:48:02 +00:00
2a3c2b5231
add parans for readibility
okan
2019-03-08 13:17:26 +00:00
7c45b87622
Teach client_current() to use a screen to find the current client instead of iterating over all (fallback if no screen provided for now). Initially convert trivial uses of client_current().
okan
2019-03-07 14:28:17 +00:00
823566a653
zip extra lines
okan
2019-03-07 13:24:10 +00:00
aa79351d2e
gc clientq inside groups, instead use the better maintained one per-screen
okan
2019-03-07 13:14:41 +00:00
b26202724a
shuffle deck chairs: rename group actions to match intent for clarity
okan
2019-03-07 12:54:21 +00:00
9efa6c8c85
same thing as screen_find()
okan
2019-03-06 13:32:19 +00:00
0bda8f7606
Separate out the menu window from the client resize/move geom window; in each case, create and destroy on-demand. Isolate more menu specific code.
okan
2019-03-04 19:28:17 +00:00
9d5b0e5d22
fix a few misplaced (and misnamed) ewmh root window functions
okan
2019-03-04 14:48:59 +00:00
fda68a40de
_NET_WORKAREA needs ngroups, so screen_update_geometry() needs to come after conf_group().
okan
2019-03-04 14:36:02 +00:00
953cf1ce89
restore order from before r1.248 (vtile/vtile containment changes).
okan
2019-02-22 20:52:13 +00:00
535cf541c8
Rename internal functions to delinate between client remove, delete and xproto delete; 'window-close' is now the proper action, but 'window-delete' as an alias will remain until more interesting changes require breaking configs.
okan
2019-02-22 19:40:32 +00:00
044ef5a8cd
Limit vtile/htile actions to clients fully within the screen of master client.
okan
2019-02-22 14:39:18 +00:00
c307e37dcb
fix missing includes
okan
2019-02-13 15:43:24 +00:00
695eb1d8e5
Stop asking for events (NoEventMask) from menu window once done with the menu (we don't destroy it, only unmap).
okan
2018-11-14 19:22:51 +00:00
194589eb6b
Allow 'transientfor' clients to inherit group and bwidth either during init or via property notify events. Previously only the flags were set but nothing was in the path to apply said flags and/or bwidth. Required slight of re-orgnaization of client_init.
okan
2018-11-13 17:37:13 +00:00
268deed916
merge from base, from sashan@:
okan
2018-11-09 16:00:54 +00:00
a63b87e315
Use the original client border width to adjust initial placement of clients containing {P,US}Position requests where they are explicitly set to 'ignore' in cwmrc(5); clients are unaware that their border will be altered (removed in this case) when calcuating position and thus end up a factor of their original border width off once mapped by cwm(1). cwm(1) will essentially shift the client to the edge if the original request's position and border match.
okan
2018-11-08 15:49:42 +00:00
cae6987922
cvsimport
anton
2018-02-19 19:29:42 +00:00
0551094182
Do not print any parse errors when ~/.cwmrc is missing. Regression introduced in revision 1.109 of calmwm.c.
anton
2018-02-19 19:29:42 +00:00
b1929b5ed6
Store the screen's visual type and colormap.
okan
2018-02-13 15:43:15 +00:00
13763662c9
Consolidate region 'view' and 'area'.
okan
2018-02-13 15:06:22 +00:00