aboutsummaryrefslogtreecommitdiffstats
path: root/conf.c (unfollow)
Commit message (Collapse)AuthorLines
2019-03-01Tie group number and name together during config.okan-2/+28
2019-02-25Add 'group-close-[n]' action to close all windows within specified group.okan-1/+10
heavily based on a diff from Nam Nguyen.
2019-02-22Rename internal functions to delinate between client remove, delete and xprotookan-3/+4
delete; 'window-close' is now the proper action, but 'window-delete' as an alias will remain until more interesting changes require breaking configs.
2019-02-13fix missing includesokan-2/+1
2018-11-13Allow 'transientfor' clients to inherit group and bwidth either during init orokan-5/+2
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.
2018-02-13Store the screen's visual type and colormap.okan-8/+7
2018-02-09Clean up conf_file/homedir and conf_init() bits.okan-8/+19
2018-02-02Simplification; use asprintf where appropriate now.okan-35/+27
2018-01-23Generate name_to_func[] in a clean and readable fashion.okan-142/+106
2017-12-29Convert menu-exec-wm from an abritrary exec menu, into a config-based menu fromokan-6/+29
which one may configure (wm <name> <path_and_args>) (and choose) specific window managers to replace the running one. 'wm cwm cwm' is included by default. No objections and seems sensible to sthen.
2017-12-19Add support for _NET_WM_STATE_SKIP_PAGER and _NET_WM_STATE_SKIP_TASKBAR; eerilyokan-1/+3
close to cwm's 'ignore'. Roughly based on an initial diff from Walter Alejandro Iglesias, but with support for both Atoms and without cwm-based bindings.
2017-12-07Original idea from Dimitris Papastamos to move windows to corners a while ago;okan-1/+19
re-proposed by Julien Steinhauser with an updated diff. Apparently this was in the original calmnwm. However, expand the original idea and let clients 'snap' to edges instead, neatly allowing key bindings that snap to adjacent edges (i.e. corners) as well. No default bindings assigned.
2017-12-07stash dir into conf since it'll be of useokan-2/+2
2017-07-14Pull over the remaining re-implemented window move/resize functions and createokan-3/+3
a wrapper so that the key and mouse based move/resize callbacks can be unified. This has already been done with other window operations and menus.
2017-07-12rename one function, matching others, to help upcoming changeokan-2/+2
2017-05-09Alter callbacks to take a struct instead of a growing number of arguments;okan-105/+111
greatly simplifies upcoming work.
2016-12-06stray newlinesokan-1/+2
2016-12-06'window-search' is spelled 'menu-window'; the former snuck in during theokan-2/+1
conversion('menu-window' already existed and was properlly documented); found the hard way by sthen@ while trying to convert.
2016-12-02Fold unbinding functions into one for each, key and mouse; plugs a leak whenokan-37/+11
unbinding a mouse button bound to a command.
2016-12-02use the correct typeokan-2/+2
2016-12-01Change 'menu-window' to display all windows; then add 'menu-window-hidden' forokan-2/+5
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-01Normalize bind function names, based on a few categories: window, group, menuokan-163/+201
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-11-15revert previous; upcoming changes will hopefully deal with these moreokan-3/+3
naturally.
2016-11-15Add a wrapper based upon xevent handlers around client move/resize for key andokan-3/+3
mouse bindings.
2016-11-14Define callbacks, then default bindings.okan-79/+81
2016-11-14Reorganize for upcoming changes.okan-287/+256
2016-11-14Remove the (8) default bindings for pointer move since they conflict withokan-9/+1
default bindings for emacs, which wins; the feature remains and can be bound to whatever users wish with cwmrc(5). from mpi@
2016-10-24Make it clear these are flags.okan-5/+5
2016-10-24Sprinkle __func__ in appropriate error messages.okan-3/+3
2016-10-18Refactor callbacks to take a void * so as to not try and generalize intookan-161/+147
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-06Rename 2 kbfunc to match closer to what they dookan-4/+4
2016-10-06Add an argument to the callbacks to pass the xevent context, button orokan-12/+7
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-05Add CM-a for 'nogroup' (CM-0 stays for now); update manpage to reflect.okan-1/+2
2016-10-05Stash wmname into conf.okan-1/+3
2016-10-04Calculate client nameqlen in client_setname(), the only place it'sokan-1/+2
needed/used.
2016-10-04Turn CALMWM_NGROUPS define into variable, ngroups.okan-1/+2
2016-10-03Start simplifying menu code; and in turn, remove a cursor no longerokan-4/+3
needed.
2016-10-03Defaults are split between defines and conf_init(); normalize these, asokan-5/+6
well as give 'sticky' groups its own variable.
2016-09-30Use instinsic X11 functions for key/btn/ptr grab/ungrab/regrab requests;okan-7/+27
the one line wrappers provided no value and limited altering calls where needed; additionally, most of them had but one caller.
2016-09-29Mechanical change: move screen menu bits to their own struct.okan-4/+4
2016-09-22Continue merging kb and mouse functions: foldokan-4/+7
mousefunc_menu_{client,cmd,group} into the respective kbfunc_menu_{client,cmd,group} functions; simply pass a flag down from config denoting mouse action behaviour.
2016-09-12change 'sticky' to 'stick' to toggle client stickiness (seems theokan-3/+3
default binding worked for everyone for a long time!); conflict with group sticky found by Ali Farzanrad - thanks!
2016-08-13add a column to previous commit for consitency.matthieu-2/+2
2016-08-13conf_screen: report the fontname that can't be opened in case of failure.matthieu-2/+2
ok dcoppa@
2015-11-17Fix a typo from r1.201; fixes window_grouptoggle binding.okan-2/+2
2015-11-12more client vs screen context differencesokan-23/+23
2015-11-12Move kb pointer movement out of the kbfunc_client_moveresize since it'sokan-49/+49
got nothing to do with clients, thus doing flags work causes lots of waste and almost useless jumpy pointer movements; while here, split out move and resize since they share almost no code, just like mouse client move/resize; factor out amount and factor. Still wonder why this is here, but it works now.
2015-11-10Start cleaning up name vs function differences; replace magic numbers.okan-101/+123
2015-09-16On execwm, we should properly release resources before exec'ing into aokan-2/+2
new window manager; so allow CWM_EXEC_WM to assign new wm to wm_argv and pass through cwm_status (now EXECWM) so that x_teardown() gets called before exec'ing the new window manager. Removes the need for a separate x_restart() now, using new wm_argv; and consolidates errno for execvp.
2015-08-24Implement _NET_CLIENT_LIST_STACKING (from Thomas Admin), butokan-1/+2
bottom-to-top order, as per spec (notified Thomas as well).