Commit Graph

181 Commits

Author SHA1 Message Date
Julien Danjou dce101d044 Split out titlebar handling into layout for non-floating, and into resize for floating 2008-03-23 15:52:18 +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 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 8a685bf177 Add mwfact_lower_limit and mwfact_upper_limit to configure limits of mwfact value
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:16 +01:00
Pasini Matthieu b7e379c2d0 tag_setncol and tag_setnmaster shouldn't go over the numbers of clients
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-05 14:21:20 +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 d9298f6edb rename get_current_tags to tags_get_current() 2008-01-29 08:31:13 +01:00
Julien Danjou 668702b777 move list.h and util.[ch] to common/ 2008-01-21 18:14:59 +01:00
Julien Danjou 6e4d13c9dc add a new cache system for arrange()ing 2008-01-21 16:31:15 +01:00
Julien Danjou 541d0d631d change tile() to take a Position as argument 2008-01-21 16:31:15 +01:00
Julien Danjou 0940f2f81a rename tileup/down to top/bottom 2008-01-21 16:31:15 +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 d99374bff2 readd border size on geom 2008-01-12 14:24:13 +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
Hans Ulrich Niedermann 2476faf85d Include sub-Makefiles directly, then remove them 2008-01-04 22:14:53 +01:00
Hans Ulrich Niedermann ec09073087 switch to autotools as build system 2008-01-04 20:49:49 +01:00
Julien Danjou 437bc5c22c add 2008 copyright notice 2008-01-02 16:59:43 +01:00
Julien Danjou d4758481dc remove LAYOUT_PROTO, use a LayoutArrange typedef 2008-01-01 17:33:12 +01:00
Julien Danjou 909f92d500 replace UICB_PROTO macro by a typedef 2008-01-01 17:25:48 +01:00
Julien Danjou e5af2dcf24 fix maximized windows in floating layout 2008-01-01 16:56:11 +01:00
Julien Danjou c919fce900 use get_curent_tags() in tile.c 2007-12-27 11:50:09 +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 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 b6bfd1a4d0 The arg to uicb_ functions is no longer const. 2007-12-17 18:19:44 +01:00
Julien Danjou 9c83ebfb80 good fix for ncol = 0, last was wrong 2007-12-16 18:29:11 +01:00
Julien Danjou 4577c64ec4 don't allow ncol to be <= 0 2007-12-16 18:07:02 +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 b9320be372 add spiral and dwindle layouts (fibonacci) 2007-12-14 17:05:29 +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 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
Julien Danjou 85adc07d19 rename uicb_set* to uicb_tag_set* since they apply on tags 2007-11-14 18:12:33 +01:00
Julien Danjou ceb6cc797a ncol is now configurable per tag 2007-11-11 11:55:20 +01:00
Julien Danjou 59f377526f nmaster is now configurable per tag 2007-11-11 11:53:10 +01:00
Julien Danjou 32b098796e mwfact is now configurable per tag 2007-11-11 11:48:26 +01:00
Julien Danjou 14e8c82a8a fix max() size restore, introduce volatile option to resize() 2007-10-29 15:24:10 +01:00
Julien Danjou d24413a75d rename resize() to client_resize() 2007-10-26 19:51:20 +02:00
Julien Danjou 52f8476ae3 include util.h in max.c
Thanks MATSUU Takuto
2007-10-24 11:05:32 +02:00
Julien Danjou 9d9b397649 replace XFree by p_delete() 2007-10-23 16:36:27 +02:00
MATSUU Takuto b1dcf6c71b set{nmaster,ncol,mwfact,moveresize} to work
From 842eed01c0, setnmaster, setncol,
setmwfact and setmoveresize don't work fine.
2007-10-22 09:56:33 +02:00
Julien Danjou 7a921fbc5e remove ftview attribute 2007-10-19 15:41:20 +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 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 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 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
Julien Danjou e733af41ec remove drawcontext everywhere 2007-10-10 14:09:36 +02:00
Julien Danjou fd0fc340d7 bugfix: wrong column X coord in multi-columns mode
Thanks to Fabienne Ducroquet <fabiduc@gmail.com>
2007-10-09 10:45:27 +02:00
Julien Danjou de45017b5d switch to libconfuse instead of libconfig 2007-10-08 18:45:05 +02:00
Julien Danjou 97a2085705 cosmetic: remove lines with empty spaces at end 2007-10-03 17:26:14 +02:00
Julien Danjou b0933b177c remove useless extern Client sel in tile layout 2007-10-03 00:30:15 +02:00
Julien Danjou 950605b1a0 simplify get_screen_info() 2007-10-01 20:58:29 +02:00
Julien Danjou 784e120fa2 inverse setmwfact value in tileleft layout 2007-10-01 13:00:13 +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 30c9d74dd2 I was too happy, I forgot some printf 2007-09-27 22:31:06 +02:00
Julien Danjou 57e9f1c02c tile layout is Xinerama compliant 2007-09-27 22:29:36 +02:00
Julien Danjou 972ea8f832 max layout is now Xinerama aware 2007-09-27 19:34:41 +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 595eba78d7 create a Tag struct type and use it 2007-09-24 15:37:52 +02:00
Julien Danjou 8592058e00 add a LAYOUT_PROTO to common.h and use it 2007-09-24 14:59:29 +02:00
Julien Danjou c8373622ec Add UICB_PROTO to common.h (new) to declare uicb_functions 2007-09-24 14:40:40 +02:00
Julien Danjou 917a82ed15 fix typo in setnmaster test which broke the function 2007-09-24 11:20:34 +02:00
Julien Danjou d44e7bcbc4 add support for Xinerama in max layout 2007-09-21 18:18:01 +02:00
Julien Danjou c80855836a new feature: add max layout 2007-09-21 00:30:32 +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 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 57bb886dae remove spiral from layouts 2007-09-18 22:59:16 +02:00
Julien Danjou d967edfec9 remove screen from layouts arrange() arg 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 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 3ab80f68b8 first multihead support 2007-09-16 00:36:56 +02:00
Julien Danjou e91de5bfb9 restack and arrange take screen as arg 2007-09-15 23:17:59 +02:00
Julien Danjou 389e1f809a add screen arg to _tile 2007-09-15 23:10:36 +02:00
Julien Danjou f4cb327f6d get_screen_info get screen as arg 2007-09-15 23:09:02 +02:00
Julien Danjou 2c3dc9a4dc bug fix: reset current_col to 0 (Xinerama problem) 2007-09-15 15:48:31 +02:00
Julien Danjou fe89aa31b0 create statusbar.c and move things from draw.c 2007-09-15 15:16:53 +02:00
Julien Danjou b490276b66 optimize mh computing 2007-09-15 14:40:08 +02:00
Julien Danjou d990643b5f optimize computing a bit 2007-09-15 14:37:26 +02:00
Julien Danjou 9130abb0fe rename some vars 2007-09-15 14:26:55 +02:00
Julien Danjou 636459d85d cosmectic 2007-09-15 14:23:18 +02:00
Julien Danjou fa7d80ac4f remove static vars from tile layout 2007-09-15 14:20:01 +02:00
Julien Danjou 6f8a267450 no idea why we should redraw statusbar here, so removing 2007-09-15 13:56:12 +02:00
Julien Danjou 01b2785587 rename drawstatus to drawstatusbar 2007-09-15 13:54:02 +02:00
Julien Danjou bc3f70e0fa add uicb_setncols(), clean config, really use config in tile.c 2007-09-15 13:04:36 +02:00