okan
3d6ff6dabf
Clean up, unify and accurately calculate edge distance with client move/resize
...
actions, so as to not lose windows off the edge.
inspired by diffs (and feedback) from Vadim Vygonets.
2017-05-01 12:54:55 +00:00
okan
4d85e2e2a6
Switch bwidth type; unfortunately X11 is inconsistent.
2017-04-26 21:10:54 +00:00
okan
15b9a8fe27
The r1.36 menuq_add() conversion did this one wrong; fix by reverting to the
...
original code which adds to resultentry list, as opposed to the wrong one in
menuq_add(). Fixes crash noticed by at least Rickard Gustafsson.
2017-04-25 13:40:33 +00:00
okan
717e6c8167
Remove 'noresult' (and simplify) as it does nothing and makes the logic around
...
it needless. History doesn't show what this might have been used for in future
iterations.
2017-04-25 12:08:05 +00:00
okan
ffcfff3dea
search_match_path() isn't supposed to return anything.
2017-04-24 15:06:11 +00:00
okan
56b44257a5
Move queue init to caller so it's only called once in a few cases.
2017-04-24 13:35:25 +00:00
okan
15a6fcc851
sort
2017-04-24 13:31:19 +00:00
okan
9b56325908
Raise the previously focused window, instead of the previous window in the
...
cycle list; seems to match behaviour of other wm's; from Walter Alejandro
Iglesias.
2017-04-24 12:27:32 +00:00
okan
50dd70afc5
For {h,v}tile, instead of keeping the master client's {h,v} geometry, expand it
...
to %50 of the area, then fill in the remaining space with the other clients in
the same group; from Gerrit Meyerheim.
support from ajacoutot.
2017-04-24 12:18:04 +00:00
okan
8d9d84d859
Fix group hidden state when a client wants to be on all desktops on start;
...
reported by Vadim Vygonets with diff, but another approach was taken.
2017-02-10 15:00:54 +00:00
okan
172da14d77
Call client_resize instead of client_move after client_placecalc since the size
...
may also change.
from Vadim Vygonets
2017-02-06 18:10:28 +00:00
okan
f908118a3a
Typo on binding name; from Redouan Ait Mallouk.
2017-01-15 21:07:44 +00:00
okan
96918a06e6
Ensure client stays inbound on key-based resize; based on logic existing in
...
key-based client move; from Vadim Vygonets.
2017-01-05 21:18:20 +00:00
okan
613d11434a
When a window has a user or program specified position, ensure the edge of the
...
final position is at least viewable and warp'able by the difference of bwidth;
prevents mapping windows completely off the virtual screen.
2016-12-19 14:17:26 +00:00
okan
8b4666cb92
stray newlines
2016-12-06 21:59:33 +00:00
okan
a7f2ab7497
Add search_print_text(), a default callback for mi->print in menu_filter(). While
...
here, normalize the remaining search_print_* argument paramters.
2016-12-06 21:54:10 +00:00
okan
89e4e7fb14
Consistent use of menuq_add for ssh menu.
2016-12-06 21:09:22 +00:00
okan
2ae4797297
Now that dim.{x,y} are available early, use them before requiring a
...
MotionNotify event.
2016-12-06 21:03:58 +00:00
okan
74092f78aa
Set dim.{x,y} during client_init and update on resize, instead of
...
(re)calculating only when applying hints.
2016-12-06 21:00:13 +00:00
okan
cf4c1879e5
'window-search' is spelled 'menu-window'; the former snuck in during the
...
conversion('menu-window' already existed and was properlly documented); found
the hard way by sthen@ while trying to convert.
2016-12-06 15:03:13 +00:00
okan
cfffa70364
Fold unbinding functions into one for each, key and mouse; plugs a leak when
...
unbinding a mouse button bound to a command.
2016-12-02 17:02:17 +00:00
okan
5b7e66a13b
use the correct type
2016-12-02 16:50:19 +00:00
okan
94f681fc90
Tame the number of 'exec' and 'path' search_match wrappers. No functional
...
change now, though more can likely go later, losing the (paritally complete or
incomplete/broken) argument completion bits.
2016-12-01 20:28:19 +00:00
okan
b94f0748d8
Switch ssh menu to search_match_text; like group/window/cmd menus, use only a
...
substring match. The previous matching is only intended for the exec menus.
2016-12-01 18:44:09 +00:00
okan
92111e526d
Change 'menu-window' to display all windows; then add 'menu-window-hidden' for
...
the previous behaviour of 'menu-window'. 'menu-window' becomes the default
binding; use 'bind-mouse "1" menu-window-hidden' to restore old behaviour for
those who prefer.
OK sthen@ (long long time ago on a different version)
2016-12-01 18:17:52 +00:00
okan
d968a6c1bf
Normalize bind function names, based on a few categories: window, group, menu
...
and pointer.
Replace 'bind' and 'mousebind' options with 'bind-key' and 'bind-mouse',
respectively, replace special 'unmap' keyword with 'unbind-key' and
'unbind-mouse', and additionally allow unbinding all with 'all' keyword.
2016-12-01 17:17:27 +00:00
okan
ae9f900b91
Use an additional check with lstat(2) when d_type is unknown.
...
from James McDonald via portable.
2016-11-15 18:43:09 +00:00
okan
db02592e5c
revert previous; upcoming changes will hopefully deal with these more
...
naturally.
2016-11-15 00:22:02 +00:00
okan
62dc5ae132
Add a wrapper based upon xevent handlers around client move/resize for key and
...
mouse bindings.
2016-11-15 00:07:03 +00:00
okan
ed22d7a944
Define callbacks, then default bindings.
2016-11-14 21:25:59 +00:00
okan
64e133b289
Reorganize for upcoming changes.
2016-11-14 19:56:05 +00:00
okan
98c913cc3b
Remove the (8) default bindings for pointer move since they conflict with
...
default bindings for emacs, which wins; the feature remains and can be bound to
whatever users wish with cwmrc(5).
from mpi@
2016-11-14 13:52:33 +00:00
okan
db93599a0f
Make it clear these are flags.
2016-10-24 20:44:08 +00:00
okan
972e28d58c
Remove duplicate check that strsubmatch() already does; while here, fix a
...
comment.
2016-10-24 18:57:12 +00:00
okan
eb43101591
Sprinkle __func__ in appropriate error messages.
2016-10-24 17:39:38 +00:00
okan
ffd60b3cab
Get rid of 'matchname'; it's too surprising to have the menu change during
...
client search as different potential str matches are cycled through. If there's
interest, the only string that doesn't exist in the listing is the window's
class - that can be added of course, but it makes the line too long imho.
2016-10-24 17:16:23 +00:00
okan
b1af1bedd0
clean up search_match_client(); no behaviour change
2016-10-22 19:16:43 +00:00
okan
0bb1be86c6
Refactor callbacks to take a void * so as to not try and generalize into
...
client_ctx in keypress and buttonpress event handlers; pass appropriate *ctx's
based on context.
While here, limit some globals, replace defines with appropriate variables and
fix some naming.
2016-10-18 17:03:30 +00:00
okan
38eac7d7e9
remove another unused proto
2016-10-12 16:11:15 +00:00
okan
15bf703e1c
Rename 2 kbfunc to match closer to what they do
2016-10-06 14:53:52 +00:00
okan
987ee736b9
Add an argument to the callbacks to pass the xevent context, button or
...
key press. This allows to remove a few hacks to duplicate functions only
for behaviour changes; now differing behaviours are pushed down to the
callback. Also will allow for previously unavailable actions to be bind-able
down the road.
2016-10-06 14:41:19 +00:00
okan
66f5360fd4
Check the ptr bounds in the new client during cycling, since not all
...
actions do ptrsave, such as restoring client geometry; adapted from a
diff by Vadim Vygonets.
2016-10-06 14:30:05 +00:00
okan
e7dcb17e1e
More accurate to say 'toggle', rather than 'select', for group[n]/nogroup.
2016-10-05 14:01:23 +00:00
okan
c131620d7b
Add CM-a for 'nogroup' (CM-0 stays for now); update manpage to reflect.
2016-10-05 13:35:17 +00:00
okan
d40820d3f3
Stash wmname into conf.
2016-10-05 13:10:59 +00:00
okan
a37606c63f
When removing xrandr regions, ensure clients are within the bounds of
...
the screen; adapted from an ancient diff from Sviatoslav Chagaev. Things
in this area will likely change, but put this in so it works now and
serves as a reminder.
2016-10-04 20:15:55 +00:00
okan
5c13775d31
Calculate client nameqlen in client_setname(), the only place it's
...
needed/used.
2016-10-04 15:52:32 +00:00
okan
9306c1fbd3
Turn CALMWM_NGROUPS define into variable, ngroups.
2016-10-04 15:18:20 +00:00
okan
8aa5033d12
Start simplifying menu code; and in turn, remove a cursor no longer
...
needed.
2016-10-03 18:43:49 +00:00
okan
03f5dc219e
Defaults are split between defines and conf_init(); normalize these, as
...
well as give 'sticky' groups its own variable.
2016-10-03 14:42:34 +00:00