aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.c (follow)
Commit message (Collapse)AuthorAgeLines
* Unrelated style fixes, consistency changes and sorting, appropriate ↵okan2020-03-18-5/+6
| | | | dosage/removal of wrappers, simplification of name queue, client cycle joins other kb/mb bound functions.
* Separate out the menu window from the client resize/move geom window; in eachokan2019-03-04-3/+1
| | | | case, create and destroy on-demand. Isolate more menu specific code.
* Add a configtest flag (-n).okan2019-02-25-5/+13
| | | | based on a diff from Sascha Paunovic.
* Clean up conf_file/homedir and conf_init() bits.okan2018-02-09-34/+9
|
* Slightly expand and expose verbose debugging.okan2018-02-04-3/+6
|
* Only exec the fallback when in CWM_EXEC_WM state.okan2018-01-02-5/+5
| | | | Broken quit noticed by Ve Telko.
* If the replacement window manager fails to start, restart the fallback (theokan2017-12-29-1/+6
| | | | original invocation of cwm).
* Add support for re-exec'ing with SIGHUP; equivalent to the already built-inokan2017-12-27-1/+6
| | | | 'restart' function.
* Use poll and XNextEvent to replace XNextEvent blocking inside the x11 eventokan2017-12-27-2/+12
| | | | handler.
* zap stray that snuck inokan2017-12-22-2/+2
|
* Return the connection number for the display.okan2017-12-22-5/+7
|
* Fix a few comments and while here, wrap some long lines.okan2017-12-22-2/+3
|
* stash dir into conf since it'll be of useokan2017-12-07-6/+5
|
* Refactor callbacks to take a void * so as to not try and generalize intookan2016-10-18-16/+13
| | | | | | | | 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.
* no need to unmap menu window againokan2016-09-29-3/+2
|
* Mechanical change: move screen menu bits to their own struct.okan2016-09-29-4/+4
|
* pledge "stdio rpath proc exec" cwm before main event loop, afterokan2015-11-12-1/+5
| | | | | | init/setup - mostly for menu building. ok semarie@ (another cwm user)
* Start cleaning up name vs function differences; replace magic numbers.okan2015-11-10-2/+2
|
* On execwm, we should properly release resources before exec'ing into aokan2015-09-16-13/+5
| | | | | | | 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.
* Switch to limits.h; replace MAXPATHLEN and MAXHOSTNAMELEN with PATH_MAXokan2015-01-19-2/+3
| | | | | | and HOST_NAME_MAX+1, respectively. ok doug@
* Remove duplicate client queue (mruq); instead, remove and take theokan2014-09-08-2/+1
| | | | | | 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).
* more style nitsokan2014-09-07-4/+4
|
* generic sighandlerokan2014-09-06-11/+14
|
* No need to store screen colormap and visual; rather just use the Xokan2014-02-02-2/+3
| | | | macros in the one place they are needed.
* Let the config parser continue parsing even after encountering an error;okan2014-02-01-7/+5
| | | | | | | | original idea (with now-outdated patch) from Thomas Adam. Since we now report where errors exist, this now makes more sense. Expand a bit on config file parsing in the cwm(1). Discussed with a few, including sthen; ok sthen.
* Move conf_init/clear into main - no behaviour change; from Tiago Cunha.okan2014-01-28-2/+5
|
* cwm_argv doesn't need to be global any longerokan2014-01-22-6/+6
|
* start properly releasing X resources during teardownokan2014-01-22-1/+20
|
* Somewhat streamline event loop/restart/quit handling; most notableokan2014-01-22-2/+15
| | | | | | | | change allows a restart to trigger proper teardown first, even though teardown is not (yet) complete. After some discussion with oga@nicotinebsd.org regarding a more complicated version/idea.
* Sprinkle a few more const; from Tiago Cunha.okan2014-01-21-2/+2
|
* use consistent typesokan2014-01-03-2/+2
|
* ICCCM explicitly states that server time (CurrentTime) should *not* beokan2013-12-12-1/+2
| | | | | | | | | | | used for focus events, but rather the timestamp of the generated event. Track the last event timestamp and send it down for a WM_TAKE_FOCUS ClientMessage. I suspect we should do this for clients that don't announce this Atom as well, though the raciness gets us into a bind. Solves focus order issue since WM_TAKE_FOCUS; fix verified by sthen@ ok sthen@
* simplify atom handling; allows us to limit to one round-trip to serverokan2013-07-15-2/+4
| | | | for gathering Atoms.
* whitespace and style fixes; from Tiago Cunha and one from me.okan2013-07-08-4/+2
|
* move Cursors into conf.okan2013-06-17-12/+2
|
* now that we have conf_screen, which configures individual screensokan2013-06-17-13/+6
| | | | | *after* config parsing, we no longer need to split up display/screen initialization, so collapse.
* get rid of long standing XXX: now that we configure screens based onokan2013-05-22-9/+1
| | | | config options, add the keybinding GrabKey calls here
* if -> ifdefokan2013-05-14-2/+2
|
* makes no sense to set an error handler which uses X_Dpy before XOpenDisplay.okan2013-04-12-3/+1
|
* push Screenq into screen_initokan2013-04-12-7/+3
|
* simplify config file setup; with Tiago Cunhaokan2012-12-18-4/+19
|
* pull user home directory via getenv or getpwuid and stash it so we don'tokan2012-12-17-1/+12
| | | | need to do this everytime; with Tiago Cunha
* non-trivial menu drawing rewrite, moving to Xft and solving variousokan2012-12-17-6/+1
| | | | font/color drawing issues; from Alexander Polakov
* zap extra linesokan2012-11-29-3/+1
|
* x_setupscreen -> screen_init; no functional change.okan2012-11-29-58/+2
|
* sortokan2012-11-09-2/+2
|
* replace 'reload' with 'restart', which merely re-exec's cwm using theokan2012-10-31-1/+3
| | | | | | | existing argv; same idea with respect to argv saving as Alexander Polakov. reload support was half-complete and is getting in the way. agreed to by many
* support multibyte input to menu code; from Alexander Polakov with a tiny tweak.okan2012-08-07-1/+6
|
* Further simplify Xinerama init and re-init on XRR events.okan2012-07-18-6/+3
| | | | | | | | | | | While testing for Xinerama during setup was done display-wide, each time XineramaQueryScreens() is called either in start-up or due to an XRR event, the library re-tests for the Xinerama extension anyway before moving on; so the initial test is redundant and allows another global to go away with one other change: always fill in sc->xinerama (and _no), regardless of the success of malloc in XineramaQueryScreens(), and use it to see if Xinerama dimensions exist when asked by client and/or menu code.
* querying for Xinerama should be done per display, not per screen, sookan2012-07-06-12/+5
| | | | | move chuck to display init; allows some shuffling to occur limiting screen_init_xinerama()'s scope while keeping order intact.