aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.c (follow)
Commit message (Collapse)AuthorAgeLines
* 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@
* pull all non-X11 headers from calmwm.h and place them only where theyokan2009-12-15-1/+11
| | | | | | are required. encourged to go all the way by oga@
* pull these headers only into files that need them.okan2009-12-15-1/+4
| | | | ok oga@
* merge the 2 common header files; specific includes to be pulled out asokan2009-12-15-2/+1
| | | | | | separate commits. ok oga@
* Implement _NET_CURRENT_DESKTOP, _NET_DESKTOP_VIEWPORT andoga2009-12-10-12/+5
| | | | | | _NET_DESKTOP_GEOMETRY. ok okan@
* finish unfucking the screen_ctx handling.oga2009-12-10-8/+3
| | | | | | | | | | | | | remove screen_current() it was utterly bogus when nscreens > 1. pass a fake client_ctx in the case where there's no client and the kbfunc or mousefunc doesn't need a real one, it just contains the current screen, modify these functions so that they pass down the screen context to their callees. make groups per screen, it's the only way it makes sense in this regard. ok okan@.
* start fixing screen_ctx usage, for it is utterly broken. bring fontokan2009-12-08-3/+3
| | | | | | | | | into screen_ctx and start passing screen_ctx around to in order get rid of Curscreen; fixup per-screen config colors the same way. diff mostly from oga@, with a bit harsher reaction to the state of screen_ctx. "please commit" oga@
* Implement _NET_NUMBER_OF_DESKTOPS, currently this is statically 9 andoga2009-12-07-2/+9
| | | | | | | unchangable. the group code needs some cleaning up before this will be a bit less hackish. ok okan@
* introduce the beginnings of netwm support, minimally and correctly;okan2009-12-07-1/+3
| | | | | | | | | | allows java to be happy, but additionally stops others from whinning about a non-netwm complaint wm. more to come. written a few times; this one includes a clever hack from oga@ to populate _NET_SUPPORTED. ok oga@
* Instead of having a function that just calls TAILQ_INIT on a global, useoga2009-08-24-5/+3
| | | | | | TAILQ_HEAD_INITIALIZER() and drop the function. ok okan@