Commit Graph

182 Commits

Author SHA1 Message Date
Daniel Hahler 31e3399abe Fallback to comparing layout names in awful.layout.inc
This helps in cases where you have accidentally cloned an entry from
`layouts`.

Previously, no current index would be found and the function would
silently fail.

Signed-off-by: Daniel Hahler <git@thequod.de>
2014-03-14 20:37:24 +01:00
Fabienne Ducroquet 94a8c72596 layouts: spiral: Avoid gaps between windows
When an area is split in two, for example horizontally, one of the windows
should have height math.floor(previous height / 2) and the other
math.ceil(previous height / 2), to be certain that no gaps are left between the
windows.

For instance, if the first window has height h and the second window has height
math.floor(h / 2), the height of the third window should be math.ceil(h / 2)
instead of the same as for the second window.

So to compute the size of window n + 1 it’s necessary to remember the size of
window n - 1 as well as that of window n.

Signed-off-by: Fabienne Ducroquet <fabiduc@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-01-23 18:39:52 +01:00
Poggles bd05219a72 Make awful.layout.inc() accept a screen number
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-02-19 19:49:07 +01:00
Felix Bier e4be0017ff Incorrect calculation of unused size (FS#1108)
Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-02-11 16:10:48 +01:00
Uli Schlachter d13b825c36 Fix warnings from LDoc
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 15:35:32 +01:00
Uli Schlachter 96e03cb45d Lots of random documentation fixes
This is mostly about mis-named parameters, but also other small things.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 14:09:10 +01:00
Josh Komoroske 8e35e1a6a9 Fixed window gaps in the "fair" tiling mode.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-10 21:48:46 +01:00
Uli Schlachter 8348d44444 Tags: Remove screen property
A tag's screen is now implemented purely in lua and it is no longer C's
business.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-23 10:05:34 +02:00
Uli Schlachter 5d95559977 layout: Remove duplicate capi definition (FS#1032)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-08-24 21:57:10 +02:00
Uli Schlachter b552000bd9 More fixes for the recent module() removal
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-17 15:24:01 +02:00
Arvydas Sidorenko b18b504fdf Ported awful.layout.suit to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko 4ca0298564 Ported awful.layout to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 17:37:30 +02:00
Gregor Best c2ea920ca0 remove encoding=utf-8 from modelines
This option is no longer valid in modelines, so it has been removed from
all modelines using the following shellscript:

    #!/bin/ksh

    git ls-tree -r HEAD | cut -f2 | while read f; do
        egrep -e '^(//|--) vim: .*encoding=' $f >/dev/null || continue
        sed -E -e '/^(\/\/|--) vim:/s/:encoding=utf-8//' $f > /tmp/foo
        mv /tmp/foo $f
    done

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-11 17:34:09 +02:00
Uli Schlachter 1ce0b7915b Use signal emitions on classes
Since 3fbb5f1535 "luaobject: emit signals on class too" when a signal
is emitted on some object, it will also be emitted on the class. This means that
we don't have to connect our signals via the "new" signal anymore, but can
instead connect to the signal on the class.

(Of course, the signal on the class gets as first argument the object on which
the signal was emitted)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 18:31:06 +02:00
Uli Schlachter ab4c151ed8 Add signals before using them
This commit makes it an error if an unknown signal is connected, disconnected or
emitted. All signals have to be added before they can be used.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-25 23:00:36 +02:00
Julien Danjou 6d332f07a0 lua{class,object}: rename signals functions
I knew this was wrong at the beginning, f*ck.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-25 20:28:20 +02:00
Gregor Best f890aa392c layouts/tile: completely fix client borders
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-29 10:53:47 +02:00
Gregor Best 752f0225d2 layouts: let client sizing honor the border width
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 20:39:56 +02:00
Julien Danjou 64becbc047 awful.layout: emit arrange signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-06 12:40:13 +01:00
Julien Danjou 371ee3e8cc titlebar: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:05 +02:00
Gregor Best 851889f2b7 awful.screen: fix padding
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-09 20:05:42 +02:00
Julien Danjou 9c651933a4 Revert "awful.layout.suit.magnifier: simplify"
This reverts commit f3c57faf1d.
2009-09-28 14:41:54 +02:00
Julien Danjou f3c57faf1d awful.layout.suit.magnifier: simplify
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-18 13:40:29 +02:00
Julien Danjou 9c21ce8907 awful.layout: listen to geometry signal and lock arrange (FS#625)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-18 11:31:49 +02:00
Julien Danjou 35ff4203d8 magnifier: fix then no tiled client
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 10:32:53 +02:00
Julien Danjou 26e2e2f375 awful.layout: use attached_add_signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou ef588bf8b8 awful.layout: listen for workarea size changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou d6fd7f1116 awful.wibox: update strut on wibox attachement
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou 65825bdd22 awful: move hooks to signals
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou fc035005ba client: emit signal on list changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Fabienne Ducroquet 391e3ea954 layout: spiral: remove useless local variables
Signed-off-by: Fabienne Ducroquet <fabiduc@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-19 21:55:58 +02:00
Fabienne Ducroquet 7ae072b791 layout: spiral: test spiral rather than dwindle
Since all the tests are now "not dwindle".

Signed-off-by: Fabienne Ducroquet <fabiduc@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-19 21:55:57 +02:00
Fabienne Ducroquet d716476872 layout: spiral: refactoring
Look at the problem as "in which cases do we add or remove nw or nh?"
rather than "what do we do when k = ...?".

Signed-off-by: Fabienne Ducroquet <fabiduc@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-19 21:55:57 +02:00
Fabienne Ducroquet 034a93d691 layout: spiral: remove size check
This is already done by the C code.

Signed-off-by: Fabienne Ducroquet <fabiduc@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-19 21:55:56 +02:00
Fabienne Ducroquet 46f5476e20 layout: spiral: remove the variable i
We have i == k - 1 and k is unused.

Signed-off-by: Fabienne Ducroquet <fabiduc@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-19 21:55:54 +02:00
Julien Danjou cb2cad6b09 client: emit class signal on focus
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-19 16:05:59 +02:00
Julien Danjou 5a70fb6395 awful.layout: do not pass specific param in arrange (FS#541)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-07 15:51:32 +02:00
Gregor Best 7a73227108 awful.layout: fix call to :isvisible()
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-15 09:40:44 +02:00
Uli Schlachter cd862e80cd Add fibanocci layouts ported from the C version
This is based on the C code from commit b9320be372.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-13 11:36:15 +02:00
Gregor Best c0f7c38237 awful.layout: also arrange on client tag change
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-13 11:23:07 +02:00
Julien Danjou 3926f62ea3 hooks: remove arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:44:00 +02:00
Julien Danjou 2b80d94453 awful.layout: register layout property change
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:43:37 +02:00
Julien Danjou 5922eb1fc1 awful.client: register property windowfact and floating for arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:43:29 +02:00
Julien Danjou ef2b18949c awful.tag: call property hooks on properties changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:43:08 +02:00
Julien Danjou e59f28a556 awful.layout: call layout hook on layout set
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:42:46 +02:00
Julien Danjou 38400cd026 titlebar: call property hook on visible, not need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:42:25 +02:00
Julien Danjou f46559e239 titlebar: execute property hook rather than setting need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:42:09 +02:00
Julien Danjou 25b3e718d1 wibox: do not set need_arrange on wibox detach
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:41:58 +02:00
Julien Danjou 87c56359bc awful.layout: arrange on tags list modification
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:41:26 +02:00
Julien Danjou f9f5b2068b screen: client move triggers property hooks, no need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:41:19 +02:00
Julien Danjou c06a58a581 awful.layout: re-arrange on hide property change
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:33:57 +02:00
Julien Danjou e6e4b9f3b1 client: swapping does not set need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:33:49 +02:00
Julien Danjou a7b6c6bbd7 client: border_width does not set need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:33:40 +02:00
Julien Danjou a8300f635d client: maximized does not set need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:33:32 +02:00
Julien Danjou d6ff48a108 client: fullscreen does not set need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:33:18 +02:00
Julien Danjou 1c92023a12 layout: arrange on sticky
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:33:08 +02:00
Julien Danjou ae2d037488 layout: arrange on minimize
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-09 14:06:50 +02:00
Julien Danjou 14330f6aec client: focus change does not call need_arrange
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-09 14:06:22 +02:00
Julien Danjou 37d2b7f2a3 ewmh: do not call need_arrange on prop
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-08 12:07:06 +02:00
Julien Danjou 7cc0b13eae wibox: move position handling to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:30 +02:00
Julien Danjou e15aab73bf screen: move padding in Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:13 +02:00
Julien Danjou a891ffbe2d awful.tag: call property hook on icon changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-18 16:57:12 +02:00
Julien Danjou 9bb2c2d1e9 client: changing size hints does not arrange()
It just calls property hook.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 11:43:56 +02:00
Gregor Best 2d816fd80c awful.layout.suit.magnifier: fix position of focused screen
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-14 08:35:28 +01:00
Julien Danjou 41296008a3 awful.layout.suit.floating: simplify
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou 122e1cc28a awful.layout: make layout optional
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
dcurtis@cs.uiowa.edu 2a2166d856 awful.layout: do not use global env
Layouts are passed a data structure that holds all the
information they need to render the clients.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
dcurtis@cs.uiowa.edu a2fe3919f2 awful.layout: store name into module
Layouts now store their name as a string and their arrange function
in a table rather than being stored as the entire module.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou b07857b4f6 suit.magnifier: fix focused window handling in multi screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-10 07:56:48 +01:00
Julien Danjou cc6dee9940 awful.layout.suit.vile: rename to tile
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-28 12:08:33 +01:00
Julien Danjou ed2581c3ec awful.layout.suit: remove tile
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-28 12:05:21 +01:00
Julien Danjou d95a16e837 awful.layout.init: floating is default is none
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-28 12:00:34 +01:00
dcurtis@cs.uiowa.edu f2f7d5c89d awful.layout.suit.vile: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-26 15:49:18 +01:00
Sias Mey cc58b840e6 awful.layout.suit.magnifier: fix typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-22 09:49:09 +01:00
Julien Danjou f5c35765d2 awful.layout.suit.magnifier: fix background client geometry
This make sure that we render clients from top to bottom, with
bottom client as the next focused one.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-21 13:45:39 +01:00
Julien Danjou 3aa407b742 awful.layout.suit.magnifier: use the right screen tag
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-19 14:38:17 +01:00
Julien Danjou 7df3a36f3b awful.layout.suit.tile: use the right screen tag
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-19 14:34:38 +01:00
Gwenhael Le Moine 25ac879569 suit.fair: restored C version fair layout's behaviour
Signed-off-by: Gwenhael Le Moine <gwenhael.le.moine@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-16 13:30:18 +01:00
Leon Winter a1489b867b awful.layout.set for non active tag
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-15 10:00:15 +01:00
Maarten Maathuis 6e199bbd76 client, swindow: switch to a more convient definition of geometry
- In many places i see people correcting for border width and titlebars.
- This new definition is the equivilant of what used to be fullgeometry.
- The internal geometry is now contained to a few functions that few people ever touch.
- This should avoid confusion and make code easier.
- Also protect against several unsigned overflows.

Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:24 +01:00
Julien Danjou c3c20c4f8e client: move floating state handling to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:22 +01:00
Julien Danjou 2037a053a9 layout: move layout code to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:21 +01:00