Commit Graph

238 Commits

Author SHA1 Message Date
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
Julien Danjou 894b341feb simplfiy drawstatus() remove screen useless arg 2007-09-24 16:23:49 +02:00
Julien Danjou c5c810a285 bug fix: return to last real floating/tiled state when unmaximizing 2007-09-24 15:42:53 +02:00
Julien Danjou 595eba78d7 create a Tag struct type and use it 2007-09-24 15:37:52 +02:00
Julien Danjou e2883bf28b fix get_screen_info() and free() ScreenInfo in maximizing uicb functions 2007-09-20 22:56:18 +02:00
Julien Danjou fb5582cdbf arrange() on maximize() 2007-09-20 22:25:10 +02:00
Julien Danjou 2f43209c34 fix toggle floating with Button2 in tileleft layout, and prefix layout functions with layouts_ 2007-09-20 22:07:59 +02:00
Julien Danjou 8baad02e68 call restack() when maximizing 2007-09-19 10:39:34 +02:00
Julien Danjou 1cd4ba0086 stop using get_window_area* fct, and remove it 2007-09-18 23:16:27 +02:00
Julien Danjou b7ef890148 cosmetic 2007-09-18 22:46:31 +02:00
Julien Danjou f0c623789c change DefaultScreen to the right screen 2007-09-18 19:53:52 +02:00
Julien Danjou d967edfec9 remove screen from layouts arrange() arg 2007-09-18 19:53:52 +02:00
Julien Danjou d9523d3436 simplify load/saveawesomeprops 2007-09-18 19:53:52 +02:00
Julien Danjou dcec6aa749 remove screen arg from uicb* 2007-09-18 19:53:52 +02:00
Julien Danjou 30e7cf5b40 simplify arrange and restack 2007-09-18 19:53:46 +02:00
Julien Danjou bf9601f79c simplify focus, get screen from awesomeconf 2007-09-17 13:39:18 +02:00
Julien Danjou 0539eaa4b0 is_visible check for screen 2007-09-16 14:56:08 +02:00
Julien Danjou a010212f97 rework IS_TILED with screen 2007-09-16 14:56:08 +02:00
Julien Danjou 58abf74d43 spawn X client in the right head and add screen arg to layouts 2007-09-16 01:36:26 +02:00
Julien Danjou 933b0413ea add screen arg to uicb* 2007-09-16 01:05:43 +02:00
Julien Danjou e91de5bfb9 restack and arrange take screen as arg 2007-09-15 23:17:59 +02:00
Julien Danjou 53e5630c6c add screen to drawstatusbar 2007-09-15 22:57:37 +02:00
Julien Danjou 3cc29b0250 add screen args to focus() 2007-09-15 22:51:09 +02:00
Julien Danjou 5c78f4785f load and save awesome props now take screen as arg 2007-09-15 22:40:52 +02:00
Julien Danjou 3e3f213b72 move uicb_togglebar to statusbar.c 2007-09-15 15:34:28 +02:00
Julien Danjou fe89aa31b0 create statusbar.c and move things from draw.c 2007-09-15 15:16:53 +02:00
Julien Danjou 01b2785587 rename drawstatus to drawstatusbar 2007-09-15 13:54:02 +02:00
Julien Danjou 2c6a71f358 add DC to uicb_*() args 2007-09-12 18:11:27 +02:00
Julien Danjou de3fdc02d8 add DC to arrange() 2007-09-12 17:00:33 +02:00
Julien Danjou 9897e5a839 remove DC from global in draw.c 2007-09-12 16:55:47 +02:00
Julien Danjou d6c63bd086 remove wa(x,y,h,w) from global vars, add functions to compute them 2007-09-12 16:03:42 +02:00
Julien Danjou 28df49c3cb rename gettextprop to xgettextprop and move it to util.c 2007-09-12 15:01:35 +02:00
Julien Danjou 7659289b9e chance license to GPLv2 2007-09-12 14:29:51 +02:00
Julien Danjou 9f56ade4e9 use more safe functions and update #inlcude 2007-09-11 14:00:49 +02:00
Julien Danjou 59f6cbf2f5 fix regression in restack() 2007-09-11 11:41:43 +02:00
Julien Danjou baa1e422fe rename last jdwm to awesome and make config a little more robust 2007-09-10 16:11:57 +02:00
Julien Danjou 6f528063be rename jdwm to awesome 2007-09-10 12:06:54 +02:00
Julien Danjou 20a599c07e move barwin to Statusbar 2007-09-07 17:29:36 +02:00
Julien Danjou c3d2e56ef1 remove jdwmprops as global var, replaced by a macro 2007-09-07 16:46:46 +02:00
Julien Danjou d61ca0da62 move bpos to Statusbar struct and change name of default_statubar_position in jdwmconf 2007-09-07 16:35:46 +02:00
Julien Danjou a6a705dd85 remove global bh/blw and add a Statusbar type 2007-09-07 16:13:59 +02:00
Julien Danjou 2eaadb39e7 remove initlayout function 2007-09-07 15:04:02 +02:00
Julien Danjou 324da44c0d simplify for() 2007-09-07 14:58:17 +02:00
Julien Danjou a9d1f4a37d remove global selscreen variable and remove unused vars from setup() 2007-09-07 12:53:30 +02:00
Julien Danjou a4449818f3 remove useless string.h inclusion 2007-09-07 11:48:30 +02:00
Julien Danjou 060cff4970 make prop in save() dynamic 2007-09-07 11:14:43 +02:00
Julien Danjou ac67957492 make prop dynamicly allocated 2007-09-07 11:12:36 +02:00
Julien Danjou 0a90a3f618 remove nexttiled 2007-09-06 23:26:48 +02:00
Julien Danjou dad05e8f19 remove prop[] from static and global 2007-09-06 21:58:46 +02:00
Julien Danjou 274f1270e6 add taglayouts in jdwmconf as tag_layouts 2007-09-06 21:53:45 +02:00
Julien Danjou 9f9757e1b4 deprected nexttiled, add IS_TILED macro to check if a client is tiled to current tags 2007-09-06 20:02:30 +02:00
Julien Danjou e5f2ed3f22 remove extern seltags, put it in jdwmconf 2007-09-06 19:05:26 +02:00
Julien Danjou 24e15433b7 remove bpos from global var, added in jdwmconf 2007-09-05 20:39:11 +02:00
Julien Danjou f7173bd79d first import 2007-09-05 20:15:00 +02:00