Commit Graph

223 Commits

Author SHA1 Message Date
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
Julien Danjou d4211d3bfb introduce get_real_scree() 2007-09-28 11:36:39 +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 ca363aa248 add uicb_movetoscreen() 2007-09-27 22:29:09 +02:00
Julien Danjou 14da15bbc9 make Statusbar optional in get_display_info() 2007-09-27 20:16:20 +02:00
Julien Danjou ac193f82ad fix get_screen_bycoord() and add move_mouse_pointer_to_screen() for focus{next,prev}screen() 2007-09-27 17:57:57 +02:00
Julien Danjou 4662cf109e introduce get_screen_count(...) function 2007-09-27 17:13:30 +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 4f65ea5fcd remove useless #include 2007-09-26 11:35:38 +02:00
Julien Danjou 595eba78d7 create a Tag struct type and use it 2007-09-24 15:37:52 +02:00
Julien Danjou 32654ce496 new feature: add focus{next,prev}screen ui_callback functions
this allows to switch focused screen in multi-head (zaphod) mode
2007-09-24 14:21:49 +02:00
Julien Danjou 5602e9e76b latest commit introduced a regression in multi-head tile support, fix that 2007-09-20 23:08:20 +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 f4cb327f6d get_screen_info get screen as arg 2007-09-15 23:09:02 +02:00
Julien Danjou e4e8a2966f get_display_info take screen and screen is stored in statusbar struct 2007-09-15 23:04:04 +02:00
Julien Danjou 59c870db3e add get_display_info function to screen.c and use it for getting windows_area geom 2007-09-14 11:55:56 +02:00
Julien Danjou c7735d4d1f add screen.[ch] to handle Xinerama config, and deprecate get_wa*() 2007-09-14 11:35:40 +02:00