Julien Danjou
ed3f624fc0
move clients' uicb away from layout.c
2008-01-21 16:31:15 +01:00
Julien Danjou
8416705a20
autogenerate layout list
2008-01-21 16:31:14 +01:00
Fabienne Ducroquet
1dbe305177
mirror layout
...
I missed this feature for some time too, then I've just added two
layouts with master and stack area separated horizontaly: tiledown and
tileup (with the stack area down and up respectively) by adding a third
argument telling whether one wants to separate horizontally or verticaly
to the _tile function in layouts/tile.c. Patch against latest git
version, you will need to have icons
icons/layouts/{tiledown.png,tiledownw.png,tileup.png,tileupw.png} to
compile it without modifications.
Fabienne
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-21 16:31:14 +01:00
Julien Danjou
3c960865aa
use list functions for Layout
2008-01-21 16:31:14 +01:00
Julien Danjou
6bd8c670e5
rename LayoutsList to LayoutList
2008-01-21 16:31:13 +01:00
Julien Danjou
572f409a29
use lists functions for Client
2008-01-21 16:31:13 +01:00
Julien Danjou
e6c0449009
rename NameFuncLink to name_func_list_t
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
Julien Danjou
542df6a3ab
do not try to guess where we should XSync(), XSync after bunch of XEvents
2008-01-11 16:17:15 +01:00
Julien Danjou
d7b2bff489
use phys_screen not screen
2008-01-11 16:01:10 +01:00
Julien Danjou
34309baa60
change Layout linked list to by cycling
2008-01-11 10:32:44 +01:00
Julien Danjou
53f3a4aca7
invalidate LAYOUTS unconditionnaly
2008-01-11 10:22:42 +01:00
Julien Danjou
2aacaa9320
stop dropping EnterWindow event
...
and make statusbar_update_position static
2008-01-10 20:53:31 +01:00
Nikos Ntarmos
283a21db81
Call XQueryPointer on arrange(...) to see if the pointer is over a client window
...
and reset the mouse key bindings if it's over the root
2008-01-07 21:00:04 +01:00
Julien Danjou
5c9291ff0b
use a cache system for status bar
2008-01-07 18:12:38 +01:00
Julien Danjou
a1205efc20
move toggle floating function to layout.c and fix problem when moving with mouse tiled windows
2008-01-07 13:38:26 +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
633d7c07ee
add get_current_layout() to get current layout :-)
2008-01-06 11:35:51 +01:00
Julien Danjou
163acc8624
use Area to store window geoms
2008-01-05 19:38:50 +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
Julien Danjou
f37c71c162
add support for _NET_WM_STATE_FULLSCREEN
...
This commit also drop the handle_event_configurerequest() because it seems
totally unuseful now. This can cause problem, and if so, report it.
2007-12-28 18:31:31 +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
3851e755df
maximize resize in a volatile way
2007-12-27 23:50:37 +01:00
Julien Danjou
f93a441da7
remove Display from Client struct
2007-12-27 23:10:43 +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
3de4814910
add support for _NET_CURRENT_DESKTOP
2007-12-27 18:42:20 +01:00
Julien Danjou
dcee599f8c
remove deprecated functions
2007-12-27 13:23:50 +01:00
Julien Danjou
652fdc6cce
switch to get_current_tags() in layout.c
2007-12-27 12:56:04 +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
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
Julien Danjou
48ac631f41
add warning about get_current_tag()
2007-12-16 18:15:07 +01:00
Julien Danjou
f0f522bd47
move things around
...
- rename parse_config to config_parse
- move KeyModList and ButtonList in their own functions
- move LayoutsList in layout.c
- move static fcts around in config.c
2007-12-16 13:24:12 +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
bb1381abc2
make tags a linked list instead of array
2007-12-14 19:05:30 +01:00
Julien Danjou
b03cdbd877
remove nlayouts
2007-12-14 17:57:05 +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
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
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
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
Toshihide Shimayama
1ff5740104
uicb_client_zoom() on nmaster swap with next window
2007-11-17 08:37:42 +01:00
Julien Danjou
c412b05b3c
small fix for maximize() in floating layout
2007-11-16 19:14:08 +01:00
Julien Danjou
938850a487
rename setlayout to tag_setlayout
2007-11-14 18:19:00 +01:00
Julien Danjou
aee9cdf8cb
prefix a bunch of uicb with client_
2007-11-14 18:10:51 +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
14e8c82a8a
fix max() size restore, introduce volatile option to resize()
2007-10-29 15:24:10 +01:00
Julien Danjou
001f430c0c
remove global client_sel, use tag's client_sel
2007-10-26 23:19:13 +02:00
Julien Danjou
9d507dc50c
rewrite get_current_tag_number() in get_current_tag()
2007-10-26 22:15:26 +02:00
Julien Danjou
8b7561cb89
add doc for get_current_tag_number()
2007-10-26 22:00:00 +02:00
Julien Danjou
c817b07d9a
rename ban() and unban() to client_*()
2007-10-26 19:51:20 +02:00
Julien Danjou
d24413a75d
rename resize() to client_resize()
2007-10-26 19:51:20 +02:00
Nikos Ntarmos
4db1146f6c
Remember the focused window on tag changes
...
a. Adds a get_current_tag_number function to allow for above updates
and teaches get_current_layout(...) and arrange(...) to use it.
b. Adds an extra client_sel entry in struct Tag, updated on
focus(...), manage(...), and unmanage(...), and used in arrange(...).
2007-10-25 20:20:13 +02:00
Julien Danjou
dfcfa92994
remove useless printf()
2007-10-22 11:25:37 +02:00
Julien Danjou
f217cc3e09
simply maximize(), insert Client *sel;
2007-10-22 11:24:26 +02:00
Julien Danjou
7a921fbc5e
remove ftview attribute
2007-10-19 15:41:20 +02:00
Julien Danjou
e258b90765
reattach tabbed windows just after the master one when zoom()ing
2007-10-17 15:21:11 +02:00
Julien Danjou
8a1633ccbe
rename and document client_attach/detach
2007-10-17 12:10:17 +02:00
Julien Danjou
842eed01c0
remove current_layout, insert get_current_layout() to get it dynamicly
2007-10-16 22:33:15 +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
17bc4dc9a7
drawstatusbar does not need display as arg
2007-10-15 18:19:33 +02:00
Julien Danjou
3592e8e448
save and loadawesomeprops do not need display as arg
2007-10-15 18:14:43 +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
Nikos Ntarmos
23bbe21428
float lowering
2007-10-12 17:15:08 +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
17cf2c230d
remove display as arg of layouts
2007-10-11 23:35:45 +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
c05ed01c1a
bugfix: only catch first click to raise if we're floating
2007-10-11 11:33:40 +02:00
daniel@brinkers.de
9d95d4691c
tags default layout
...
this patch should consider the tags default layout, given in the config
file. It also set the layout to default, when awesome is restarted.
2007-10-10 18:57:26 +02:00
Julien Danjou
e733af41ec
remove drawcontext everywhere
2007-10-10 14:09:36 +02:00
Julien Danjou
3046af6f54
new feature: add option to center pointer on focused client
2007-10-08 14:26:43 +02:00
Julien Danjou
0792d6c5ac
bugfix: allow cycling back in uicb_setlayout()
2007-10-05 13:52:38 +02:00
Julien Danjou
99ef84e621
bugfix: don't do stuff RootWindow() with non existent screen (Xinerama)
2007-10-03 20:58:00 +02:00
Julien Danjou
97a2085705
cosmetic: remove lines with empty spaces at end
2007-10-03 17:26:14 +02:00
Julien Danjou
bf2561a5e8
add documentation for arrange()
2007-10-03 00:33:16 +02:00
Julien Danjou
d76902653a
change behaviour of uicb_setlayout: no arg now reset to first/default layout ; add bindings in default config
2007-10-02 14:28:39 +02:00
Julien Danjou
4c4fb83e81
new feature: uicb_setlayout can no go backward ; binding Button3 click on layout symbol statusbar for reverse layout switching
2007-10-02 14:22:51 +02:00
Julien Danjou
950605b1a0
simplify get_screen_info()
2007-10-01 20:58:29 +02:00
Julien Danjou
8112ec2cca
introduce move_client_to_screen to move a client in a new screen and tag it with good tags
2007-09-28 11:30:51 +02:00
Julien Danjou
ca16334351
introduce get_xinerama_screen_bycoord(...)
...
this allows to retrieve the xinerama screen of a client with its coordinates
2007-09-27 17:13:30 +02:00