aboutsummaryrefslogtreecommitdiffstats
path: root/screen.c (unfollow)
Commit message (Collapse)AuthorLines
2014-09-23Move stuff that doesn't belong in group_init; while here, explicitlyokan-1/+10
initialize hideall and cycling.
2014-09-08Remove duplicate client queue (mruq); instead, remove and take theokan-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).
2014-09-07more style nitsokan-6/+6
2014-09-07screen_fromroot -> screen_findokan-3/+3
2014-08-24gc->hidden has never consistently kept track of a group's state;okan-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.
2014-08-20Purely mechanical; unify 'num', 'no' and 'shortcut'.okan-4/+4
2014-08-20whitespaceokan-2/+2
2014-02-08Make sure we cycle through existing client's group membership and setokan-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).
2014-02-03Introduce a region queue and replace screen's XineramaScreenInfo; weokan-23/+27
still use Xinerama to populate the regions per screen, but will switch at a more appropriate time.
2014-02-03make this XQueryTree like the otherokan-13/+11
2014-02-03Move redundant bits from screen_init (while dealing with existingokan-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.
2014-02-02No need to store screen colormap and visual; rather just use the Xokan-3/+1
macros in the one place they are needed.
2014-02-02Unlike free(3), XFree(3) can't be passed a NULL pointer.okan-3/+3
2014-01-27move some init up and shed some blank linesokan-6/+4
2014-01-03use consistent typesokan-3/+3
2013-12-13Teach screen_find_xinerama() to apply gap only when told to do so;okan-6/+12
adjust callers. Needed for an upcoming feature.
2013-06-17move Cursors into conf.okan-2/+2
2013-05-20- configure menuwin with the screen, then create the xft drawable usingokan-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
2013-05-11new -> initokan-2/+2
2013-05-11replace conf_{gap,color,font} with conf_screen since really we areokan-4/+2
configuring the screen *after* parsing, just as we do a conf_client on client manage.
2013-04-30group conf_* init functionsokan-6/+4
2013-04-29use an int in screen_init and avoid needing to cast for screen number (which).okan-2/+2
2013-04-12push Screenq into screen_initokan-2/+7
2013-01-08teach screen_find_xinerama() about gap and adjust (simplify) callers;okan-6/+6
menu becomes gap-aware for free.
2013-01-07revert previousokan-3/+3
2013-01-07unbreak xinerama support from r1.41 for panning setupsokan-3/+3
2013-01-02merge in Xinerama screen query; no functional change.okan-23/+11
2013-01-02have screen_find_xinerama() return struct geom *reliably* instead ofokan-6/+14
XineramaScreenInfo; simplifies goop around the callers.
2012-12-18expand CHILDMASKokan-3/+4
2012-12-17stash the default screen visual and colormap in screen_ctxokan-1/+3
2012-11-29x_setupscreen -> screen_init; no functional change.okan-1/+55
2012-11-09sortokan-2/+2
2012-07-18Further simplify Xinerama init and re-init on XRR events.okan-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.
2012-07-16check valueokan-2/+2
2012-07-16move the HasXinerama check into screen_find_xinerama and simplify logic;okan-1/+4
moves closer to logic in menu code.
2012-07-13convert xmax/ymax uses to view geometry.okan-4/+1
2012-07-13introduce screen "view" area and "work" area (gap applied) to simplifyokan-1/+11
various blocks that require understanding the screen geometry.
2012-07-06querying for Xinerama should be done per display, not per screen, sookan-1/+9
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-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.
2012-07-03re-implement atom handing; makes for a normalized and more consistentokan-19/+5
separation between cwm and ewmh. seen by a few.
2011-05-11tag and comment cleanup; ok oga@okan-1/+1
2011-03-22(0,0) is also inside in the screen; from Sviatoslav Chagaev.okan-3/+3
ok oga@
2010-01-27- allow per-screen gap; not (yet) user configurable.okan-6/+6
- teach _NET_WORKAREA about gap. ok oga@
2009-12-15pull all non-X11 headers from calmwm.h and place them only where theyokan-1/+11
are required. encourged to go all the way by oga@
2009-12-15merge the 2 common header files; specific includes to be pulled out asokan-2/+1
separate commits. ok oga@
2009-12-11add _NET_WORKAREA. for now we ignore the gap, this'll change soonish.oga-2/+15
ok okan@
2009-12-11another int/long fixup that was giving dodgy property values on amd64, shame onoga-2/+2
me for not reading xlibs (appauling) documentation more closely. ok okan@
2009-12-10Implement _NET_CURRENT_DESKTOP, _NET_DESKTOP_VIEWPORT andoga-1/+12
_NET_DESKTOP_GEOMETRY. ok okan@
2009-12-10finish unfucking the screen_ctx handling.oga-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@.
2009-11-28style (whitespaces)tobias-2/+2
ok oga, okan