Julien Danjou
0ab012a401
screen: invalidate widget cache on move
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
bf451445c3
client: stop default tagging of sticky windows
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
b4d89eec6c
screen: move screen_getbycoord()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
fcde8d229b
ewmh: add support for _NET_WM_STRUT_PARTIAL
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
427679b0fa
client: use a type attribute for NET WM window type
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
abb497fa56
client: rework all stacking stuff
...
- Stacking is now per attribute
- Fullscreen does not imply isfloating
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
5449374e3d
client: check for visibility before arranging
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Julien Danjou
87a89b6aa1
use xcb_flush; move refresh stuff in common function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-26 19:35:37 +02:00
Julien Danjou
65e1a4a900
screen: fix padding doc
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-25 17:59:57 +02:00
Julien Danjou
7b39a1d3a6
screen: remove useless documentation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-25 17:56:24 +02:00
Julien Danjou
a567917cc5
screen: reset statusbar and windows properly on padding changes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-14 18:25:45 +02:00
Julien Danjou
0af81ca7eb
screen: export padding as a function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-14 18:25:45 +02:00
Julien Danjou
7e15509733
screen: implement tags set/get as function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 18:12:26 +02:00
Julien Danjou
40c455046b
screen: make tags array overwritable
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 10:33:15 +02:00
Julien Danjou
c2f8275bf8
client: deprecate client_get() and client_set()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-12 12:17:19 +02:00
Julien Danjou
bcfc3656ab
screen: export tags array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 18:23:47 +02:00
Julien Danjou
be2bfdcfc5
screen: introduce screen objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 17:14:02 +02:00
Julien Danjou
81ae462a70
focus: remove focus history
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 17:30:01 +02:00
Julien Danjou
91b2926d8d
screen: merge tag_client_with_current_selected() code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 23:00:20 +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
46f03fd6a6
area_t: make it smaller, use arrays instead of lists.
...
Make area_t smaller so that it fits in an uint64_t using 4 {u,}int16_t's
for it. Note that xcb uses the very same structure, so we aren't loosing
any information while remaining very small.
This is better to use arrays in term of:
* memory access when iterating over area_t's;
* allocation because area_t's have no *next/*prev members anymore, which
makes it a tiny structure (8 octets);
* allocation because we allocate area_t's by vector of'em rather than one
by one.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:48 +02:00
Arnaud Fontaine
b9e1ec69d0
Replace xcb_aux_get_screen() by a safer function
2008-06-17 17:14:00 +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
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
Julien Danjou
24176ba8c7
[screen] s/screen_get_area/screen_area_get/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 15:35:48 +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
fa08ec5316
[screen] Rename Padding to padding_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 15:30:47 +02:00
Julien Danjou
0c8910d1df
[screen] Fix documentation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 16:15:07 +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
0bbd2d4b3e
Rename AwesomeConf to awesome_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:59:27 +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
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
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
Julien Danjou
a73b07f5d3
[statusbar] Rename Statusbar type to statusbar_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Arnaud Fontaine
71e9100927
Remove useless xutil_root_window()
2008-05-03 12:01:00 +02:00
Julien Danjou
cd42cda9d4
[screen] Use default screen on Xinerama for 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
dafafd077c
Port Awesome to XCB
2008-05-03 12:00:59 +02:00
Julien Danjou
40eaa6b997
[doc] Add a bunch of documentation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 09:45:48 +02: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
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
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
3c3015fd76
Remove resize_hints args to client_resize(), force usage of client_geometry_hints()
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
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
0cd969bfb9
Split screen_build_screen() into more generic code and type: screeninfos_new()
2008-03-23 15:52:17 +01:00
Julien Danjou
f3652aaca6
Add a pointer to SLIST struct to store previous element
...
This will make back cycling faster
2008-03-23 15:52:17 +01:00
Julien Danjou
960d870b0b
fix screen_get_bycoord()
2008-02-25 13:40:30 +01:00
Julien Danjou
328e5d0d4e
rename screen to phys_screen to avoid confusion
2008-02-25 13:33:29 +01:00
Julien Danjou
72d68b13a3
change focus raising
2008-02-09 23:12:40 +01:00
Julien Danjou
606d157e31
rename some screens function
2008-01-30 09:36:52 +01:00
Julien Danjou
ab8d95f13d
rework include
2008-01-29 11:27:14 +01:00
Julien Danjou
ea57fd8fc9
add support for smart windows placement in floating layout
2008-01-28 18:30:23 +01:00
Julien Danjou
95d5fe299e
rename focus() to client_focus()
2008-01-27 19:07:39 +01:00
Julien Danjou
c22430a115
fix handling of window raisings
2008-01-25 23:43:16 +01:00
Julien Danjou
3855ced402
remove selscreen arg
2008-01-24 23:48:35 +01:00
Julien Danjou
240ee786d1
rename nscreens to nscreen
2008-01-24 13:48:49 +01:00
Julien Danjou
5922d3a257
realloc smaller if xinerama_screen_number != screen registered
2008-01-24 13:45:20 +01:00
Julien Danjou
1cc5a2a1f8
remove printf()s
2008-01-23 08:33:29 +01:00
Julien Danjou
d17c5c531e
detect clone screens (FS#42)
2008-01-22 20:41:10 +01:00
Julien Danjou
668702b777
move list.h and util.[ch] to common/
2008-01-21 18:14:59 +01:00
Julien Danjou
83a0a4daf8
add a common infra to drop events
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
9bc67800d2
drop EnterWindow event to keep focus
2008-01-11 18:06:49 +01:00
Nikos Ntarmos
860f811bb6
XFree data returned by XineramaQueryScreens in get_screen_count(...)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-11 13:58:27 +01:00
Nikos Ntarmos
956ce4ab8e
add nscreen var to store screen count
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-11 13:39:48 +01:00
Julien Danjou
c21a84bed5
remove printf
2008-01-11 13:28:46 +01:00
Julien Danjou
c709baaae3
fix screen changes with maximized windows
2008-01-11 13:27:58 +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
dd5945cfea
fix move to screen with floating/non-floating win
2008-01-06 21:43:19 +01:00
Julien Danjou
af708d2fbc
Rewrite everything about client geoemtry, resize, etc.
2008-01-06 20:36:39 +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
af6ff367eb
typedef enum Position
2008-01-04 19:12:07 +01:00
Julien Danjou
4f65aa8f51
rework headers inclusion
2008-01-01 18:02:36 +01:00
Julien Danjou
909f92d500
replace UICB_PROTO macro by a typedef
2008-01-01 17:25:48 +01:00
Nikos Ntarmos
9adfc6eb35
Typo in screen.c:get_display_area causing display area to be miscalculated
2007-12-31 18:37:28 +01:00
Julien Danjou
f7f6951957
allow to have several statusbar
2007-12-30 21:00:34 +01:00
Julien Danjou
84c59a5704
code documentation update
2007-12-30 15:11:37 +01:00
Julien Danjou
e95dc4b4cd
simplify tag_client() and untag_client() proto
2007-12-27 22:43:59 +01:00
Julien Danjou
5f92667773
simplify sel handling
2007-12-27 19:57:46 +01:00
Julien Danjou
8f9be2289a
focus_get_latest_client_for_tags() now supports Tag **, use it for widgets
2007-12-27 19:23:10 +01:00
Julien Danjou
211034c725
bug fix with move_client_to_screen and proto simplification of tag_with_current_selected()
2007-12-27 16:29:58 +01:00
Julien Danjou
a95694c177
simplify proto
2007-12-27 14:02:27 +01:00
Julien Danjou
238eb7f346
switch to get_current_tags() in screen.c
2007-12-27 12:52:04 +01:00
Julien Danjou
07a5fd6774
cosmetic
2007-12-23 09:56:41 +01:00
Julien Danjou
a981d984a2
remove ScreenInfo typedef and move Area into screen.h
2007-12-23 09:55:46 +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
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
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
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
8500188d6a
uicb_screen_focus honors focus history
2007-12-15 10:19:33 +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
bb1381abc2
make tags a linked list instead of array
2007-12-14 19:05:30 +01:00
Julien Danjou
6658994a22
cosmetic
2007-12-14 16:09:05 +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
Julien Danjou
097e8e4172
Add uicb_screen_focus to switch to a specified screen.
2007-12-13 13:59:46 +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
Julien Danjou
226d718634
make uicb_screen_focus{prev,next} honor tag->client_sel
2007-11-21 17:18:42 +01:00
Julien Danjou
3f203e3327
remove old screen client_sel if needed
2007-11-15 15:44:16 +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
2da4d0d907
cosmetic
2007-11-15 13:25:59 +01:00
Julien Danjou
7c533b8b40
rename screen uicb correctly
2007-11-14 18:16:43 +01:00
Julien Danjou
89c2fc9f44
move_client_to_screen() does not manage tags, let's use tag_client_with_current_selected() instead
2007-11-14 10:01:20 +01:00
Julien Danjou
05dad60786
experimental support for status bar to be on right or left
2007-11-11 18:59:11 +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
ae4932ce46
focus screen-moved window
2007-11-10 10:03:53 +01:00
Julien Danjou
14e8c82a8a
fix max() size restore, introduce volatile option to resize()
2007-10-29 15:24:10 +01:00
Julien Danjou
335b2c53ab
fix offscreen apperance in Xinerama
2007-10-29 12:44:22 +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
Julien Danjou
001f430c0c
remove global client_sel, use tag's client_sel
2007-10-26 23:19:13 +02:00
Julien Danjou
d24413a75d
rename resize() to client_resize()
2007-10-26 19:51:20 +02:00
Julien Danjou
44f63f0ff8
bugfix: move_to_screen really move to the right place
...
don't assume that -= + is the same as = - +
2007-10-25 16:56:01 +02:00
Julien Danjou
530a6ef104
bugfix: save rx/ry/rw/rh when resizing a floating window
2007-10-25 13:57:02 +02:00
Julien Danjou
3afccadae2
enhance movetoscreen function by computing new x/y/w/h with new screen infos
2007-10-19 15:07:46 +02:00
Julien Danjou
fefa16611a
restack does not need Display as arg
2007-10-15 18:28:07 +02:00
Julien Danjou
0026bd3813
focus does not need Display as arg
2007-10-15 18:25:29 +02:00
Julien Danjou
ccb7e89750
arrange() does not need Display as arg
2007-10-15 18:23:05 +02:00
Julien Danjou
a74ca1d1de
tabswidth is 4 not 6
2007-10-15 13:56:24 +02:00
Julien Danjou
4e0acfa99a
add coding style stuff
2007-10-15 13:40:52 +02:00
Julien Danjou
863714f501
use p_delete instead of XFree for our own pointers
2007-10-11 23:44:35 +02:00
Julien Danjou
c4e130d7d9
remove Display as param for uicb
2007-10-11 23:32:29 +02:00
Julien Danjou
c3986a5937
sel is no more extern
2007-10-11 23:12:05 +02:00
Julien Danjou
12ef66b79a
clients list is no more global
2007-10-11 21:50:32 +02:00
Julien Danjou
e733af41ec
remove drawcontext everywhere
2007-10-10 14:09:36 +02:00
Julien Danjou
d4f1b99c93
fix typo
2007-10-05 17:02:59 +02:00
Julien Danjou
ba58d5e94b
movetoscreen works with +/- and cycle
2007-10-05 16:58:28 +02:00
Julien Danjou
97a2085705
cosmetic: remove lines with empty spaces at end
2007-10-03 17:26:14 +02:00
Julien Danjou
d193c2471b
add documentation to move_mouse_pointer_to_screen()
2007-10-03 00:32:00 +02:00
Julien Danjou
47aff1a860
add documentation for uicb_movetoscreen()
2007-10-03 00:22:29 +02:00
Julien Danjou
e9332cfef8
update documentation for screen.c
2007-10-03 00:20:34 +02:00
Julien Danjou
950605b1a0
simplify get_screen_info()
2007-10-01 20:58:29 +02:00
Julien Danjou
8d63ecd3aa
fix a bug in a height computing
2007-10-01 15:44:14 +02:00
Julien Danjou
8c531e2a81
store phys_screen
2007-10-01 15:23:05 +02:00
Julien Danjou
6e4942711f
arrange on old_screen, not on event screen
2007-10-01 12:46:59 +02:00
Julien Danjou
7beabd32d3
enhance windows screen moving when windows are floating
2007-09-28 16:40:20 +02:00
Julien Danjou
9692e398d5
return DefaultScreen instead of 0
2007-09-28 11:41:03 +02:00