summary refs log tree commit diff
path: root/calmwm.c
Commit message (Collapse)AuthorAgeFilesLines
* Separate out the menu window from the client resize/move geom window; in eachokan2019-03-041-2/+0
| | | | case, create and destroy on-demand. Isolate more menu specific code.
* Add a configtest flag (-n).okan2019-02-251-4/+12
| | | | based on a diff from Sascha Paunovic.
* Clean up conf_file/homedir and conf_init() bits.okan2018-02-091-33/+8
|
* Slightly expand and expose verbose debugging.okan2018-02-041-2/+5
|
* Only exec the fallback when in CWM_EXEC_WM state.okan2018-01-021-4/+4
| | | | Broken quit noticed by Ve Telko.
* If the replacement window manager fails to start, restart the fallback (theokan2017-12-291-0/+5
|\ | | | | | | original invocation of cwm).
* | Add support for re-exec'ing with SIGHUP; equivalent to the already built-inokan2017-12-271-0/+5
| | | | | | | | 'restart' function.
* | Use poll and XNextEvent to replace XNextEvent blocking inside the x11 eventokan2017-12-271-1/+11
| | | | | | | | handler.
* | zap stray that snuck inokan2017-12-221-1/+1
| |
* | Return the connection number for the display.okan2017-12-221-4/+6
| |
* | Fix a few comments and while here, wrap some long lines.okan2017-12-221-1/+2
| |
* | stash dir into conf since it'll be of useokan2017-12-071-5/+4
| |
* | Refactor callbacks to take a void * so as to not try and generalize intookan2016-10-181-15/+12
| | | | | | | | | | | | | | | | 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-291-2/+1
| |
* | Mechanical change: move screen menu bits to their own struct.okan2016-09-291-3/+3
| |
* | pledge "stdio rpath proc exec" cwm before main event loop, afterokan2015-11-121-0/+4
| | | | | | | | | | | | init/setup - mostly for menu building. ok semarie@ (another cwm user)
* | Start cleaning up name vs function differences; replace magic numbers.okan2015-11-101-1/+1
| |
* | On execwm, we should properly release resources before exec'ing into aokan2015-09-161-12/+4
| | | | | | | | | | | | | | 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-191-1/+2
| | | | | | | | | | | | and HOST_NAME_MAX+1, respectively. ok doug@
* | Remove duplicate client queue (mruq); instead, remove and take theokan2014-09-081-1/+0
| | | | | | | | | | | | 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-071-3/+3
| |
* | generic sighandlerokan2014-09-061-10/+13
| |
* | No need to store screen colormap and visual; rather just use the Xokan2014-02-021-1/+2
| | | | | | | | macros in the one place they are needed.
* | Let the config parser continue parsing even after encountering an error;okan2014-02-011-6/+4
| | | | | | | | | | | | | | | | 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-281-1/+4
| |
* | cwm_argv doesn't need to be global any longerokan2014-01-221-5/+5
| |
* | start properly releasing X resources during teardownokan2014-01-221-0/+19
| |
* | Somewhat streamline event loop/restart/quit handling; most notableokan2014-01-221-1/+14
| | | | | | | | | | | | | | | | 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-211-1/+1
| |
* | use consistent typesokan2014-01-031-1/+1
| |
* | ICCCM explicitly states that server time (CurrentTime) should *not* beokan2013-12-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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-151-1/+3
| | | | | | | | for gathering Atoms.
* | whitespace and style fixes; from Tiago Cunha and one from me.okan2013-07-081-3/+1
| |
* | move Cursors into conf.okan2013-06-171-11/+1
| |
* | now that we have conf_screen, which configures individual screensokan2013-06-171-12/+5
| | | | | | | | | | *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-221-8/+0
| | | | | | | | config options, add the keybinding GrabKey calls here
* | if -> ifdefokan2013-05-141-1/+1
| |
* | makes no sense to set an error handler which uses X_Dpy before XOpenDisplay.okan2013-04-121-2/+0
| |
* | push Screenq into screen_initokan2013-04-121-6/+2
| |
* | simplify config file setup; with Tiago Cunhaokan2012-12-181-3/+18
| |
* | pull user home directory via getenv or getpwuid and stash it so we don'tokan2012-12-171-0/+11
| | | | | | | | need to do this everytime; with Tiago Cunha
* | non-trivial menu drawing rewrite, moving to Xft and solving variousokan2012-12-171-5/+0
| | | | | | | | font/color drawing issues; from Alexander Polakov
* | zap extra linesokan2012-11-291-2/+0
| |
* | x_setupscreen -> screen_init; no functional change.okan2012-11-291-57/+1
| |
* | sortokan2012-11-091-1/+1
| |
* | replace 'reload' with 'restart', which merely re-exec's cwm using theokan2012-10-311-0/+2
| | | | | | | | | | | | | | 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-071-0/+5
| |
* | Further simplify Xinerama init and re-init on XRR events.okan2012-07-181-5/+2
| | | | | | | | | | | | | | | | | | | | | | 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-061-11/+4
| | | | | | | | | | move chuck to display init; allows some shuffling to occur limiting screen_init_xinerama()'s scope while keeping order intact.
* | the display's width and height are updated after an XRandR event so weokan2012-07-051-2/+2
| | | | | | | | | | | | don't need to pass down the new values to screen_update_geometry(); so just read the width/height values directly for both uses of screen_update_geometry(). prep for further changes in this area.