aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.c (follow)
Commit message (Collapse)AuthorAgeLines
* 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.
* the display's width and height are updated after an XRandR event so weokan2012-07-05-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.
* instead of using the menu window for _NET_SUPPORTING_WM_CHECK, create aokan2012-05-16-3/+4
| | | | | | | dummy one to use instead; allows us to not have to wait for menu_init(), so re-shuffle _NET_SUPPORTED slightly. ok sthen@
* knf, some from a diff from Tiago Cunha.okan2012-05-13-1/+3
|
* allow configurable menu font color; from Alexander Polakov with a tweakokan2011-09-08-2/+1
| | | | | | from me. ok oga@
* We are inconsistent when it comes to function returns, so just go allokan2011-07-25-4/+5
| | | | | | the way with the cwm specific parts. ok oga@
* Clarify defines and make them not look like non-local ones; started by aokan2011-07-23-3/+3
| | | | | | small diff from Thomas Pfaff. ok oga@
* add 'normal' cursor and shuffle the others we use to make a bit moreokan2011-06-24-11/+12
| | | | | | | | sense and to be slightly less un-expected. from Alexander Polakov. re-use 'normal' cursor now instead XC_hand1 for menu selection. i really wish X had real docs and made sense. ok on earlier diff with '?' removed (but it's back now) oga@
* replace the non-working check to see if another wm is running with aokan2011-06-24-20/+21
| | | | | | | method that actually works. checking for icccm compliant wm's should also be done first, but that's another diff (noted by oga). ok oga@
* tag and comment cleanup; ok oga@okan2011-05-11-1/+1
|
* grab events on the root window *before* we look for existing windows.oga2010-04-12-7/+7
| | | | | | | This closes a race we were hitting often where stuff started right before cwm may not get noticed and not have borders. ok okan@. Prompted by something todd noticed.
* - allow per-screen gap; not (yet) user configurable.okan2010-01-27-1/+2
| | | | | | - teach _NET_WORKAREA about gap. ok oga@