okan
4485c34f15
gc->hidden has never consistently kept track of a group's state;
...
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-24 15:37:45 +00:00
okan
b7cd8019f2
Purely mechanical; unify 'num', 'no' and 'shortcut'.
2014-08-20 15:15:29 +00:00
okan
2c1d1423f8
whitespace
2014-08-20 12:35:39 +00:00
okan
875128a0cb
Make sure we cycle through existing client's group membership and set
...
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-08 02:49:30 +00:00
okan
16de3733be
Introduce a region queue and replace screen's XineramaScreenInfo; we
...
still use Xinerama to populate the regions per screen, but will switch
at a more appropriate time.
2014-02-03 21:07:47 +00:00
okan
4c3987dcc1
make this XQueryTree like the other
2014-02-03 20:29:05 +00:00
okan
ea2abae9f3
Move redundant bits from screen_init (while dealing with existing
...
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-03 20:20:39 +00:00
okan
03847f1c2e
No need to store screen colormap and visual; rather just use the X
...
macros in the one place they are needed.
2014-02-02 16:29:04 +00:00
okan
49f2f86dbd
Unlike free(3), XFree(3) can't be passed a NULL pointer.
2014-02-02 16:13:50 +00:00
okan
beb28798ef
move some init up and shed some blank lines
2014-01-27 15:13:09 +00:00
okan
72ccee09ff
use consistent types
2014-01-03 15:29:06 +00:00
okan
4104232e02
Teach screen_find_xinerama() to apply gap only when told to do so;
...
adjust callers. Needed for an upcoming feature.
2013-12-13 22:39:13 +00:00
okan
537fe7febb
move Cursors into conf.
2013-06-17 17:11:10 +00:00
okan
bd38e60d03
- configure menuwin with the screen, then create the xft drawable using
...
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-20 20:21:04 +00:00
okan
7ab1469590
new -> init
2013-05-11 22:01:07 +00:00
okan
f00ab96178
replace conf_{gap,color,font} with conf_screen since really we are
...
configuring the screen *after* parsing, just as we do a conf_client on
client manage.
2013-05-11 21:46:27 +00:00
okan
b0af7028d0
group conf_* init functions
2013-04-30 21:12:20 +00:00
okan
87e16df157
use an int in screen_init and avoid needing to cast for screen number (which).
2013-04-29 00:56:47 +00:00
okan
0b6abd364f
push Screenq into screen_init
2013-04-12 14:46:30 +00:00
okan
62ff18b6d7
teach screen_find_xinerama() about gap and adjust (simplify) callers;
...
menu becomes gap-aware for free.
2013-01-08 04:12:51 +00:00
okan
5c111b8c13
revert previous
2013-01-07 21:45:24 +00:00
okan
0fc885f41e
unbreak xinerama support from r1.41 for panning setups
2013-01-07 20:32:19 +00:00
okan
68cdbb853d
merge in Xinerama screen query; no functional change.
2013-01-02 18:11:23 +00:00
okan
10e814fedf
have screen_find_xinerama() return struct geom *reliably* instead of
...
XineramaScreenInfo; simplifies goop around the callers.
2013-01-02 16:26:34 +00:00
okan
9a1820657c
expand CHILDMASK
2012-12-18 18:39:55 +00:00
okan
2410477c9d
stash the default screen visual and colormap in screen_ctx
2012-12-17 18:34:06 +00:00
okan
ddf27615e6
x_setupscreen -> screen_init; no functional change.
2012-11-29 03:54:46 +00:00
okan
4f78cb6835
sort
2012-11-09 03:52:02 +00:00
okan
9e50f2e028
Further simplify Xinerama init and re-init on XRR events.
...
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-18 21:53:22 +00:00
okan
8a8244095d
check value
2012-07-16 01:42:00 +00:00
okan
147b66e3ac
move the HasXinerama check into screen_find_xinerama and simplify logic;
...
moves closer to logic in menu code.
2012-07-16 01:36:30 +00:00
okan
6ee7c6534f
convert xmax/ymax uses to view geometry.
2012-07-13 15:21:35 +00:00
okan
3f2059e461
introduce screen "view" area and "work" area (gap applied) to simplify
...
various blocks that require understanding the screen geometry.
2012-07-13 14:18:04 +00:00
okan
37bdf57a02
querying for Xinerama should be done per display, not per screen, so
...
move chuck to display init; allows some shuffling to occur limiting
screen_init_xinerama()'s scope while keeping order intact.
2012-07-06 14:18:00 +00:00
okan
43b628a3d0
the display's width and height are updated after an XRandR event so we
...
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-05 17:35:13 +00:00
okan
d24974f4cb
re-implement atom handing; makes for a normalized and more consistent
...
separation between cwm and ewmh. seen by a few.
2012-07-03 13:49:03 +00:00
okan
4fb00eca7b
tag and comment cleanup; ok oga@
2011-05-11 13:53:51 +00:00
okan
f109779994
(0,0) is also inside in the screen; from Sviatoslav Chagaev.
...
ok oga@
2011-03-22 10:54:42 +00:00
okan
3d3e2130f8
- allow per-screen gap; not (yet) user configurable.
...
- teach _NET_WORKAREA about gap.
ok oga@
2010-01-27 03:04:50 +00:00
okan
ba93a73ad3
pull all non-X11 headers from calmwm.h and place them only where they
...
are required.
encourged to go all the way by oga@
2009-12-15 04:10:42 +00:00
okan
9dfa8ad14a
merge the 2 common header files; specific includes to be pulled out as
...
separate commits.
ok oga@
2009-12-15 03:24:36 +00:00
oga
d0275e11af
add _NET_WORKAREA. for now we ignore the gap, this'll change soonish.
...
ok okan@
2009-12-11 18:09:16 +00:00
oga
3ec3bf2582
another int/long fixup that was giving dodgy property values on amd64, shame on
...
me for not reading xlibs (appauling) documentation more closely.
ok okan@
2009-12-11 17:57:38 +00:00
oga
a53f6f767e
Implement _NET_CURRENT_DESKTOP, _NET_DESKTOP_VIEWPORT and
...
_NET_DESKTOP_GEOMETRY.
ok okan@
2009-12-10 23:14:58 +00:00
oga
206c3e3bc9
finish unfucking the screen_ctx handling.
...
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-12-10 17:16:51 +00:00
tobias
18dd1d8fc7
style (whitespaces)
...
ok oga, okan
2009-11-28 17:52:12 +00:00
tobias
44eea5f75c
Corrected grammar in comment.
...
ok (and better style suggestion by) oga, okan
2009-11-22 21:38:50 +00:00
oga
67c21c1d1a
Instead of having a function that just calls TAILQ_INIT on a global, use
...
TAILQ_HEAD_INITIALIZER() and drop the function.
ok okan@
2009-08-24 21:22:48 +00:00
okan
d893a97dee
static local functions and data; almost identical diff from Thomas Pfaff
...
ok oga@
2009-06-26 12:21:58 +00:00
okan
28840135ea
tidy up startup/init routines
...
ok oga@
2009-06-23 21:52:38 +00:00