Commit Graph

199 Commits

Author SHA1 Message Date
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