okan
270df196ac
- 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
e14123210a
no reason to pass around *sc when it's already in menu_ctx.
2013-05-20 20:04:36 +00:00
okan
5b4c55616a
move the 2 small font helper functions to xutil.c
2013-05-19 23:38:20 +00:00
okan
e41c84c752
move the rest of xft init into screen_conf, since most of it is based on
...
config parameters.
2013-05-19 23:16:29 +00:00
okan
dac00a232f
- switch border colors to Xft
...
- merge border/menu color structures/functions since they now both use Xft
- switch xu_xorcolor to operating on XftColor instead of just
XRenderColor (basically adding pixel)
- if color name allocation fails, revert back to default (this, along
with font validation should occur during config parse, but we don't
have screens setup yet - likely to change at some point)
2013-05-19 23:09:59 +00:00
okan
c84145661e
add support for _NET_CLOSE_WINDOW
2013-05-19 17:05:52 +00:00
okan
556a50d8f7
treat WM_CHANGE_STATE like other atoms
2013-05-19 17:03:55 +00:00
okan
01bfdd7b42
use XGetWMProtocols and simplify WM_PROTOCOL handling
2013-05-19 17:02:04 +00:00
okan
3253f5a4a1
simplify
2013-05-19 17:01:29 +00:00
okan
be72620432
if -> ifdef
2013-05-14 13:39:53 +00:00
okan
c637a54048
- let callers of font_draw figure out (and pass) the color instead of an
...
'active' flag.
- use strlen() inside of font_draw; the only instance where it wasn't
used happened to be ignored on a subsequent draw.
2013-05-14 12:35:56 +00:00
okan
112f616d1d
swap x/y calculations in kbd move/resize to match those in the respective mouse functions
2013-05-11 22:03:17 +00:00
okan
2b926784ba
new -> init
2013-05-11 22:01:07 +00:00
okan
3a38686137
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
9b9e95d742
more type fixes for mask/button
2013-05-10 16:32:47 +00:00
okan
d0fe80b1f4
spacing
2013-05-10 16:10:40 +00:00
okan
e05c0a2c60
int type fixes
2013-05-10 16:05:34 +00:00
okan
457938fbd7
fix KeySym type
2013-05-10 15:44:43 +00:00
okan
5f06e5a8ca
border width/color makes sense for some, so put it back
2013-05-07 01:35:41 +00:00
okan
1a06f09fa0
negative values for borderwith, moveamount, snapdist and gap are
...
configuration errors, so warn and load defaults.
2013-05-06 19:09:19 +00:00
okan
1db7cc2a18
remove group in client_delete directly.
2013-05-06 16:03:11 +00:00
okan
27854d9061
border width/color makes no sense on menuwin
2013-05-06 16:00:34 +00:00
okan
e91c716262
- no need to position and size the menu window before an Expose event
...
since we'll be calculating required size later anyway; allows us to
consolidate all prompt/display/search string building goop into
menu_draw.
- reset the pos/size of menuwin when leaving a menu.
- reverse the 'prompt' NULL check to be consistent with 'initial' one
and fix a whitespace nit while here.
2013-05-02 20:18:35 +00:00
okan
0d209028be
zap leftover debug printf
2013-05-02 19:41:52 +00:00
okan
9de81f3d2e
get rid of cc->name in the resize box and make dimensions more readable.
2013-05-02 19:33:17 +00:00
okan
bb56bf4c4b
only redraw the name/size box when the client resizes, not every time
...
there's movement; should slightly help with resize syncs.
2013-05-02 19:30:10 +00:00
okan
5acf6c147f
no need for font_{ascent,descent,height} wrappers; limit font_width to
...
just requiring xftfont.
2013-05-02 17:25:15 +00:00
okan
5ab3b373d3
group conf_* init functions
2013-04-30 21:12:20 +00:00
okan
ff6f5301f0
missing proto
2013-04-30 21:11:07 +00:00
okan
6e8f1f2955
type fix
2013-04-30 21:10:23 +00:00
okan
94e341725b
use an int in screen_init and avoid needing to cast for screen number (which).
2013-04-29 00:56:47 +00:00
okan
006a29e617
mechanical xu_{get,set}state -> xu_{get,set}_wm_state change
2013-04-17 13:57:06 +00:00
okan
302690624e
slightly rework WM_STATE set/get to make it less ambigious; will be more clear
...
on what needs to change to make it right in the end.
2013-04-17 13:52:20 +00:00
okan
1dbcc394ae
zap extra space
2013-04-17 13:31:47 +00:00
okan
a899d267fe
add conf_ignore and move group_make_autogroup to conf_autogroup to match.
2013-04-17 13:30:38 +00:00
okan
16ed8bf8e4
only a window is required to set WM_STATE. also un-confuse xu_ptr_getpos
...
by using 'win' instead of 'rootwin' so as not to imply only the root
window is queried, rather any window.
2013-04-14 16:13:17 +00:00
okan
f3dfc4968c
we handle WM_STATE here, so remove misleading comment.
2013-04-12 20:54:27 +00:00
okan
ef1b78f464
we already set window state in client_hide or client_unhide right before, so
...
there's no need to do it again.
2013-04-12 20:45:57 +00:00
okan
b5f6bd205c
makes no sense to set an error handler which uses X_Dpy before XOpenDisplay.
2013-04-12 14:49:16 +00:00
okan
6296efadaa
push Screenq into screen_init
2013-04-12 14:46:30 +00:00
okan
90f95416c6
_NET_WM_NAME is UTF8_STRING type
2013-04-10 19:08:09 +00:00
okan
58c1d48d10
plug memleak; always need to menuq_clear even when a selection is made.
2013-04-08 15:43:04 +00:00
okan
62a685d82a
reverse logic to make it like the others
2013-04-08 13:05:27 +00:00
okan
28b54db221
consistency
2013-04-08 13:02:31 +00:00
okan
8c47a12a86
missing prototype
2013-04-08 00:56:21 +00:00
okan
f18d2c94c2
add missing proto; replace magic number
2013-04-05 17:36:02 +00:00
okan
670207f79b
zap stray whitespace
2013-04-05 17:07:25 +00:00
okan
c5a76f1d5b
- no reason to breakout ClassHints work, so fold into client_{new,delete},
...
but keep _MOTIF_WM_HINTS separate.
- simplify fetching app/class hint.
- fix _MOTIF_WM_HINTS Atom type.
2013-04-03 20:22:55 +00:00
okan
9cad4c73b3
honor PATH search order for exec; from Andres Perera.
2013-04-03 19:28:00 +00:00
okan
ec4474a33a
move XUngrabServer to the end of client_new() to avoid races where clients,
...
such as those using sdl, attempt to manage the clients themselves when the
clients aren't fully ready. other wm's grab the xserver during the whole
client setup process, so match.
behavior found by jsg.
2013-04-03 19:20:50 +00:00