Julien Danjou
333d76d14e
client: fix raising of systray windows
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 09:01:32 +02:00
Pierre Habouzit
17744fc81d
Be more on the safe side.
...
it's useless to escape anything if text_len is 0, also some clients seem
to have a NULL name, so use NONULL(p->priv).
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 18:55:29 +02:00
Julien Danjou
9ad5f651fe
client: use a_str()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 17:49:15 +02:00
Pierre Habouzit
14f4e02e66
Replace tag_t lists with arrays.
...
This improves lots of code efficiency (we *know* how many tags we have
now, YA'RLY).
Also fix a \todo in client.c: since knowing the number of tags is cheap,
ignore props that don't match it.
Use many p_alloca for things that depends on the number of tags (no sane
user will have *thousands* of tags. This saves a few more mallocs.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 17:37:19 +02:00
Julien Danjou
341f58b9f6
client: fix placement doc
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 15:49:27 +02:00
Julien Danjou
4711f4631f
systray: restack on client raise
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:53:31 +02:00
Julien Danjou
446df09acc
cosmetic
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:14:47 +02:00
Julien Danjou
ab5119732d
use more tokenizer, with len
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:01:33 +02:00
Julien Danjou
c67c237bba
client: move floating_placement_set()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 11:41:16 +02:00
Pierre Habouzit
b4b381e947
Finish markup parsing rewrite to avoid mallocs.
...
For that matter, use elements as a filter for elements we care about, and
let the hook implement whatever it needs without duplicating everything.
The resulting algorithm is still O(n²) where n is the number of filtered
elements (3 at most right now), which isn't bad if we don't need to get
too many elements, but at least it's not quadratic in the number of
attributes anymore.
Speedup improvements could be done using gperf btw.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 17:45:45 +02:00
Pierre Habouzit
37d69b8dcc
markup substitutions enhancements.
...
Do not preemptively allocate a g_markup_escape_text for substitutions,
just remember what we want to substitute markup with, and substitute it in
the final buffer efficiently.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:58:56 +02:00
Pierre Habouzit
943e2035fa
Rework the markup_parser_* allocation API.
...
We have a stack, don't be ashamed to use it.
Instead of:
foo_t *foo;
foo = foo_new();
/* work with foo */
foo_delete(&foo);
It's way better to:
foo_t foo;
foo_init(&foo);
/* work with &foo */
foo_wipe(&foo);
Remember: more mallocs == more fragmentation.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:17:12 +02:00
Pierre Habouzit
5c601dfd19
Use extensible buffers in markup parsing.
...
This should avoid quite a few malloc calls.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:12:42 +02:00
Julien Danjou
de0d6045ba
client: do not send request for WM_NAME
...
It's X standard.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 16:42:07 +02:00
Julien Danjou
46ead6ea3f
comments fixing
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 08:38:00 +02:00
Julien Danjou
7b15c1d6c0
client: set ICONIC on hidden, WITHDRAWN on ban
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 19:53:15 +02:00
Julien Danjou
a5478e5438
ewmh: add support for _NET_WM_WINDOW_TYPE_DESKTOP
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 19:51:58 +02:00
Michael Gehring
60591fe9bd
client: export client_geometry_hints
2008-06-18 18:48:38 +02:00
Michael Gehring
1c570feff7
client: add hassizehints
2008-06-18 18:48:38 +02:00
Julien Danjou
92f369e3aa
lua: userdata_new is now macro
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 18:31:35 +02:00
Julien Danjou
694f97e4d7
titlebar: set above client edge border
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 17:05:10 +02:00
Julien Danjou
7709b22261
titlebar: fix titlebar rendering in tiled mode
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 14:04:24 +02:00
Julien Danjou
32a73f9ae6
titlebar: add support for border, refactorize code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 11:22:54 +02:00
Julien Danjou
1cfc00f605
ewmh: fix various client list updates
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 23:20:03 +02:00
Arnaud Fontaine
b9e1ec69d0
Replace xcb_aux_get_screen() by a safer function
2008-06-17 17:14:00 +02:00
Julien Danjou
26738c4dab
xshape: remove, nothing prove it's really useful
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 15:06:05 +02:00
Julien Danjou
5bae1f0c37
window: rework root_grabbuttons()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 14:35:58 +02:00
Julien Danjou
16646c86ab
lua: __eq methods are not macros
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-16 11:37:55 +02:00
Julien Danjou
79eedb2f06
client: split out atom request on kill
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:37:34 +02:00
Julien Danjou
7707dd69c6
client: split out atom requests
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:34:15 +02:00
Julien Danjou
1142c382f7
mouse: make button bindings objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 15:35:47 +02:00
Julien Danjou
008cf2b340
ewmh: add modal windows support and a modal layout
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 14:41:42 +02:00
Julien Danjou
0fd1779b3a
[client] Restack clients on manage
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 13:12:38 +02:00
Julien Danjou
e6b14c1d39
[client] Fix border width setting
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 08:14:54 +02:00
Julien Danjou
11e93c2dbf
[client] Fix titlebar destruction
...
We need to unref AFTER...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:38:40 +02:00
Michael Gehring
276f5f8849
[doxygen] Add \lvalue and convert existing doc.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:36:34 +02:00
Julien Danjou
213b2190ed
[client] Fix typo
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:48:38 +02:00
Julien Danjou
f11c913bc4
[lua] Fix gettop() usages
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:32:26 +02:00
Julien Danjou
88c76cadf4
[titlebar] Allow nil to be arg of titlebar_set()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:35:38 +02:00
Julien Danjou
e9bfdcf681
[client] Documentation update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:29:53 +02:00
Julien Danjou
c5c75bf960
[client] Add ishidden() method
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:17:12 +02:00
Julien Danjou
4573147196
[hooks] Rename newclient to `manage', add unmanage hook
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:03:10 +02:00
Julien Danjou
df2770bb2f
[client] Loadprops use screen_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 15:15:13 +02:00
Julien Danjou
aa6bfc560a
[draw] Do inline UTF-8 conversion
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 07:32:35 +02:00
Julien Danjou
1049393840
Revert "Replace tags by workspaces"
...
This reverts commit 00f966ea04
.
Revert "[focus] Fix bogus arguments"
This reverts commit 816b5d16bc
.
Revert "[mouse] Fix bug with floating"
This reverts commit 89daa72790
.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 21:56:03 +02:00
Julien Danjou
ac1517bacb
[client] Add support for hide/unhide
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 18:24:12 +02:00
Julien Danjou
00f966ea04
Replace tags by workspaces
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 16:30:46 +02:00
Michael Gehring
59c04890fc
[cleanup] random doxygen fixes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 17:13:09 +02:00
Julien Danjou
75cb6b81af
[screen] s/move_client_to_screen/screen_client_moveto/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 11:02:34 +02:00
Alex Cornejo
adedb9e397
Added get_class to client.
...
This is useful for writing rules in the awesomerc.lua, since
in the lua-less version it was possible to trigger rules based
on the class of the window (as opposed to the name).
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 14:53:57 +02:00
Julien Danjou
6ba90facb0
[client] Various documentation update and fixes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 09:27:16 +02:00
Julien Danjou
98119d5d3f
[lua] Check for object validity
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:27:10 +02:00
Julien Danjou
eb8378749b
[titlebar] Add titlebar_client_get()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 17:54:52 +02:00
Julien Danjou
5f2585d82e
[screen] s/get_display_area/display_area_get/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 15:34:11 +02:00
Julien Danjou
80ec848130
[client] Add titlebar_get()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 13:36:13 +02:00
Julien Danjou
aecc3c0e45
[titlebar] Store titlebar inside client
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 11:50:21 +02:00
Julien Danjou
1e08a992b8
[titlebar] Rewrote titlebar based on widgets
...
This is the new titlebar handling code, based on widgets.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 18:41:54 +02:00
Julien Danjou
930997898b
[client] Add unmanage function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 08:32:16 +02:00
Julien Danjou
c332971b21
[draw] Rename draw_color_new() to xcolor_new()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:34:38 +02:00
Julien Danjou
e39bb8eac6
[markup] Stop recomputing len, use slen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 07:52:29 +02:00
Julien Danjou
b24c0b286c
[client] Fix border_set documentation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 09:50:49 +02:00
Julien Danjou
3ab739553c
[client] Add and honor the noborder attribute
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 14:33:45 +02:00
Julien Danjou
ebb56ce6b1
[client] Add a hook on urgent flag
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 11:08:48 +02:00
Julien Danjou
bc38b86c80
[client] Need arrange on focus
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 21:46:13 +02:00
Julien Danjou
e890297617
[client] Focus even if we think we already have focus
...
Because sometimes clients steal focus.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 21:34:52 +02:00
Julien Danjou
55b4c773d0
[client] Fix client_resize() comments
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 20:17:33 +02:00
Julien Danjou
0e3531d3a3
[client] Rework raise and mouse stuff
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 18:08:29 +02:00
Julien Danjou
93741f6b91
[client] Push client on stack list on manage
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 19:47:19 +02:00
Julien Danjou
c81dacf091
[client] Add proper stacking support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 19:32:30 +02:00
Julien Danjou
f6f74c4565
[client] Add client.name_set() function and hook on title update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:51:45 +02:00
Julien Danjou
d9dd1fba8e
Revert "[client] Remove ismax attribute."
...
This reverts commit fb822997b3
.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:42:20 +02:00
Julien Danjou
c9fde5a9f0
[client] Check that tag and client are on the same screen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 12:06:10 +02:00
Fabienne Ducroquet
1d8481fc9e
[client] Save geometry of windows when resizing in floating layout
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 08:26:39 +02:00
Julien Danjou
0bbd2d4b3e
Rename AwesomeConf to awesome_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:59:27 +02:00
Julien Danjou
67b2702b7d
[client] Remove newcomer attribute
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 23:01:41 +02:00
Julien Danjou
db5430420d
[client] Create luaA_client_userdata_new() function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:56:03 +02:00
Julien Danjou
495b99f1c5
[focus] Rewrite focus handling on arrange.
...
Also add some documentation.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:48:27 +02:00
Julien Danjou
981b26cbc8
[lua] Add name_get() method and make mplayer floating by default
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Julien Danjou
a04417494b
[mouse] Rename Button to button_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Julien Danjou
0142f0efc9
[layout] Rename LayoutArrange to layout_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:11:59 +02:00
Julien Danjou
ccb2a2db77
[lua] Remove regex matching
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:17:02 +02:00
Julien Danjou
fb822997b3
[client] Remove ismax attribute.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:11:47 +02:00
Julien Danjou
e25434fe25
[client/tasklist] Reactivate icon drawing with client.icon_set()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 22:37:08 +02:00
Julien Danjou
ec21647c87
[client] Remove useless client_get_byname()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:59:58 +02:00
Julien Danjou
dc431ec430
[scratch] Remove scratch client support.
...
This can be done in Lua now.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:47:29 +02:00
Julien Danjou
ddae225363
[client] Execute hook on real focus
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 18:06:02 +02:00
Julien Danjou
1f046b3c9f
[everything] Switch from libconfuse to Lua
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 18:01:15 +02:00
Julien Danjou
e5ed2f2f1c
[swindow] Permit to delete NULL swindow
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 18:56:33 +02:00
Arnaud Fontaine
f288fda0c5
[client] Send requests to the X server and treat replies as late as possible
2008-05-12 19:42:56 +01:00
Arnaud Fontaine
a4c7ffffc7
[client] Add client_redraw (FS#170)
2008-05-11 17:56:26 +01:00
Arnaud Fontaine
162b8a690c
[all] Implement an atom cache in xutil as an ordered linked-list
2008-05-11 01:10:37 +02:00
Julien Danjou
7f284ba15a
[client] Remove erronous call to xcb_change_window_attributes() for borders
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 15:11:02 +02:00
Julien Danjou
39a070a5ae
[client] Fix bug with atoi() and make uicb focus take 0 as arg
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:17:49 +02:00
Julien Danjou
c88b0b15ff
[client] Merge zoom with swap, change togglefloating to setfloating
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou
b75e462223
[client] Merge vertical and horizontalmax inside togglemax
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou
d5859c60f7
[client] Merge focus{prev,next} and swap{prev,next}
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou
f0e29977d8
[client] introduce client_style_get() and use it in tasklist/titlebar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou
8603f0dac1
[client] Documentation update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou
de3fbffcf1
[xutil] Rewrite gettextprop() proto
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou
7468bb6794
[client] Fix potential memory leak on client string parsing errors
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou
fd9d012f73
[client] Do not escape in client's name attribution
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou
088446e97d
[client] Free markup data
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou
09e166ca1e
[client] Pass signed to xutil_gettextprop()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Arnaud Fontaine
0624f4ce6a
[client] Useless accessors functions have been removed from
...
xcb-util/icccm which had a bug making urgency hint unusable.
2008-05-03 12:01:04 +02:00
Julien Danjou
eab7633675
[tasklist] Remove styles; use drawtext format
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
ccfcde3555
[client] Escape clients name
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou
e4d091ab2e
[tag] Rename Tag type to tag_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou
d1635db59f
[client] Rename Client type to client_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Arnaud Fontaine
20442adfa0
Cosmetic
2008-05-03 12:01:03 +02:00
Julien Danjou
c9f4c45007
[rules] Rename Rule to rule_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou
eb1a9bd69c
[all] Rename Layer to layer_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou
97dc830db5
[util/rules] Move Fuzzy from rules to util
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou
ffec807e9d
[client] Stack according to client on all screens
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Arnaud Fontaine
9e88dd4372
[client] Fix xcb_get_wm_normal_hints() which now returns an allocated pointer
2008-05-03 12:01:01 +02:00
Julien Danjou
82f305b1b1
[xutil] Rework some stuff and rename xgettextprop()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Arnaud Fontaine
2f9409ba74
Desallocate replies and events properly
2008-05-03 12:01:01 +02:00
Arnaud Fontaine
b0b0dcf525
[client] Send properly the ClientMessage request when killing a client
2008-05-03 12:01:01 +02:00
Arnaud Fontaine
71e9100927
Remove useless xutil_root_window()
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
02c99fccb8
Prefix xutil functions properly
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
4a1720ddca
Remove useless x_select_input() which leaded to useless requests
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
164e696005
Cosmetic
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
3ea19aab12
Set properly the border width of a new window
2008-05-03 12:00:59 +02:00
Arnaud Fontaine
dafafd077c
Port Awesome to XCB
2008-05-03 12:00:59 +02:00
Thomas Janu
7e301b5ef2
Layer 0 is also usable now
...
The check for a valid layer was wrong
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:00:25 +02:00
Wolfgang Kroener
3af77fd56e
add ewmh stacking layers
...
Add layers for ewmh stacking order
http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#STACKINGORDER
desktop, below, tile, float, above, fullscreen
Signed-off-by: Wolfgang Kroener <wk@azog.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:00:25 +02:00
Julien Danjou
24d2e200af
[client] Fix for 'invalidate' cache when swapping
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 11:59:56 +02:00
Julien Danjou
5daa3c6478
[client] Invalidate cache when swapping
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 11:53:38 +02:00
marco candrian
88a08c210f
force a floating point division
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-20 09:28:54 +02:00
marco candrian
8129bb7135
documentation fix on client_settrans
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-20 09:28:54 +02:00
Fabienne Ducroquet
b12a5235a5
[doc] Fix some typos, modify a few descriptions
...
Before awesome 2.3 release, I've decided to look for typos in the
awesome* manpages, here is the result. I've also modified some options'
descriptions that I didn't find very clear, I hope I have not
added/missed too many mistakes as I'm not a native English speaker...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-11 07:34:45 +02:00
Julien Danjou
f3d6ca0072
[client] Fix issues with opacity
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-10 13:18:08 +02:00
Julien Danjou
76fb9906ca
[client] Fix opacity focused issue
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 16:27:27 +02:00
Julien Danjou
5a062eb0d3
[client] Fix placement for maximized apps
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 15:40:33 +02:00
Julien Danjou
5e6760c589
[titlebar] Resize correctly titlebar on manage
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-04 10:53:53 +02:00
Julien Danjou
10903a3cb5
[titlebar] Better handling of position changes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-04 10:26:46 +02:00
Julien Danjou
d4764787c5
[placement] Really resize client if we change the placement (FS#152)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 20:11:38 +02:00
Julien Danjou
6f001de781
[client] Remove useless call to XMoveResizeWindow()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 09:05:23 +02:00
Julien Danjou
e3b057cf21
[placement] Resize client with new floating geometry
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 09:04:18 +02:00
Julien Danjou
2456f6d62a
[floating] Do not lower windows when going back to tiled
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 14:48:42 +02:00
Julien Danjou
841ce84ed9
[doc] Update a bunch of documentation for uicb; set transparency to be between 0 and 1
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 20:07:13 +02:00
Julien Danjou
ff1bd31633
[client] Optimize condition
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 11:35:56 +01:00
Julien Danjou
a8ab903e24
[client] Invalidate cache on maximize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 09:52:58 +01:00
Julien Danjou
3d33c84e36
[titlebar] Check if titlebar was created before unmaping it
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 17:01:57 +01:00
Julien Danjou
c834134cc8
[doc] Autogenerate documentation for uicb from source code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 15:00:46 +01:00
Julien Danjou
227c31fd77
[titlebar] Collapse for all position
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 11:07:23 +01:00
Julien Danjou
15256cccc1
[titlebar] Collapse titlebar to windows even if we do not resize it
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 11:03:52 +01:00
Julien Danjou
214b5a4a31
[titlebar] Fix resize_hints usage with titlebar
...
- titlebar_update_geometry() give now void
- we call titlebar_update_geometry_floating() to reset correctly the
titlebar position for right/bottom, so they will be stucked to the window
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 10:57:06 +01:00
Julien Danjou
7605585aee
Fix bug when switching focus to an empty screen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 18:20:39 +01:00
Julien Danjou
762645ca32
client_focus() now return bool to indicate if it has given focus
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 11:28:38 +01:00
Julien Danjou
c5afa7753b
Split restack function out of focus, and fix click-to-raise
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 16:34:41 +01:00
Julien Danjou
b946119d46
Disable titlebar on fullscreen/maximize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 14:44:11 +01:00
Julien Danjou
3310b974b4
Allow skip to be focused (by mouse) but refuse to focus them if they're newcomer
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 10:58:32 +01:00
Julien Danjou
db0932f77a
Cleanup stuff in client_manage for loading properties
...
Remove a double call to ewmh_check_client_hints, and only call
move_client_to_screen() when needed.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 21:56:12 +01:00
Julien Danjou
be12562ab7
Stop client_find_visible to loop for ever
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:58:39 +01:00
Julien Danjou
e261ad7b5d
Refuse to give focus on skippable windows
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:55:37 +01:00
Steffen Schulz
3b8cf66822
new directive opacity_focused=<int>
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:36:55 +01:00
Julien Danjou
d07ca5f76d
Fix potential segfault in client_focus()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 17:33:48 +01:00
Julien Danjou
904cd4e06a
Normalize some window functions protos
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou
1d468c5583
Lot of cosmetic changes: proto change, etc.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou
0a6c6e017b
Store physical screen id in statusbar and client, change get_phys_s() to screen_virttophys()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou
08f1e90384
Do not set urgent on window if it is focused
2008-03-23 15:52:21 +01:00
Julien Danjou
279e83ba05
Update titlebar with real floating info now if client is floating
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou
b1cd7d16c6
Do not compute smart floating geometry on awesome restart
2008-03-23 15:52:21 +01:00
Julien Danjou
1acc6ec8f6
Fix various bug with smart/mouse floating placement
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou
7c79f94341
Move titlebar initialization routine in titlebar.c
2008-03-23 15:52:20 +01:00
Julien Danjou
0b6d6d738a
Do nothing it the client already has focus
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou
720dabbaf6
Add support for titlebar on right
2008-03-23 15:52:20 +01:00
Julien Danjou
bb0fab396f
Add an ismoving attribute to client to fix a bug with titlebar and mouse moving in Xinerama
2008-03-23 15:52:20 +01:00
Julien Danjou
a42d43a853
Fix various placement issue with titlebar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou
850145f994
Changing floating geometry is bad
2008-03-23 15:52:20 +01:00
Julien Danjou
466ed47c2a
Remove useless code
2008-03-23 15:52:20 +01:00
Julien Danjou
dbe2052320
Check for sw also before restacking titlebars
2008-03-23 15:52:20 +01:00
Julien Danjou
c99bc4dc1d
Fix titlebar drawing on max
2008-03-23 15:52:20 +01:00
Julien Danjou
3eef1842e4
Do not use titlebar_update_geometry_floating() which sucks in client_resize()
2008-03-23 15:52:20 +01:00
Julien Danjou
e22d57a0ca
Change the way to do resize
...
Go back to old school
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou
cf58c338e4
Add drawing support for left titlebars
2008-03-23 15:52:20 +01:00
Julien Danjou
99d72010c5
Fix various metrics problems with titlebar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou
dd71f55469
Fix regression introduced by 7e2f59d851437d68c47b5827644eba117c0e7b82
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou
31f6010eda
Put titlebar resize for floating in titlebar_update_geometry_floating() function and call it for movemouse
...
This fix the problem when moving a window on a floating layout on screen N to
non-floating layout on screen M
2008-03-23 15:52:19 +01:00
Julien Danjou
c9450c6fbd
Remove switch/case for sw creation of titlebar, useless
2008-03-23 15:52:19 +01:00
Julien Danjou
eb595fe06e
Add support for Bottom titlebar
2008-03-23 15:52:19 +01:00
Julien Danjou
9bd32fc3b8
Split titlebar stuff into titlebar.[ch], and uicb_client_toggletitlebar
2008-03-23 15:52:19 +01:00
Julien Danjou
bc6656320d
Add support for text_align option in titlebars
2008-03-23 15:52:19 +01:00
Julien Danjou
f9f75629e1
Rule for titlebar applies event if we restart; set default to auto, which means off
2008-03-23 15:52:19 +01:00
Julien Danjou
cc56ccd2e9
Use section for titlebar parameters
2008-03-23 15:52:19 +01:00
Julien Danjou
3aa550ef6b
Cosmetic changes
2008-03-23 15:52:19 +01:00
Julien Danjou
bb453bd444
s/client_titlebar_update_position/client_titlebar_update_geometry/g
2008-03-23 15:52:19 +01:00
Julien Danjou
b51e352ed8
Fix errors with windows without titlebar
2008-03-23 15:52:19 +01:00
Julien Danjou
539636c77e
Fix bug with floating windows and titlebar
2008-03-23 15:52:19 +01:00
Julien Danjou
95f8325c06
Fix titlebar width (add borders)
2008-03-23 15:52:19 +01:00
Julien Danjou
b6f86ebb63
Smart placement support handling titlebar
2008-03-23 15:52:19 +01:00
Julien Danjou
a6b203f8a6
Disable titlebar for dock and panels
2008-03-23 15:52:19 +01:00
Julien Danjou
12584caa5d
Compute the rule only one time
2008-03-23 15:52:19 +01:00
Julien Danjou
8b217359e9
Rename Auto to Maybe in Fuzzy; add Auto as Position; add support for titlebar as rule
2008-03-23 15:52:19 +01:00
Julien Danjou
2c43fd6a69
Split titlebar properties into a struct with a SW and a Position
2008-03-23 15:52:18 +01:00
Julien Danjou
4311564945
Fix condition for having titlebars
2008-03-23 15:52:18 +01:00
Julien Danjou
dce101d044
Split out titlebar handling into layout for non-floating, and into resize for floating
2008-03-23 15:52:18 +01:00
Julien Danjou
3c3015fd76
Remove resize_hints args to client_resize(), force usage of client_geometry_hints()
2008-03-23 15:52:18 +01:00
Julien Danjou
ea88e324a0
First titlebar support
2008-03-23 15:52:18 +01:00
Julien Danjou
f1109b055c
Simplify next/prev stuff
2008-03-23 15:52:18 +01:00
Julien Danjou
c6eec955c8
Rename Area to area_t
2008-03-23 15:52:18 +01:00
Julien Danjou
fa47024714
Change colors infrastructure to style: rename colors_ctx_t to style_t and add font in it
2008-03-23 15:52:18 +01:00
Julien Danjou
0a980095b3
Rework colors stuff, add a common colors_ctx_t containing colors and shadow options
2008-03-23 15:52:17 +01:00
Julien Danjou
eee37d063c
Use xinerama_is_active attribute and drop XineramaIsActive() usage
2008-03-23 15:52:17 +01:00
Julien Danjou
355b7d67b3
Change screen_get_bycoord() proto to take ScreensInfo as arg, and speed up things
2008-03-23 15:52:17 +01:00
Julien Danjou
0bde5c9e29
Move some screen functions from screen.c to new common/xscreen.c
2008-03-23 15:52:17 +01:00
Julien Danjou
867b2f0775
first version of awesome-menu
2008-03-23 15:52:15 +01:00
Julien Danjou
a734c7dd5d
Remove transparency prop on focus
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-19 15:04:43 +01:00
Julien Danjou
4516bfcf3a
Check for EWMH hints after reloading client props
...
This avoid to think a client has already props in case it's tagged
with EWMH and then do not use its rules
2008-03-15 14:46:45 +01:00
Julien Danjou
9d98d71ad1
Keep floating windows on top of the stack
2008-03-04 15:25:59 +01:00
Julien Danjou
de8dcbb724
replace drop_events arch by x,y pointer coordinates saving
2008-03-04 10:14:13 +01:00
marco candrian
317929baea
Is the pointer inside client with including the borders...
...
it didn't reshift the pointer when the pointer was on the
right border (or even somebit in the client) because it didn't calculate
the border with to the dimensions.
Also, it wrapped the pointer inside the client. now it leaves it on the border
when that was the case before. Or on resizing (smaller) the pointer might also move
(relativ to the client) to the most outside point of the left or top border.
There is still the problem so:
the client gets moved/resize, the pointer might get out of the area temprarly and the
client loses the focus - despite that the pointer will reshifted onto it again.
A general: client_focus(sel, screen, False);
at the end seems to help, but is probably not clean etc.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-02 19:28:50 +01:00
marco candrian
271bf8da4a
border width taken into account on pointer movement
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-28 10:28:07 +01:00
marco candrian
f604d4dbdd
client_moveresize fix
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-28 07:54:45 +01:00
Julien Danjou
e5038732ca
check if the unmapped client is not the scratchpad
2008-02-26 17:45:55 +01:00
Julien Danjou
f54ff424a0
check widgets position
2008-02-25 20:09:19 +01:00
Julien Danjou
960d870b0b
fix screen_get_bycoord()
2008-02-25 13:40:30 +01:00
Julien Danjou
1e3f3d9300
floating placement can be chosen by config
2008-02-13 18:04:20 +01:00
marco candrian
4ff0dae17e
trailing whitespaces removed
...
like:
find . -iname "*.txt" -o -iname "*.c" -o -iname "*.h" | xargs sed -i 's/\s\+$//'
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-13 09:05:10 +01:00
Julien Danjou
a84eae2700
fix stacking issues
2008-02-12 14:39:52 +01:00
Julien Danjou
768aef8960
check transient and isfixed for setting floating state, even if we can loadprops
2008-02-12 10:19:59 +01:00
Julien Danjou
1b63e8a3c5
rename get_current_layout to layout_get_current()
2008-02-12 10:09:36 +01:00
Julien Danjou
e0099da269
use get_current_layout()
2008-02-12 10:08:16 +01:00
Julien Danjou
9390abcfb4
fix memory leak in smart_placement (with area_list_remove) and fix the algo
2008-02-11 17:15:28 +01:00
Julien Danjou
72d68b13a3
change focus raising
2008-02-09 23:12:40 +01:00
Julien Danjou
2fad66e23f
focus on maximize()
2008-02-09 22:42:21 +01:00
Julien Danjou
85e5baa4b1
focus scratch window when it appears, and don't select it for focusing in history
2008-02-08 15:08:42 +01:00
Julien Danjou
cdb85ad098
stop raising like dumb
2008-02-06 19:48:26 +01:00
Julien Danjou
b2e004b453
add scratch window support
2008-02-06 09:06:43 +01:00
Julien Danjou
befcf19ea2
introduce fuzzy logic: fix problem with not_master
2008-02-05 17:31:47 +01:00
Julien Danjou
a26b40fa28
fix segfault in client_zoom
2008-02-05 07:15:23 +01:00
Julien Danjou
06904cfcaa
Revert "remove opacity_unfocused"
2008-02-04 14:54:50 +01:00
Julien Danjou
a4a7433928
not size, position
2008-02-01 11:30:39 +01:00
Julien Danjou
4ad1f8a54a
don't compute position if program or user specified ones
2008-02-01 10:42:16 +01:00
Julien Danjou
606d157e31
rename some screens function
2008-01-30 09:36:52 +01:00
Julien Danjou
c3aeedfa24
better use of the space in smart placement
2008-01-29 09:13:35 +01:00
Julien Danjou
d9298f6edb
rename get_current_tags to tags_get_current()
2008-01-29 08:31:13 +01:00
Julien Danjou
ee1214846e
rename some client functions
2008-01-29 08:21:05 +01:00
Julien Danjou
9c7bbad840
respect border widths
2008-01-28 20:16:54 +01:00
Julien Danjou
ea57fd8fc9
add support for smart windows placement in floating layout
2008-01-28 18:30:23 +01:00
Julien Danjou
e233c2bfab
drop some EnterWindow events on swap/zoom
2008-01-28 16:46:31 +01:00
Julien Danjou
b016919d59
use client's screen here
2008-01-28 12:28:25 +01:00
Julien Danjou
75d57960de
type: screen != phys_screen
2008-01-28 11:44:57 +01:00
Julien Danjou
9f68db5360
use c->screen geometry, not display's
2008-01-28 11:43:37 +01:00
Julien Danjou
a0bef6d49e
missing include
2008-01-27 19:08:11 +01:00
Julien Danjou
95d5fe299e
rename focus() to client_focus()
2008-01-27 19:07:39 +01:00
Julien Danjou
b6642e45c8
rename initxcolor to draw_color_new() and move it to draw.c
2008-01-27 18:56:37 +01:00
Julien Danjou
37b4f62258
always grab Button1
2008-01-26 13:11:12 +01:00
MATSUU Takuto
363cefefee
transparency rule support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-25 23:48:24 +01:00
Julien Danjou
c22430a115
fix handling of window raisings
2008-01-25 23:43:16 +01:00
Julien Danjou
6f1e1e1abe
handle focus history on arrange()
2008-01-25 22:50:18 +01:00
Julien Danjou
485614f2df
rewrite focus handling
...
- arrange() does not focus() anymore
- restore dropping events infra
- add client_unfocus()
- grabbuttons() where we should and add root_grabbuttons() for root window
2008-01-25 22:37:49 +01:00
Julien Danjou
8434040cb2
do not drop XSetInputFocus errors; but we can not give focus to unmapped windows
2008-01-25 09:37:41 +01:00
Julien Danjou
367b4d48fb
Revert "rewrite focus() a bit"
...
This reverts commit 652c1459ba
.
2008-01-25 00:51:11 +01:00
Julien Danjou
652c1459ba
rewrite focus() a bit
2008-01-24 23:58:56 +01:00
Julien Danjou
3855ced402
remove selscreen arg
2008-01-24 23:48:35 +01:00
Julien Danjou
5ade4d63e0
remove opacity_unfocused
...
this is crap
2008-01-24 23:45:04 +01:00
Julien Danjou
7073133e66
remove drop event infrastructure
2008-01-24 23:43:46 +01:00
Julien Danjou
0abb100adf
use client_setfloating() in uicb_togglefloating()
2008-01-24 20:09:11 +01:00
Julien Danjou
00f7cd006a
save client props on floating
2008-01-24 18:31:14 +01:00
Julien Danjou
44aab9ff4b
call get_screen_bycoord() anyway
2008-01-22 17:30:06 +01:00
Julien Danjou
67933fb670
initial x,y coords are set with respect to statusbars (FS#45)
2008-01-22 09:50:24 +01:00
Julien Danjou
668702b777
move list.h and util.[ch] to common/
2008-01-21 18:14:59 +01:00
Julien Danjou
97f08901d6
call restack() only when focus()ing
2008-01-21 16:31:15 +01:00
Julien Danjou
83a0a4daf8
add a common infra to drop events
2008-01-21 16:31:15 +01:00
Julien Danjou
6fce5830ff
arg is useless now
2008-01-21 16:31:15 +01:00
Julien Danjou
bfc7f3ce5d
clean out some need_arrange uneeded
2008-01-21 16:31:15 +01:00
Julien Danjou
6e4d13c9dc
add a new cache system for arrange()ing
2008-01-21 16:31:15 +01:00
Julien Danjou
2f8978c15b
add client_find_next_visible()
2008-01-21 16:31:15 +01:00
Julien Danjou
4809b8bc6e
make swapnext cycling
2008-01-21 16:31:15 +01:00
Julien Danjou
650788479d
doc
2008-01-21 16:31:15 +01:00
Julien Danjou
ed3f624fc0
move clients' uicb away from layout.c
2008-01-21 16:31:15 +01:00
Julien Danjou
7f4dc5a871
use client_setfloating() to change floating attribute
2008-01-21 16:31:15 +01:00
Julien Danjou
5570612dec
resize on floating set
2008-01-21 16:31:14 +01:00
Julien Danjou
f9cebe0dd8
respect rules
2008-01-21 16:31:14 +01:00
Julien Danjou
94197429e5
tag_client_with_rule() only tag is a rule match
2008-01-21 16:31:14 +01:00
Julien Danjou
47ee745425
rewrite client_manage()
2008-01-21 16:31:14 +01:00
Julien Danjou
654fba9b5e
insert and use rule_matching_client()
2008-01-21 16:31:14 +01:00
Julien Danjou
bdd474348b
use cycle functions
2008-01-21 16:31:14 +01:00
Julien Danjou
572f409a29
use lists functions for Client
2008-01-21 16:31:13 +01:00
Nikos Ntarmos
7c122e00ac
Fix for windows showing up in tile-mode and not before already floated (FS#22)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-16 19:01:30 +01:00
Nikos Ntarmos
a9170edf10
don't draw the border of skip'ed windows
...
ewmh_process_window_type_atom(...) clears the border for windows that
are to be skipped. However, client_updatewmhints(...) doesn't.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-15 08:24:26 +01:00
Fabienne Ducroquet
aedfe8b665
Fix client_togglehorizontalmax and client_toggleverticalmax
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-12 17:02:12 +01:00
Julien Danjou
903555e502
better fix for max windows
2008-01-11 17:56:50 +01:00
Julien Danjou
93e137eaab
invalidate cache
2008-01-11 16:44:24 +01:00
Julien Danjou
7c93dd381e
fix maximization on floating layouts
2008-01-11 16:41:03 +01:00
Julien Danjou
d427ffe4d2
invalidate only if we focus a new client
2008-01-11 16:01:10 +01:00
Julien Danjou
901f1da5ca
fix documentation
2008-01-11 13:37:33 +01:00
Julien Danjou
876377880d
cosmetic
2008-01-11 12:01:51 +01:00
Julien Danjou
ce0b433aba
check if client is not NULL
...
Debian bug #459992
2008-01-10 07:05:54 +01:00
Nikos Ntarmos
08e13d598e
Fix for 'windows showing up in tile-mode and not before already floated'
...
FS#22
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-09 09:43:39 +01:00
Julien Danjou
e3f5dc81e9
fix swapping when already master
2008-01-07 19:07:22 +01:00
Julien Danjou
cef0253652
no need to refocus
2008-01-07 19:06:23 +01:00
Julien Danjou
4a610dfeb3
no need to restore focus
2008-01-07 19:03:17 +01:00
Julien Danjou
6483b36389
only invalidate cache if client is urgent
2008-01-07 19:00:17 +01:00
Arnaud Fontaine
7a2b851a03
fix XGetTransientForHint() call
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-07 18:57:25 +01:00
Julien Danjou
c2ca948b39
add new_get_focus option
2008-01-07 18:54:45 +01:00
Julien Danjou
5c9291ff0b
use a cache system for status bar
2008-01-07 18:12:38 +01:00
Julien Danjou
1381989651
restack on max
2008-01-06 23:37:53 +01:00
Julien Danjou
bdfb84f3b5
remove useless AWESOMEPROPS_ATOM() define
2008-01-06 22:55:46 +01:00
Julien Danjou
a5c86280b3
remove Display arg of xgettextprop()
2008-01-06 22:53:40 +01:00
Julien Danjou
b4ff03c27e
fix rearrange
2008-01-06 22:28:15 +01:00
Julien Danjou
7ad579898f
simplify unmanage code
2008-01-06 21:57:53 +01:00
Julien Danjou
a30579b32e
respect config for resizing
2008-01-06 20:43:13 +01:00
Julien Danjou
af708d2fbc
Rewrite everything about client geoemtry, resize, etc.
2008-01-06 20:36:39 +01:00
Julien Danjou
7983a3196d
simplify window_configure() args
2008-01-05 20:25:55 +01:00
Julien Danjou
70a3114dba
use Area as arg for client_resize
2008-01-05 20:19:59 +01:00
Julien Danjou
163acc8624
use Area to store window geoms
2008-01-05 19:38:50 +01:00
Julien Danjou
5a66ffb2e7
remove flags attribute
2008-01-05 18:57:33 +01:00
Julien Danjou
a8a9b7d925
simplify client_resize
2008-01-05 18:54:17 +01:00
Julien Danjou
3742f31216
remove setborder uicb
2008-01-04 17:56:18 +01:00
Julien Danjou
1d08ed45a8
add new_become_master option to disable new client becoming automaticaly master
2008-01-04 17:53:28 +01:00
Julien Danjou
bcebd5e1ce
fix various uninit vars
2008-01-04 14:19:59 +01:00
Julien Danjou
10c257d57a
get rid of Client phys_screen
2008-01-02 19:26:55 +01:00
Julien Danjou
437bc5c22c
add 2008 copyright notice
2008-01-02 16:59:43 +01:00
Julien Danjou
0cf4ff6d9f
implement not_master rules option (FS#6)
2008-01-02 12:00:36 +01:00
Julien Danjou
9e93857864
use sel->border instead of globalconf borders
2008-01-02 11:37:16 +01:00
Julien Danjou
6701d0d2be
add a borders option to client_maximize() to (not) handle border removal
2008-01-02 11:36:06 +01:00
Julien Danjou
9865d44a88
Revert "remove borders modification on maximize()"
...
This reverts commit d8ef2748a6
.
2008-01-02 11:32:12 +01:00
Nikos Ntarmos
d8ef2748a6
remove borders modification on maximize()
2008-01-02 09:55:03 +01:00
Julien Danjou
4f65aa8f51
rework headers inclusion
2008-01-01 18:02:36 +01:00
Julien Danjou
f467fed598
use LayoutArrange and Uicb type into config.h ; move some functions from layout.c to client.c
2008-01-01 17:37:16 +01:00
Julien Danjou
909f92d500
replace UICB_PROTO macro by a typedef
2008-01-01 17:25:48 +01:00
Julien Danjou
f7f6951957
allow to have several statusbar
2007-12-30 21:00:34 +01:00
Nikos Ntarmos
0fb6cf2817
check for EWMH.initial_state
2007-12-30 18:31:22 +01:00
Julien Danjou
6f4dec78ff
remove Display as arg from window_*() fcts
2007-12-30 15:24:51 +01:00
Julien Danjou
3216eb4d41
documente some functions and simplify client_saveprops() proto
2007-12-30 15:08:38 +01:00
Julien Danjou
8c36b49f7f
add support for _NET_WM_WINDOW_TYPE_DOCK
2007-12-28 21:26:02 +01:00
Julien Danjou
4e45103537
skip skippable windows when looking for a client
2007-12-28 14:12:54 +01:00
Julien Danjou
91c0f00b2b
update EWMH info before applying rules
2007-12-28 14:03:22 +01:00
Julien Danjou
e0c1472249
windows that start in Withdrawstate are skipped in focus list
2007-12-28 13:43:47 +01:00
Julien Danjou
19cd145861
use focus history when focus(NULL)
2007-12-28 10:12:34 +01:00
Julien Danjou
f93a441da7
remove Display from Client struct
2007-12-27 23:10:43 +01:00
Julien Danjou
48d9ea047f
simplify is_client_tagged() proto
2007-12-27 23:05:34 +01:00
Julien Danjou
e95dc4b4cd
simplify tag_client() and untag_client() proto
2007-12-27 22:43:59 +01:00
Julien Danjou
2287c0ff7c
add support for NET_WM_STATE and NET_WM_STATE_STICKY
2007-12-27 22:39:29 +01:00
Julien Danjou
87fce96644
add support for NET_CLOSE_WINDOW
2007-12-27 20:49:38 +01:00
Julien Danjou
50e7595a0c
add support for _NET_ACTIVE_WINDOW
2007-12-27 19:33:01 +01:00
Julien Danjou
423659d401
move ewmh_update_net_client_list() into ewmh.c
2007-12-27 18:01:36 +01:00
Julien Danjou
c66c6dff84
add support for _NET_CLIENT_LIST
2007-12-27 16:19:05 +01:00
Julien Danjou
f5f31d36d7
switch to get_current_tags() in client.c
2007-12-27 13:22:40 +01:00
Julien Danjou
58a3c0c494
add new UICB: uicb_focus_client_byname
2007-12-23 16:16:02 +01:00
Julien Danjou
d5d9439777
add support for Urgency hint
2007-12-23 15:16:10 +01:00
Aldo Cortesi
5f079ef73e
Clean get_screen_info and get_display_info.
...
Besides making these functions much nicer to use, this fixes a number of
things:
- Clients now don't have to free the returned structures.
- The ScreenInfo allocated by XineramaQueryScreens should be freed with XFree,
not p_delete.
This patch also introduces an abstract Area type that will be very useful.
2007-12-23 09:53:50 +01:00
Aldo Cortesi
7190e4fa48
Change awesome_config -> AwesomeConf.
...
All other struct definitions in the project follow this naming convention.
2007-12-19 10:43:02 +01:00
Aldo Cortesi
980afac1cf
Make sure all uicb_ functions have doxygen annotations.
...
Also refactor some indentation while I'm there.
2007-12-19 10:42:34 +01:00
Aldo Cortesi
cbf5c474c1
Documentation generation fixes.
...
- Fix many instances of incorrect and incomplete doxygen annotations.
- Teach doxygen not to complain when it comes accross gcc __attribute__
specifications.
- Turn off graph generation by default.
- Make doxygen quiet, so we can actually see warnings when they occur.
2007-12-19 10:42:24 +01:00
Aldo Cortesi
ce556ec743
The preferred line length is 80 characters.
2007-12-18 11:27:26 +01:00
Aldo Cortesi
965cbb7e0b
Continue to simplify interfaces that require arguments in globalconf.
...
Today I focus on screen.c.
2007-12-18 11:26:39 +01:00
Aldo Cortesi
205f2c55ca
Make "Statusbar statusbar" the in VirtScreen "Statusbar *statusbar". This is
...
more consistent with the rest of the interface, and will make our life easier
when we have mulitiple statusbars per screen.
2007-12-18 11:26:18 +01:00
Aldo Cortesi
d5fd96dbd2
Refactor the focus.c interface to use globalconf.
2007-12-17 18:21:42 +01:00
Aldo Cortesi
b6bfd1a4d0
The arg to uicb_ functions is no longer const.
2007-12-17 18:19:44 +01:00
Aldo Cortesi
6e8b1383fe
Various doc comment fixes.
2007-12-16 12:13:07 +01:00
Aldo Cortesi
2f74c079aa
Massive, massive interface refactoring.
...
The big change here is that we now keep our configuration structure in a global
variable called globalconf. This radically simplifies many interfaces, since
passing awesomeconf everywhere is no longer necessary. There are also more
subtle interface effects - now we can reliably identify a screen from just a
screen ID, rather than an awesomeconf, screenid tuple.
Overall, this patch makes most of the interfaces in awesome much nicer to use -
enjoy!
Yes, this is a huge patch, but since a lot of the refactoring was done
systematically using vim macros, splitting this up would have been very hard.
2007-12-16 12:12:48 +01:00
Julien Danjou
df2a8e1b1d
add a focus history
2007-12-14 21:51:54 +01:00
Julien Danjou
aacb020564
rename statusbar functions
2007-12-14 20:10:52 +01:00
Julien Danjou
e53b941679
rename loadprops to client_loadprops
2007-12-14 19:06:03 +01:00
Julien Danjou
bb1381abc2
make tags a linked list instead of array
2007-12-14 19:05:30 +01:00
Julien Danjou
781ebc8882
move tag_client_with_rules() from client.c to tag.c
2007-12-14 16:40:08 +01:00
Julien Danjou
3a4fbce6f9
rename isvisible() to client_isvisible() and move it in client.c
2007-12-14 16:38:12 +01:00
Julien Danjou
687b648c1b
fix some includes and add copyright
2007-12-14 16:15:40 +01:00
Julien Danjou
213c839597
prefix some client functions with client
2007-12-14 16:05:10 +01:00
Julien Danjou
37a7116c92
we should reset client_sel on untag
2007-12-14 16:01:01 +01:00
Julien Danjou
d197014d71
untag client on unmanage
2007-12-14 15:58:09 +01:00
Julien Danjou
14809f80e4
remove useless client_reattach_after()
2007-12-14 14:51:58 +01:00
Julien Danjou
078d224b46
use a linked list for handling tag <-> client relationship
2007-12-14 14:29:32 +01:00
Aldo Cortesi
2b5ba1f16f
Improve the call signature of get_current_tag and get_current_layout.
2007-12-14 09:29:42 +01:00
Aldo Cortesi
dcff13a5e7
Comment typos.
2007-12-14 08:47:21 +01:00
Julien Danjou
5f811b1cf2
use VirtScreen arg for tag_client_with_current_selected()
2007-12-13 10:46:32 +01:00
Julien Danjou
5fa67c23df
split awesomeconf and screen config
...
a.k.a the big post-2.0 blind commit
2007-12-11 20:56:51 +01:00
Nathan Hüsken
9524f15478
Adding padding
2007-11-28 11:00:48 +01:00
Nikos Ntarmos
355dc7d556
fix rules handling in configurequest events
2007-11-27 16:48:06 +01:00
Nikos Ntarmos
ac188235ed
Split x-related util functions to a separate xutil.{c,h} file pair.
...
Hi there.
awesome-client is now linked against the whole hog of x-related libs
that awesome depends on. These get pulled in by awesome-client using the
same LDFLAGS as awesome. Removing x-related libs from the LDFLAGS for
awesome-client is only half of the story, as it also depends on util.c
which now has a couple of x-related functions. The attached patch also
splits these functions into a separate xutil.{c,h} file pair and teaches
the rest of the files to use them. Apart from the small difference in
file size (I see a 3-3.5% decrease in file size, both for a stripped and
a non-stripped awesome-client binary), this should also somewhat reduce
the startup time (since awesome-client won't have to map all of these
libraries).
Cheers...
\n\n
2007-11-19 20:45:21 +01:00
Julien Danjou
dd2c511181
move_client_to_screen() implies tag_client_with_current_selected()
2007-11-15 14:49:08 +01:00
Julien Danjou
aa4de56ef5
simplify client_manage()
2007-11-15 14:44:43 +01:00
Julien Danjou
455ef2e1d7
rename uicb_swap{prev,next} to uicb_client_swap{prev,next}
2007-11-14 18:07:35 +01:00
Julien Danjou
8b933e196b
rename uicb_settrans to uicb_client_settrans
2007-11-14 17:52:49 +01:00
Julien Danjou
b594731fc2
rename uicb_moveresize to uicb_client_moveresize
2007-11-14 17:51:22 +01:00
Julien Danjou
c5ee95992c
rename uicb_killclient to uicb_client_kill
2007-11-14 17:50:16 +01:00
Julien Danjou
7a919a76fb
mouse button clicks on windows are now configurable
2007-11-14 17:18:16 +01:00
Julien Danjou
88b6f17410
bugfix: initialize matched to False, damn it
2007-11-14 12:12:30 +01:00
Julien Danjou
5c5e9418d7
don't forget to retag windows on screen changes
2007-11-14 11:11:04 +01:00
Julien Danjou
adf437c0e3
use tag_client_with_current_selected() instead of our own loop and set -O2 or mplayer fails
2007-11-14 10:42:28 +01:00
Julien Danjou
0779473a30
fix problem with mplayer
2007-11-14 10:34:02 +01:00
Julien Danjou
98c869c8f3
remove garbage printf()
2007-11-13 23:00:11 +01:00
Julien Danjou
0acaae11d9
stop using applyrules() and do some stuff ourselves
2007-11-13 22:41:56 +01:00
Julien Danjou
06dc3ba221
add new rules.c file with new functions for using Rule-s struct
2007-11-13 21:41:57 +01:00
Julien Danjou
adcadddc46
define RULE_NOSCREEN -1
2007-11-12 19:35:31 +01:00
Julien Danjou
f70424487e
screen can now be specified in rules
2007-11-12 18:21:03 +01:00
Julien Danjou
ef7034b0b8
use linked list instead of tabs for mouse bindings
2007-11-12 13:21:28 +01:00
Julien Danjou
05e102a49a
mouse clicks on root window are now configurable
2007-11-12 10:55:21 +01:00
Nikos Ntarmos
0f840d2eec
Sanitize screen changes - take 2
...
I was looking back at this issue and realized that it is possible for
one of the x,y coordinates to be negative and yet a screen change must
be performed. This may happen when a window is moving with its
upper-left corner outside the upper part of the screen, and it crosses
the x-axis boundary between two consecutive screens.
2007-11-10 17:59:33 +01:00
Julien Danjou
1004cefa2f
Remove current tab support
...
We will add a real new one later.
2007-11-10 10:45:32 +01:00
Julien Danjou
6ef4b8e741
really update coords on resize
2007-11-10 10:12:50 +01:00
Nikos Ntarmos
e2452fa62a
Sanitize screen changes
...
Whith Xinerama active a client that moves outside the upper-left screen
boundary is erroneously changing screens. The attached patch changes
this behavior so that a client may change screen only when its new
coordinates are positive. The assumption is that the client can't fall
off the lower-right boundary since the mouse pointer can't go there when
moving. However, the upper-left corner of a window (which is the point
we use to compute the client's scren) can move more to the left or up
than the upper-left corner of the screen (coords 0,0) thus becoming
negative.
2007-11-09 19:25:31 +01:00
Nikos Ntarmos
360f96b5fd
stop centering mouse on move, just keep current coords
2007-11-09 19:22:42 +01:00
Nikos Ntarmos
96350151b9
Fix issue with multiple clients having focused border on same tag
...
It so happens that when two clients are fired up one after the other on
the same tag, they both get a 'focused'-type border. A bisect sequence
showed that the culprit was commit 001f430
. I think that it all boils
down to client_manage just setting tag->client_sel and hoping for
arrange(...) to do the Right Thing (TM). The attached patch uses
focus(...) instead.
2007-11-08 11:31:37 +01:00
Nikos Ntarmos
983d2d72a6
implement uicb_reloadconfig
2007-10-31 11:37:38 +01:00
Julien Danjou
14e8c82a8a
fix max() size restore, introduce volatile option to resize()
2007-10-29 15:24:10 +01:00
Julien Danjou
bd20a965f3
update client coords on manage() to set them on the right screen in Xinerama
2007-10-27 22:54:34 +02:00