aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.c (unfollow)
Commit message (Collapse)AuthorLines
2019-03-04Separate out the menu window from the client resize/move geom window; in eachokan-3/+1
case, create and destroy on-demand. Isolate more menu specific code.
2019-02-25Add a configtest flag (-n).okan-5/+13
based on a diff from Sascha Paunovic.
2018-02-09Clean up conf_file/homedir and conf_init() bits.okan-34/+9
2018-02-04Slightly expand and expose verbose debugging.okan-3/+6
2018-01-02Only exec the fallback when in CWM_EXEC_WM state.okan-5/+5
Broken quit noticed by Ve Telko.
2017-12-29If the replacement window manager fails to start, restart the fallback (theokan-1/+6
original invocation of cwm).
2017-12-27Add support for re-exec'ing with SIGHUP; equivalent to the already built-inokan-1/+6
'restart' function.
2017-12-27Use poll and XNextEvent to replace XNextEvent blocking inside the x11 eventokan-2/+12
handler.
2017-12-22zap stray that snuck inokan-2/+2
2017-12-22Return the connection number for the display.okan-5/+7
2017-12-22Fix a few comments and while here, wrap some long lines.okan-2/+3
2017-12-07stash dir into conf since it'll be of useokan-6/+5
2016-10-18Refactor callbacks to take a void * so as to not try and generalize intookan-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.
2016-09-29no need to unmap menu window againokan-3/+2
2016-09-29Mechanical change: move screen menu bits to their own struct.okan-4/+4
2015-11-12pledge "stdio rpath proc exec" cwm before main event loop, afterokan-1/+5
init/setup - mostly for menu building. ok semarie@ (another cwm user)
2015-11-10Start cleaning up name vs function differences; replace magic numbers.okan-2/+2
2015-09-16On execwm, we should properly release resources before exec'ing into aokan-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.
2015-01-19Switch to limits.h; replace MAXPATHLEN and MAXHOSTNAMELEN with PATH_MAXokan-2/+3
and HOST_NAME_MAX+1, respectively. ok doug@
2014-09-08Remove duplicate client queue (mruq); instead, remove and take theokan-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).
2014-09-07more style nitsokan-4/+4
2014-09-06generic sighandlerokan-11/+14
2014-02-02No need to store screen colormap and visual; rather just use the Xokan-2/+3
macros in the one place they are needed.
2014-02-01Let the config parser continue parsing even after encountering an error;okan-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.
2014-01-28Move conf_init/clear into main - no behaviour change; from Tiago Cunha.okan-2/+5
2014-01-22cwm_argv doesn't need to be global any longerokan-6/+6
2014-01-22start properly releasing X resources during teardownokan-1/+20
2014-01-22Somewhat streamline event loop/restart/quit handling; most notableokan-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.
2014-01-21Sprinkle a few more const; from Tiago Cunha.okan-2/+2
2014-01-03use consistent typesokan-2/+2
2013-12-12ICCCM explicitly states that server time (CurrentTime) should *not* beokan-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@
2013-07-15simplify atom handling; allows us to limit to one round-trip to serverokan-2/+4
for gathering Atoms.
2013-07-08whitespace and style fixes; from Tiago Cunha and one from me.okan-4/+2
2013-06-17move Cursors into conf.okan-12/+2
2013-06-17now that we have conf_screen, which configures individual screensokan-13/+6
*after* config parsing, we no longer need to split up display/screen initialization, so collapse.
2013-05-22get rid of long standing XXX: now that we configure screens based onokan-9/+1
config options, add the keybinding GrabKey calls here
2013-05-14if -> ifdefokan-2/+2
2013-04-12makes no sense to set an error handler which uses X_Dpy before XOpenDisplay.okan-3/+1
2013-04-12push Screenq into screen_initokan-7/+3
2012-12-18simplify config file setup; with Tiago Cunhaokan-4/+19
2012-12-17pull user home directory via getenv or getpwuid and stash it so we don'tokan-1/+12
need to do this everytime; with Tiago Cunha
2012-12-17non-trivial menu drawing rewrite, moving to Xft and solving variousokan-6/+1
font/color drawing issues; from Alexander Polakov
2012-11-29zap extra linesokan-3/+1
2012-11-29x_setupscreen -> screen_init; no functional change.okan-58/+2
2012-11-09sortokan-2/+2
2012-10-31replace 'reload' with 'restart', which merely re-exec's cwm using theokan-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
2012-08-07support multibyte input to menu code; from Alexander Polakov with a tiny tweak.okan-1/+6
2012-07-18Further simplify Xinerama init and re-init on XRR events.okan-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.
2012-07-06querying for Xinerama should be done per display, not per screen, sookan-12/+5
move chuck to display init; allows some shuffling to occur limiting screen_init_xinerama()'s scope while keeping order intact.
2012-07-05the display's width and height are updated after an XRandR event so weokan-3/+3
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.