aboutsummaryrefslogtreecommitdiffstats
path: root/screen.c (follow)
Commit message (Collapse)AuthorAgeLines
* make group_init work like other *_init'sokan2014-10-08-2/+4
|
* Move stuff that doesn't belong in group_init; while here, explicitlyokan2014-09-23-1/+10
| | | | initialize hideall and cycling.
* Remove duplicate client queue (mruq); instead, remove and take theokan2014-09-08-2/+2
| | | | | | 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-6/+6
|
* screen_fromroot -> screen_findokan2014-09-07-3/+3
|
* gc->hidden has never consistently kept track of a group's state;okan2014-08-24-2/+1
| | | | | | | | | | group_show() and group_hide() are not the only ways a group can change state - if all clients in a group are either hidden or unhidden, then that group's state should change, as well as the various EWMH ways. Instead of trying to keep track in a wide variety of places, simply query the clients in a group before needing to take action based on the group's state. Solves long standing confusion of when a group is hidden or not.
* Purely mechanical; unify 'num', 'no' and 'shortcut'.okan2014-08-20-4/+4
|
* whitespaceokan2014-08-20-2/+2
|
* Make sure we cycle through existing client's group membership and setokan2014-02-08-1/+2
| | | | | the hidden state on the group; important to know group hidden state after a re-exec or restart of cwm (as easily seen in group menu).
* Introduce a region queue and replace screen's XineramaScreenInfo; weokan2014-02-03-23/+27
| | | | | still use Xinerama to populate the regions per screen, but will switch at a more appropriate time.
* make this XQueryTree like the otherokan2014-02-03-13/+11
|
* Move redundant bits from screen_init (while dealing with existingokan2014-02-03-12/+6
| | | | | | clients) directly into client_init, performing the X roundtrip only once. With the previous change in maprequest, this moves decision making into one place for creating new clients.
* No need to store screen colormap and visual; rather just use the Xokan2014-02-02-3/+1
| | | | macros in the one place they are needed.
* Unlike free(3), XFree(3) can't be passed a NULL pointer.okan2014-02-02-3/+3
|
* move some init up and shed some blank linesokan2014-01-27-6/+4
|
* use consistent typesokan2014-01-03-3/+3
|
* Teach screen_find_xinerama() to apply gap only when told to do so;okan2013-12-13-6/+12
| | | | adjust callers. Needed for an upcoming feature.
* move Cursors into conf.okan2013-06-17-2/+2
|
* - configure menuwin with the screen, then create the xft drawable usingokan2013-05-20-2/+1
| | | | | the menu window since that's the only place on which we draw - elminate the need to change the drawable on every font draw
* new -> initokan2013-05-11-2/+2
|
* replace conf_{gap,color,font} with conf_screen since really we areokan2013-05-11-4/+2
| | | | | configuring the screen *after* parsing, just as we do a conf_client on client manage.
* group conf_* init functionsokan2013-04-30-6/+4
|
* use an int in screen_init and avoid needing to cast for screen number (which).okan2013-04-29-2/+2
|
* push Screenq into screen_initokan2013-04-12-2/+7
|
* teach screen_find_xinerama() about gap and adjust (simplify) callers;okan2013-01-08-6/+6
| | | | menu becomes gap-aware for free.
* revert previousokan2013-01-07-3/+3
|
* unbreak xinerama support from r1.41 for panning setupsokan2013-01-07-3/+3
|
* merge in Xinerama screen query; no functional change.okan2013-01-02-23/+11
|
* have screen_find_xinerama() return struct geom *reliably* instead ofokan2013-01-02-6/+14
| | | | XineramaScreenInfo; simplifies goop around the callers.
* expand CHILDMASKokan2012-12-18-3/+4
|
* stash the default screen visual and colormap in screen_ctxokan2012-12-17-1/+3
|
* x_setupscreen -> screen_init; no functional change.okan2012-11-29-1/+55
|
* sortokan2012-11-09-2/+2
|
* Further simplify Xinerama init and re-init on XRR events.okan2012-07-18-16/+6
| | | | | | | | | | | 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.
* check valueokan2012-07-16-2/+2
|
* move the HasXinerama check into screen_find_xinerama and simplify logic;okan2012-07-16-1/+4
| | | | moves closer to logic in menu code.
* convert xmax/ymax uses to view geometry.okan2012-07-13-4/+1
|
* introduce screen "view" area and "work" area (gap applied) to simplifyokan2012-07-13-1/+11
| | | | various blocks that require understanding the screen geometry.
* querying for Xinerama should be done per display, not per screen, sookan2012-07-06-1/+9
| | | | | 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-4/+4
| | | | | | 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.
* re-implement atom handing; makes for a normalized and more consistentokan2012-07-03-19/+5
| | | | separation between cwm and ewmh. seen by a few.
* tag and comment cleanup; ok oga@okan2011-05-11-1/+1
|
* (0,0) is also inside in the screen; from Sviatoslav Chagaev.okan2011-03-22-3/+3
| | | | ok oga@
* - allow per-screen gap; not (yet) user configurable.okan2010-01-27-6/+6
| | | | | | - 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@
* merge the 2 common header files; specific includes to be pulled out asokan2009-12-15-2/+1
| | | | | | separate commits. ok oga@
* add _NET_WORKAREA. for now we ignore the gap, this'll change soonish.oga2009-12-11-2/+15
| | | | ok okan@
* another int/long fixup that was giving dodgy property values on amd64, shame onoga2009-12-11-2/+2
| | | | | | me for not reading xlibs (appauling) documentation more closely. ok okan@
* Implement _NET_CURRENT_DESKTOP, _NET_DESKTOP_VIEWPORT andoga2009-12-10-1/+12
| | | | | | _NET_DESKTOP_GEOMETRY. ok okan@
* finish unfucking the screen_ctx handling.oga2009-12-10-13/+2
| | | | | | | | | | | | | 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@.