Commit Graph

1149 Commits

Author SHA1 Message Date
Uli Schlachter 048064b8ef graph: Remove gradients
They can and should now be done via gears.color instead. It was porting ever
since this was ported to oocairo anyway...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 19:02:03 +02:00
Uli Schlachter 6375ce4175 graph: Port to oocairo
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 18:57:52 +02:00
Uli Schlachter d74198b7db gears.color: Add much more sophiscated stuff
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 18:54:20 +02:00
Uli Schlachter fce09d4d42 tasklist: Remove unused local variables
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:18:21 +02:00
Uli Schlachter 40aa974ac2 taglist: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:17:03 +02:00
Uli Schlachter f4d37f74d3 naughty: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:15:11 +02:00
Uli Schlachter 6f5862a2de beautiful: Remove unused local variables
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:11:53 +02:00
Uli Schlachter 523661760a Layoutbox: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:10:01 +02:00
Uli Schlachter 03fd3f3146 awful.wibox: Remove unused local variables
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:08:16 +02:00
Uli Schlachter e53054553d awful.menu: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:06:44 +02:00
Uli Schlachter 4279c879b3 awful.widget.button: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 15:57:10 +02:00
Uli Schlachter c3e0f72c56 gears.object: Import
This implements objects in lua. Objects provide the signal functions that are
known from the C API ({dis,}connect_signal(), emit_signal(), add_signal()).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-28 16:23:00 +02:00
Uli Schlachter b75ada22d8 gears.sort: Import
The difference to table.sort() is that this is guranteed to be stable.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-28 16:09:40 +02:00
Uli Schlachter 51068f5cdf naughty: Set the window type to "notification"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-28 13:14:27 +02:00
Uli Schlachter 5f90e92f09 awful.menu: Set the window type to "popup_menu"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-28 13:13:14 +02:00
Uli Schlachter 9a8177e457 awful.wibox: Set the window type to "dock".
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-28 13:09:19 +02:00
Uli Schlachter 825efd21b3 Naughty: Add a missing "local"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-18 16:34:31 +02:00
Uli Schlachter 49b4573bc8 awful.widget: Stop using named colors
Those were removed a while ago already.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-18 12:27:09 +02:00
Uli Schlachter 71b15d292c Fix a "table expected instead of nil" error
It seems like with lots of bad luck, the garbage collector manages to "steal"
the table with the buttons right after we decided to use it. Evil collector!

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-16 19:02:15 +02:00
Uli Schlachter 89f05c90ca {tag,task}list: Use a weak-valued table
The data table is used to map objects (clients/tags) to the buttons associated
with them. This is done so that we don't have to re-create the button objects
each time this lists are updated.

The problem was that this weak-keyed table was never cleared, because the value
had a strong reference to the key (via the button's signal):

btn:connect_signal("press", function () b:emit_signal("press", o) end)

"o" is the key in the table and btn is reachable from the value. This prevented
the garbage collection of the key. Using a weak-keyed and weak-valued table
fixes this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-16 17:28:50 +02:00
Ignas Anikevicius (gns_ank) 2c1d09ebc2 Add match_any function and rule_any definition for different client matching.
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-14 16:51:40 +02:00
Uli Schlachter 9a24779425 Implement color parsing
This adds a lua module for parsing colors. Named colors like "black" aren't
supported, but #rrggbb and #rrggbbaa colors do work.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-09 16:54:57 +02:00
Julien Danjou c38e326242 Revert "tag.lua: check name argument to add() is valid"
This reverts commit 6cb61939c4.
2010-09-08 10:18:21 +02:00
Uli Schlachter e77b979092 awful.placement.no_overlap: Ignore desktop clients
EWMH describes desktop windows like this:

"_NET_WM_WINDOW_TYPE_DESKTOP indicates a desktop feature. This can include a
single window containing desktop icons with the same dimensions as the screen,
allowing the desktop environment to have full control of the desktop, without
the need for proxying root window clicks."

An example for such a window is nautilus' virtual root window. Naturally, such a
window would always overlap with any given client, so awful.placement.no_overlap
just didn't do anything at all. The fix is to ignore such clients for placement
calculations.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-03 17:43:36 +02:00
immerrr a3f911cf95 awful.prompt: insert selection at cursor position
Signed-off-by: immerrr <immerrr@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-31 13:48:59 +02:00
Uli Schlachter 03e0ee53d2 Wibox: Remove shape support
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-30 10:22:50 +02:00
Uli Schlachter 932e0bfcd0 Add two more missing signals
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-27 21:42:14 +02:00
Uli Schlachter d5209cca1f awful.placement: Fix a mis-calculation
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 21:29:34 +02:00
Uli Schlachter 1cab627d5d awful.prompt: "Fix" for multi-byte characters
If you entered a multi-byte character into a prompt and then changed your mind
and used backspace to fix the character, only the last byte of the character was
removed. Because pango is intelligent, it noticed the broken utf8 and
complained.

So far nothing new. But since 711d78b50c the textbox will throw a lua error
when it gets an invalid text (= pango complains). Throwing an unprotected lua
error in this context causes the keygrabber to be killed which stops the prompt.

Fix this by removing bytes as long as there are bytes left that can be removed.

This is FS#801.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 20:42:22 +02:00
Uli Schlachter b6c8b95e34 Convert some more code to "class signals"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 18:42:38 +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 3bdd4793d7 awful.tag: Add property::icon
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 18:11:13 +02:00
Uli Schlachter f89252962e Fix an invalid index in awful.rules
A rule like { focus = true } would cause debug::index::miss and
debug::newindex::miss to be emitted.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 17:48:00 +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
Uli Schlachter 71ba321032 Check "focusable" in awful.client.focus.filter(c)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-12 13:18:40 +02:00
Uli Schlachter ac2ff7f7a7 prompt: Only show error messages
Ever since awesome.spawn() also returns the pid of the started process, the
prompt accidentally displayed the pid of processes that it started.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-09 14:24:58 +02:00
Uli Schlachter fae5dfcd08 Naughty: Handle invalid UTF-8 more sanely
Previously, if setting the textbox's text failed this caused more problems later
on. This commit makes sure that an invalid text never breaks pango.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-06 19:53:34 +02:00
Konstantin Stepanov 842dfc3064 stack graph mode works with max_value
Signed-off-by: Konstantin Stepanov <kstep@p-nut.info>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-05 14:28:14 +02:00
Ignas Anikevicius (gns_ank) e6a2bf7220 Functionality for deleting a tag using awful.tag.
tag.delete(t, fb):
    Delete tags if certain criteria are met:
        - There are no clients assigned exclusively to this tag.
        - Stickied clients have somewhere to go, 'fb' the fallback tag

    If after deleting there is no tag selected then try and
    history.restore() or select the first tag on the screen.

    Return true if successful and nil otherwise.

Signed-off-by: Perry Hargrave <perry.hargrave@gmail.com>
Signed-off-by: Ignas Anikevicius <anikevicius@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-02 22:05:58 +02:00
Uli Schlachter edbc3fa652 awful.placement: Honor border width
While calculating if part of the window is outside the visible region, this code
should also add the border width. (FS#684)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-07-24 15:29:55 +02:00
Uli Schlachter 6fa27c7b48 Naughty: Catch invalid markup in notifications
Previously, an invalid markup caused an empty popup. Since the C core now throws
a lua error on invalid markup, we have a way to notice that something is wrong.

This patch first tries to set the notification's text the same way we did
previously. If that fails, everything is escaped and the result is used as the
text for the notification.

Thanks to farhaven/Gregor Best for the initial version of this and for the
string.gsub() call I stole from him. :)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-07-16 19:35:51 +02:00
Uli Schlachter 2e0ea80cb3 Tasklist: Listen to the correct signals
The tasklist shouldn't care about the tag history or new tags showing up and it
also shouldn't care about tags disappearing on other screens (on the current
screen the tasklist needs to update because the tag might have been selected).

On the other hand, the tasklist really should care about tags being selected and
unselected. This worked before because this causes changes to the focus history.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-06-22 16:45:06 +02:00
Uli Schlachter 470c2e20d0 Update the tasklist when a client's icon changes
Thanks to a pidgin-using friend for reporting this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-14 20:06:02 +02:00
Uli Schlachter 0e869b7b15 Remove invalid variable usage
There is no variable called "startup" in awful.rules.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-14 20:04:38 +02:00
Julien Danjou e0c259406e naughty: return nothing, not nil
This is not a valid return value for a D-Bus method.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-06 10:39:16 +02:00
Julien Danjou e4c8c11564 Fix missing tostring
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-01 11:43:45 +02:00
Perry Hargrave 6cb61939c4 tag.lua: check name argument to add() is valid
Signed-off-by: Perry Hargrave <perry.hargrave@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-01 10:31:24 +02:00
Uli Schlachter 1615cff82a Tasklist: Add some missing parentheses
"a .. b or c" is equivalent to "(a .. b) or c", but we want "a .. (b or c)".
This bug caused an "attempted to concatenate a nil value" error message.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-30 18:53:04 +02:00
Perry Hargrave 2f3f84c994 tag.lua: add() create tags with full table of properties
tag.add(name, props):
    make tags and pass a table of properties to apply to it

tag.new:
    modified to use add() instead of calling capi.tag

Signed-off-by: Perry Hargrave <perry.hargrave@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-29 11:22:27 +02:00
Perry Hargrave 77e39a5f07 tag.lua: getidx() returns index of tag
tag.getidx(t):
    Return the index of 't' in the screen[]:tags() table. Return 'nil'
    if 't' is not found.

Signed-off-by: Perry Hargrave <perry.hargrave@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-29 11:07:25 +02:00
Perry Hargrave 7b60f84fd0 tag.lua: move() re-index tags
tag.move(i, t):
    move tag 't', or tag.selected(), to index 'i' in the current
    screen's tags table.

Signed-off-by: Perry Hargrave <perry.hargrave@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-29 11:05:36 +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 38edc58097 client: implements maximized and fullscreen requests with Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:29:29 +02:00
Julien Danjou 9ce234a533 awful.widget.tasklist: use symbols chars rather than images
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:28:43 +02:00
Uli Schlachter 2b98f82588 awful.menu.clients: Raise the newly focused client
Raising it makes it more obvious that the focus was really changed and makes
working with the client easier since it's, well, raised.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-03 11:03:54 +02:00
Andrei 'Garoth' Thorp b43da6611d docs: progressbar.lua.in missing a dash to prevent luadoc generation
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-03 11:02:20 +02:00
Sergey Mironov 15aed64fd8 awful.menu: Add menu position argument
Patch allows user to define menu position in pixels when
showing menu in keyboard-driven mode.
Note: Patch changes signature of show() and toggle() functions.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-04-14 09:38:17 +02:00
Yves Frederix 0710031f1e awful.menu: add item_enter in access key handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-04-12 10:06:02 +02:00
Sergey Mironov 499da45edb awful.menu: Fix menu hide/show overloading
Fixes bug that prevents calling user-defined menu methods

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-04-12 10:04:50 +02:00
Adrian C. (anrxc) 4f4259c702 awful.widget: add graph stack property
Initial implementation of stacked graphs. Adds two new methods,
set_stack (false by default) and set_stack_colors (i.e. {"red",
"white", "blue"}). The order of the colors matters, because the
add_value method now accepts an (optional) last argument, an index of
a color from your stack color group.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-29 17:39:22 +02:00
Adrian C. (anrxc) 4119e92d82 awful.wibox: update struts on align()
Setting width or height (horizontal or vertical) to an arbitrary value
causes the wibox not to be stretched. Instead the align() function is
called, which might not modify any wibox property in many situations,
or none when align parameter was not provided by the user. The major
side effect is that wibox struts were never updated and clients
covered the wibox (until a first signal handler caused struts to be
updated).

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-23 11:06:32 +01:00
Adrian C. (anrxc) 7ea4478b38 awful.widget: add progressbar ticks property
Second implementation of the progressbar ticks. Adds set_ticks,
set_ticks_gap and set_ticks_size methods. Default gap is 1, size 4 in
respect to the default progressbar width of 100px.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-23 10:57:37 +01:00
Pierre Mazière a89c94e9d7 Avoid wibox borders to be recovered by clients
Signed-off-by: Pierre Mazière <pierre.maziere@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-19 10:02:32 +01:00
Pierre Mazière 62ac15d9d8 fix wibox origin when stretched
Signed-off-by: Pierre Mazière <pierre.maziere@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-19 10:02:30 +01:00
Pierre Mazière 67fc0b1810 Add the possibity for dynamic menu
Return the label of the selected menu item as an argument for the
callback function

Signed-off-by: Pierre Mazière <pierre.maziere@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-17 16:00:18 +01:00
Adrian C. (anrxc) bafe41e174 awful.wibox: update position on height/width property change
Changing the width or height of a (right or bottom positioned)wibox,
after it was initialized, to a value different than used when it was
created would leave the wibox in a wrong position. Position was off by
as many pixels as the difference between the old and the new
value. Now every wibox is repositioned to reflect this new setup.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-04 09:31:37 +01:00
Adrian C. (anrxc) 54233fa383 awful.widget: add progressbar set_max_value property
The awful.widget.graph allows to change the maximum value a graph can
handle, thus allows users to use widgets and scripts that don't scale
the values down to 0 - 1 range. The progressbars did not allow this
and worked with a hard-coded value of 1.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-02 11:59:58 +01:00
Adrian C. (anrxc) d07f3533c6 awful.menu: sanitize support for access keys
Commit 87070ca introduced support for access keys in menus. Chosen
character was "&", an XML entity that has potential to cause problems;
if a user tries to add multiple access keys or just put an ampersand
in the name of the item the menu will break. Breaking happened because
ampersands were not escaped - first one was substituted and the rest
were ignored, but not escaped which triggered a pango markup error.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-01 15:56:39 +01:00
Gregor Best b04a75c697 naughty: add suspend() and resume()
This commit adds naughty.suspend() and naughy.resume() which allow
suspension of notifications, which is useful e.g. when watching a movie,
where notifications popping up all the time would be disturbing.

While suspended, notifications are collected and displayed after
naughty.resume() is called.

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-02-17 16:23:47 +01:00
Andrei 'Garoth' Thorp 11963175bc Fix naughty.destroy parameter documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-02-17 16:23:47 +01:00
Adrian C. (anrxc) 81b073e0a5 awful.rules: fix client tagging with multiple screens
Commit a757dda replaced the awful.client.movetotag call with c:tags()
in the tag property handler. Which introduced a regression when more
than one screen is used. The awful.tag.withcurrent function was being
called even when there was a valid tag property. Now the clients
screen is set to the tag screen to ensure the client is moved to the
correct tag and screen.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-01-11 10:09:27 +01:00
Adrian C. (anrxc) 3e6d333a54 awful.autofocus: improve client focus with multiple screens
Changing screen focus to an empty tag leaves focus on a client on the
previous screen, if a tag with clients is focused next the focus
remains on the previous screen. Now awful.autofocus compares the tag
screen and clients screen to learn if the focus should be given to a
client on the focused screen. Client that gets the focus is selected
from history, as usual.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-01-10 10:31:23 +01:00
koniu 5e7ddd1efa awful.rules: tag clients without flicker (FS#664)
We unregister the default awful.tag.withcurrent 'manage' signal handler
and have awful.rules.apply handle initial client tagging.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-01-08 19:11:30 +01:00
koniu 5b8acee224 awful.tag: register 'withcurrent' explicitly
This explicitly registers withcurrent(c) as a manage signal handler so
that it can be removed if necessary.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-01-08 19:11:29 +01:00
Adrian C. (anrxc) f641ee411f awful.wibox: sanitize height/width args to function new()
When both height and width arguments are provided to the function
new() there is a check to see if one of them was a screen percentage,
and is expected to be a string. If the user provided absolute pixels,
and argument is of type number awesome will crash. Now tostring is
used to sanitize the arguments during this check.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-01-05 09:53:33 +01:00
Alex Alexander 8cc15d80b4 wibox: fix align
awful.wibox.align() in 3.4.x gets the available screen area from
capi.screen[screen].geometry.

this can easily result in overlapping wiboxes since the work area
provided does not account for existing wiboxes.

In my configuration I use a vertical wibox positioned at the
right and it half-overlaps my top wibox because it is streched and
hard-coded to align at the middle.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-01-05 09:53:29 +01:00
Adrian C. (anrxc) 003369e649 awful.wibox: take wibox border into account when updating struts
Function wibox_update_strut would not take the border width into
account when calculating struts. When a wibox border was in use
clients would overlap the wibox. With a border of 1px we loose 1px of
the wibox, but as the wibox border increases it is "pushed" by the
border nearest the screen edge and clients steal more and more space.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-12-30 19:51:48 +01:00
Uli Schlachter 8857f73ce6 Implement the GetCapabilities call in naughty
This call is required by the freedesktop specification.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-12-28 10:41:57 +01:00
Sébastien Gross ea4967fef4 tooltip: force place() if tooltip is not visible
Commit 6c5d0ca9 introduced a side effect. If tooltip text isn't changed
place() function is not called. To prevent multiple place() set_geometry
calls that function when tooltip is not visible (before it appears to the
user).

Signed-off-by: Sébastien Gross <seb•ɱɩɲʋʃ•awesome•ɑƬ•chezwam•ɖɵʈ•org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-12-03 14:22:28 +01:00
Adrian C. (anrxc) 39a0fba7a8 awful.menu: add keygrabber support to clients menu
Functions show() and toggle() accept a boolean parameter controlling
keyboard navigation. In case of the clients menu neither is called
directly, instead the clients menu is always re-created in case any
new clients appeard since the last invocation. This patch adds a
keygrabber parameter to the clients() function as well.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-12-03 14:22:06 +01:00
Robert Lehmann fcee5fb828 naughty: fix CloseNotification argument usage
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-12-01 14:13:52 +01:00
Matthias Schröder 87070cadac awful.menu: support for access keys
You can define a menuitem like before:

awful.menu({ items = { { "&awesome", myawesomemenu,
	 		    beautiful.awesome_icon },
                       { "open &terminal", terminal },
	   })

and the letters following the ampersand in itemname can be used as
access key. (at least former fvwm users might find this familiar)

When there are submenus open awesome ascends during the search from the
current menu to the top level menu.

The access key is shown underlined.

There is no warning for multiple used keys, only the first one found
gets the price.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-26 19:56:04 +01:00
perry cb8eac8ccf Revert "awful.autofocus: fix multiple screens autofocus"
This reverts commit 7575f64993.

As seen on ML:

Switching tags with multiple heads causes focus to change
screens with this commit

Signed-off-by: perry <perry.hargrave@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-23 19:28:10 +01:00
Hiltjo Posthuma cb262809dd awful.menu: use actual wibox border width
We check the wibox border width for inappropiate values now, if we set
border_width to a negative value (invalid) in our theme and draw it, the
actual border_width will be 0 so the menu will be drawn incorrectly.
This fixed this.

Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-21 10:47:57 +01:00
Levin Du e2f292d869 Fix awful.util.table.reverse
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-17 10:25:12 +01:00
Tomi Belan 7575f64993 awful.autofocus: fix multiple screens autofocus
There might be multiple screens with visible windows. When closing the
last window of the current screen, try to focus them as well.

If no window has focus and yet some windows are visible (e.g. on another
screen), awesome misbehaves: it uses sloppy keyboard focus (as is the X11
default), but doesn't refresh their border colors or tasklists etc.

Signed-off-by: Tomi Belan <tomi.belan@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-16 15:14:55 +01:00
Adrian C. (anrxc) a502e19bad awful.tooltip: call set_geometry on show()
Function set_geometry was never called if the timer_function argument
was omitted. show function only called place() which would not display
a tooltip since it didn't have proper geometry.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-11 17:48:27 +01:00
Hiltjo Posthuma 0a9f7985f8 Rules: change example
change example since the example with a centered client doesnt work
on the default config (due to no_overlap).

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-09 20:24:45 +01:00
Hiltjo Posthuma 3e3395a6a0 Rules: check if properties of a rule exist
Actually check if properties are set now, since we can also only
apply callbacks now.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-09 20:24:16 +01:00
bob 4aaf39a899 awful.rules: add "callback" option when a rule matches
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-09 10:25:40 +01:00
Julien Danjou f3509f745a naughty: convert <br> tag to \n
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-06 12:45:46 +01: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
Lukas Hrazky 19971c4610 taglist: don't pad name with space, use margin
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-05 18:07:37 +01:00
Lukas Hrazky a085a26d99 widget layouts: always set widgets.height as total
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-05 18:07:00 +01:00
lukash 717efb9ae4 awful.widget: few formal fixes for widget layouts
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-05 18:05:27 +01:00
Lukas Hrazky f2800d96fd naughty: update to new widget layouts
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-27 09:34:29 +01:00
Lukas Hrazky 8eece559b9 progressbar: remove minimum size limit
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 17:27:09 +01:00
Lukas Hrazky 5f38aadc25 progressbar/graph: fix rounding and graph drawing
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 17:27:09 +01:00
Julien Danjou 7f7ffca497 awful.tag: fix new when layout is nil
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 11:11:17 +01:00
Lukas Hrazky a4f8935509 wibox: remove implicit orientation change
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 11:08:28 +01:00
Lukas Hrazky a7c5668a92 update simple widgets to new widget layouts
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 11:07:43 +01:00
Lukas Hrazky 9a51955279 update taglist and tasklist to new widget layouts
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 11:07:42 +01:00
Lukas Hrazky a079ab654d awful.util: change table.clone to do deep copies
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 11:07:41 +01:00
Lukas Hrazky c09582dca3 widget layouts: rewrite
Signed-off-by: Lukas Hrazky <lukkash@email.cz>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 11:07:40 +01:00
Zsolt Udvari eb7ae0fb20 awful.tag: allow table as layout argument (FS#670)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 10:58:39 +01:00
Anton Bobrov ad50440d5c awful.rules: apply accumulated rule properties (FS#669)
To avoid the screen flickering, when two rules have different tags
with true switchtotag.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 10:27:44 +01:00
Damjan 3f565f1a3d awful.menu: fix gap (FS#665)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-26 10:07:15 +01:00
Julien Danjou 371ee3e8cc titlebar: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:05 +02:00
Julien Danjou a6de1608a5 awful.wibox: remove useless deprecation-pass code
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:04 +02:00
Julien Danjou 4c178d5441 hooks: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:04 +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 8c109794d9 awful.titlebar: set a default name if client's nil (FS#653)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-09 16:14:42 +02:00
dmitriy 9a9c3d12d7 naughty: upgrade to notification spec 1.0 (FS#652)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-07 19:57:01 +02:00
Felix Herrmann b6e731b566 awful.widget.graph: fix typo in documentation
Signed-off-by: Felix Herrmann <felix@herrmann-koenigsberg.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-30 15:47:43 +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 67e5346956 Revert "beautiful: init default theme by default" and "awesomerc: stop handling beautiful"
This reverts commit 42c47eecce.
This reverts commit 4823a12541.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-28 13:43:49 +02:00
Julien Danjou 9166584b96 awful.tag: fix view{only,more}
Now they do not select multiple tags at once, and they do not flicker.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-28 11:24:39 +02:00
koniu 52c4461169 awful.tag: fix typo in viewmore
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-28 10:14:36 +02:00
Julien Danjou 61d2712076 awful.completion: use sort -u to sort (FS#621)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-22 17:15:49 +02:00
Gregor Best ae0bf17af2 awful.tag: fix screen in viewonly
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-22 16:33:53 +02:00
Julien Danjou 7c5ba1fcef awful.tag: filter out window before switching screens (FS#633)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-22 16:09:44 +02:00
Julien Danjou 9388dc5a1e awful.client: fix initial geometry storage (FS#608)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-22 15:56:58 +02:00
Julien Danjou d4e6411971 awful.tag: make viewmore smarter
This avoids flickering.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-22 15:11:40 +02:00
Julien Danjou 743603d24d awful.tag: make viewonly more smart (FS#634)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-22 14:09:56 +02:00
Julien Danjou f347876af4 awful.tag: fix client auto-tag on startup (FS#618)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-22 11:57:40 +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
Cedric GESTES 9a0ae64840 placement: import center_horizontal and center_vertical
Signed-off-by: Cedric GESTES <ctaf42@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-14 11:53:45 +02:00
Jacob Winther 808be1d9b8 variable set twice in client.lua
Very small fix.

From 6933b43bd3d00baba661b367db5450a9179da0c7 Mon Sep 17 00:00:00 2001
From: Jacob Winther <jacob.winther@gmail.com>
Date: Sat, 12 Sep 2009 06:59:58 +1200
Subject: [PATCH 1/2] awful.client: remove duplicate variable

Signed-off-by: Jacob Winther <jacob.winther@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-13 14:33:31 +02:00
Sébastien Gross e196826415 awful.tooltip: ensure tooltip is attached to a screen
Signed-off-by: Sébastien Gross <seb•ɱɩɲʋʃ•awesome•ɑƬ•chezwam•ɖɵʈ•org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-11 18:21:28 +02:00
Julien Danjou 4e35145ee3 remove bad files
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-11 14:21:19 +02:00
Julien Danjou 8588e2d594 awful.mouse: load finder
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-11 13:43:02 +02:00
Sébastien Gross 4d1ca7bc18 awful: Add a mouse finder capability
Signed-off-by: Sébastien Gross <seb•ɱɩɲʋʃ•awesome•ɑƬ•chezwam•ɖɵʈ•org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-11 13:38:38 +02:00
Julien Danjou 1d595fe507 awful.mouse: move into a directory
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-11 13:31:33 +02:00
Sébastien Gross 2faa2c1d2d awful: add tooltip module
Signed-off-by: Sébastien Gross <seb•ɱɩɲʋʃ•awesome•ɑƬ•chezwam•ɖɵʈ•org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-09 20:27:47 +02:00
Uli Schlachter 7fc0c24f4f awful.wibox: Error out on invalid positions
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-09 19:50:52 +02:00
Julien Danjou 444edf1d03 awful.wibox: update documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-08 17:02:56 +02:00
Julien Danjou c0cb4203a9 awful.tag: fix withcurrent screen choice (FS#616)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-08 16:41:23 +02:00
Julien Danjou 17226e5a61 telak: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-08 11:04:43 +02:00
Julien Danjou 3617c4d43e invaders: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-08 11:04:15 +02:00
Stephen Sugden 24a614f8d0 awful.menu: fix wibox height computing
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-08 10:24:32 +02:00
Cedric GESTES 62b0a9d8f1 rules: define geometry properties
Signed-off-by: Cedric GESTES <ctaf42@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-07 18:04:23 +02:00
Cedric GESTES 9bfc4b0017 titlebar: fix title and appicon position in the layout
Signed-off-by: Cedric GESTES <ctaf42@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 18:18:52 +02:00
Sébastien Gross 4a7dba0198 tag.lua: fix new client screen
Prevent from blinking the first screen in multiheads by using
the mouse-focused screen tag list for a new client instead of
screen 1.

Signed-off-by: Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 13:40:12 +02:00
Cedric GESTES ae6d09edc1 titlebar: add support for a custom widget
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 13:33:14 +02:00
Cedric GESTES 1df4f1c66c rules: if a client has not the property we search: dont match
Signed-off-by: Cedric GESTES <ctaf42@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 13:32:42 +02:00
Sébastien Gross 6511042f82 client: Fix get_client_in_direction
Both is_in_direction() and calculate_distance() expect clients
instead of geometries.

Signed-off-by: Sébastien Gross <seb•ɱɩɲʋʃ•awesome•ɑƬ•chezwam•ɖɵʈ•org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 13:31:28 +02:00
Gregor Best aca7afd519 awful.wibox: fix position for right and bottom
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-02 10:34:20 +02:00
koniu 1b7c822ed3 awful.prompt: word delete splits by separators
Instead of separating only by spaces we also look for:

   { [ ( , . : ; _ - + = @ /

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-01 14:24:13 +02:00
koniu 2b0de2f23e awful.prompt: reset 'selectall' correctly
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-01 14:24:12 +02:00
koniu 4c835b5ef9 awful.prompt: add 'font' to run() args
Also changes prompt_text_with_cursor() to take a table instead of
list of arguments allowing to incorporate font setting and
'prettyprompt' settings into the function.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-01 14:24:11 +02:00
Julien Danjou d8fae99de1 awful.titlebar: add signals for various properties (FS#609)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 11:17:40 +02:00
koniu 8ff69e3529 awful.tag: add viewtoggle function
Helper function to toggle tag selection whilst updating history.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 10:44:34 +02:00
koniu 529502ffbf awful.tag: fix and improve tag history
This fixes a long standing tag history breakage. To store history
of tag switching we rely on a special signal "tag::history::update"
which needs to be emitted by any function which deals with tag
selection.

History is multi-level with a configurable limit:
awful.tag.history.limit = 20 (by default).

awful.tag.history.restore function gets a new argument 'idx' which can
be either 'previous' (default) which will revert to the previously
selected set of tags, or a numerical index in the tag history table.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 10:44:33 +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 95f3f8bdf9 telak: fix new proto and update description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 17:02:16 +02:00
Julien Danjou f04ba72908 awful.tag: enhance description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:40:01 +02:00
Julien Danjou 1029a3cb69 awful.remote: enhance description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:36:34 +02:00
Julien Danjou d9fff4da2c awful.placement: enhance description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:35:51 +02:00
Julien Danjou 642a3f454b awful.menu: enhance description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:34:52 +02:00
Julien Danjou c9085905e8 awful.hooks: deprecate in description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:34:03 +02:00
Julien Danjou 91806b03ac awful.dbus: enhance description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:33:18 +02:00
Julien Danjou 8b1b894cdf awful.completion: enhance description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:32:38 +02:00
Julien Danjou 905dddafe6 awful.client: fix direction functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:31:16 +02:00
Julien Danjou a14e9eb18d awful.{button,key}: enhance documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 15:26:41 +02:00
Gregor Best 523fcb1690 widget.layout.horizontal: fix y coordinate
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 17:06:13 +02:00
Julien Danjou 69999fee93 awful.widget.prompt: change ellipsize to start
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 14:45:42 +02:00
Julien Danjou 107f1cf1dc widget.layout.horizontal: simplify .resize handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 14:37:18 +02:00
Cedric GESTES ddc159f57e rules: add a switchtotag rule to select the tag after setting it for a client
Signed-off-by: Cedric GESTES <ctaf42@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 14:01:07 +02:00
Julien Danjou f32e6a9b13 awful.widget.tasklist: add label.focused (FS#595)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 11:21:32 +02:00
Cedric GESTES 36180b9a41 tasklist: update tasklist when a client is hidden
Signed-off-by: Cedric GESTES <ctaf42@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 11:08:57 +02:00
Uli Schlachter ab6cd898c1 awful.widget: Don't use a resizable imagebox
awful.widget.graph and progressbar both create an imagebox. The default is
resize = true which means the image is scaled up inside the wibox if
:set_height() is used.

Setting widget.resize = false avoids this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 11:08:14 +02:00
Uli Schlachter ac60bbd147 progressbar: set_value() should update()
set_value() didn't call update() and thus had no visible effect on the
progressbar.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 11:04:18 +02:00
Uli Schlachter 1c57970dd9 awful.widget.{graph,progressbar}: Un-local functions
This code accesses these functions via _M['set_height'], but if these are local
functions they aren't available this way. Un-local-ing helps here.

This was noticed by anrxc when he set a widget's height to 0.9. These functions
should have caught this invalid height and ignore it, but because they weren't
actually used this error checking was bypassed.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 11:04:05 +02:00
Cedric GESTES cbaefeed9d rules: accept rule if regexp is ok or value is equal
correct problem matching expression with - or special regexp character

Signed-off-by: Cedric GESTES <ctaf42@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 10:58:58 +02:00
Uli Schlachter 023a216f67 awful.client: Emit correct signal
When awful.client.property.set() was called it always emitted property::floating
on the client. Instead it should emit propert::<name of the property> of course!

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 10:54:05 +02:00
Gregor Best efbba53507 awful.client: fix local function idx
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 10:53:31 +02:00
koniu 105a4ce41f naughty: fix margin when using icon
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-26 09:14:57 +02:00
Julien Danjou a71c5efd10 awful.util: pread return error
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 20:16:48 +02:00
koniu 58eb27a99b naughty: port sizing to the new widget margin code
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 19:17:18 +02:00
Julien Danjou 5f43d178f7 awful.menu: use iconbox widget rather than bg_image
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 18:13:19 +02:00
Julien Danjou 53ca058ebb awful.widget.layout: add support for margins
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 16:42:54 +02:00
Julien Danjou 8389b8c5d6 awful.hooks: deprecate
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 16:28:59 +02:00
Gregor Best df07681109 awful.tag: fix viewidx()
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 14:49:53 +02:00
Julien Danjou 8ec1f4f49c awful.rules: set focus as last property
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 11:40:35 +02:00
koniu 312355416f awful.autofocus: restore focus on hide/minimize
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 09:52:33 +02:00
koniu 194f6b2050 naughty: fix hover_timeout
Fixes regression since e899ca7696.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 09:48:44 +02:00
Julien Danjou af5037104c awful.rules: document matching, support non-string rules
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 16:43:00 +02:00
Julien Danjou e293a69982 screen: move the tagging on screen change to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 16:32:19 +02:00
Julien Danjou 6d65106c36 awful.rules: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 16:27:28 +02:00
Julien Danjou 6bad89fc2c awful.client: movetotag() move client to the screen tag
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 16:09:56 +02:00
Julien Danjou 62d0d08caf awful.titlebar: set correct height
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 11:49:05 +02:00
Julien Danjou e298353583 awful.tag: view{next,prev} take screen as argument
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 08:31:44 +02:00
Julien Danjou c43e40c05b awful.widget.tasklist: fix double signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-22 15:04:34 +02:00
Julien Danjou 2b68f6df5e awful.widget.taglist: refresh on tag name changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 21:29:56 +02:00
Julien Danjou ba8ca594e8 beautiful: be safer with dofile()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 21:26:50 +02:00
Julien Danjou b3214e589e Partial revert of "awful.client: use signal and geometry attributes"
Partial revert of 1da49640b5.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 21:15:19 +02:00
Julien Danjou e25a8ba6f4 awful.widget.tasklist: fix hide usage
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 21:03:57 +02:00
Christopher Eatinger 933c958220 awful.screen.focus: Prevent focusing a screen that doesn't exist
Signed-off-by: Christopher Eatinger <christopher.eatinger@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 21:01:06 +02:00
Julien Danjou f848fb7844 wibox: update strut on visible change
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 20:04:29 +02:00
Julien Danjou 973b19aba0 awful.menu: fix default key handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 16:35:12 +02:00
Julien Danjou 435716af73 awful.menu: allow more keys than only one in menu bindings
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 16:28:55 +02:00
Julien Danjou 0f6125a3f6 awful.screen.focus: make focus() absolute and add focus_relative()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 16:05:02 +02:00
Julien Danjou 42c47eecce beautiful: init default theme by default
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:54:14 +02:00
Julien Danjou a800696a65 awful.tag: add a new() helper function
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:50:01 +02:00
Julien Danjou 630748ef61 awful.menu: only listen mouse::enter on wibox
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou 2fda9f5a2e naughty: fix timeout = 0
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou 2d72e2477f awful.autofocus: import and use
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou 1692496fce awful.widget.taglist: use attached_add_signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou c66be3aa82 awful.widget.tasklist: use attached_add_signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +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 d7a961175f awful.widget.layoutbox: use attached_add_signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou 121a229492 awful.tag: add attached_add_signal()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou 282cd0b3ca awful.wibox: do not arrange when changing attribute
awful.layout now listen for workarea size changes.

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 5e2fbb3684 awful.wibox: update struts on size change
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou ff906a8529 awful.wibox: update position on border_width change (FS#563)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +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 7e92901d76 awful.widget.layoutbox: use signals rather than hooks
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 974272ee4d awful.titlebar: replace hooks by signals
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 85b3dedb60 naughty: remove useless hooks
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 1da49640b5 awful.client: use signal and geometry attributes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 84839d456d wibox: port to new object system
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
Julien Danjou b58d0f848a client: emit signal on unmanage
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 7954f19417 client: emit signal on manage
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 2f93980ff8 awful.widget.common: fix buttons
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 9c40168f02 widget: emit signals on mouse enter and leave
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 27fd05320e button: use new object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou 4871dbb1aa button, key: emit events
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou c353970500 client: emit signal on unfocus
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-20 10:39:18 +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 bbb61d027a awful.hooks: derepcate timer hook
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:50:10 +02:00
Julien Danjou f554060ffe telak: use timer
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:50:07 +02:00
Julien Danjou e899ca7696 naughty: use timer
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:50:04 +02:00
Julien Danjou 1c8be5b620 invaders: use timer
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:49:59 +02:00
Julien Danjou 8de5075412 awful.widget.textclock: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:49:38 +02:00
Julien Danjou 84182466e0 spawn: move sn hooks to signals
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:47:55 +02:00
Julien Danjou c505f2d2e7 dbus: remove useless require hooks
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 15:37:29 +02:00
Julien Danjou 073e0377dd Revert "key, button: use as simple table"
This reverts commit d7454f4307.

Conflicts:

	button.h
	key.h
	lib/awful/titlebar.lua.in
	lib/naughty.lua.in
	wibox.c
	wibox.h
	widget.c
2009-08-14 16:48:52 +02:00
Julien Danjou 32e61fccd0 awful.mouse: remove useless hooks requirement
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-11 11:09:44 +02:00
Julien Danjou 599f135e9b tabulous: remove
This module is not maintained, so removing.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-11 10:49:15 +02:00
Uli Schlachter f93c91cd1b lib.awful.widget: Return obj in set_* methods
This change enables stuff like the following:

 awful.widget.graph({}):set_color("red"):set_width(40):add_value(0.5)

Additionally, one can use the above directly in th widgets table.

This most likely doesn't break any existing configs and it adds a quite nice
syntax which can be used for in-place configuration of new widgets.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-09 14:15:31 +02:00
koniu 8b36cb7ce4 awful.completion: sort matches
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-09 14:14:46 +02:00
koniu cebf7bc762 naughty: fix size/position messup on arrange
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-08 13:09:03 +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 6ca1732683 titlebar: fix titlebar buttons
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-05 09:34:56 +02:00
Gregor Best 62e73e9eaf titlebar: fix modkey for buttons
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-05 09:34:55 +02:00
Julien Danjou ec5ae3dfb8 imagebox: remove valign
This is not used anymore in rendering.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-04 14:31:21 +02:00
Julien Danjou 43184279e5 awful.wibox: add support for % width/height and align attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-31 11:34:52 +02:00
Julien Danjou 299bc00286 dbus: move to signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 16:10:29 +02:00
Uli Schlachter 51dc458fb9 Naughty: Remove some code duplication
2b69d333f8 added some code duplication here. I guess this was a
mis-rebase or something like that. Anyway, the width and height of the wibox is
already calculated right before this code snippet and the existing calculation
is even correct (now that the calculation for a wibox' geometry with
border_width was fixed up).

Tested via notify-send with and without icon.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:19:48 +02:00
Uli Schlachter 1de7fdfe60 Naughty: Fix the text margin
No idea where this comes from or why it worked before, but it's obviously wrong.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:19:44 +02:00
Julien Danjou caa20c51e1 awful.wibox: fix computing with border width
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 12:35:26 +02:00
Julien Danjou d7454f4307 key, button: use as simple table
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:44:54 +02:00
Julien Danjou 8c08fffaa9 awful.widget: abuse new object item system
We do not need this since we store all Lua refs into env table of
objects.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:41:07 +02:00
Uli Schlachter 86cfe51540 Add an awful functions for rounded corners
This uses hexadecimal colors, because named colors require a round trip to the X
server and are thus slower. :(

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 14:23:59 +02:00
Gregor Best 0d39054217 widget.graph/progressbar: add layout parameter to new()
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 11:07:05 +02:00
Gregor Best 7c78e91a5b titlebar: add widget layout support
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:55 +02:00
Gregor Best 50ee299aef invaders: add support for widget layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:54 +02:00
Gregor Best ea618d3688 awful.menu: add support for widget layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:53 +02:00
Gregor Best 2b69d333f8 naughty: add support for widget layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:53 +02:00
Gregor Best 2820e5f2e8 awful.widget: add layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:51 +02:00
Julien Danjou 18e96e360d awful.menu: add __call on module
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-15 15:57:31 +02:00
Gregor Best fb68558b2f awful.client: call property hook on wfact change
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-15 09:42:08 +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
Gregor Best 9cd29814f0 awful.util: add table.clone
This is useful because tables get passed by reference instead of by
value, so we might end up modifying tables where we don't want it.

Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Gregor Best 7a7314e068 awful.util: add table.reverse
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Gregor Best b5fadb97cf awful.util: add table.keys_filtered
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Gregor Best f337b88a73 awful.util: add table.keys
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Uli Schlachter 855e2b9cdf Make awful.widget.graph work with zero values
First, we need to actually draw values which are zero, else the background
"shines through". Since this breaks the border (it draws over the border),
drawing the border needs to be done later.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-06 10:05:15 +02:00
Evan McClain 2cb34a30f2 awful.widget.progressbar: fix vertical gradient rendering
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-23 22:02:32 +02:00
Julien Danjou a4209dc159 awful.util: fix typo in spawn description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-22 17:45:20 +02:00
Julien Danjou cbff5fe9dd awful: split D-Bus name from awesome
awful uses its own namespace in D-Bus

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 20:52:40 +02:00
Jonny Lamb 88be323e4a dbus: Use org.naquadah.awesome instead of org.awesome.
http://dbus.freedesktop.org/doc/dbus-specification.html#naming-conventions

Signed-off-by: Jonny Lamb <jonny@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 20:42:28 +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 24ca38f751 awful.tag: do not use arrange hooks
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:43:41 +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 afbf72fc49 awful.client: call property hook on each prop change
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:43:20 +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 ca777201a7 awful.widget.layoutbox: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:42:57 +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
Uli Schlachter 22ac877f46 awful.widget.graph: Add a "scale" property
If this is set to true (default is false), then the graph widget automatically
scales its content to make it fit exactly. If "max_value" is also set, this is
the minimum "height" the graph will use.

This can be useful for graphes which monitor things like network bandwidth
which can vary a lot.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-09 10:59:01 +02:00
Uli Schlachter 26f1904bc7 awful.widget.graph: Add a max_value option
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-09 10:58:14 +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
Uli Schlachter 8701792b83 awful.wibox: honour user specified geometries
If a wibox with non-north position was created and a wibox size was specified,
this function happily ignored it when it made the wibox fit.

Thanks to Garoth who found this bug.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-06 22:33:25 +02:00
Uli Schlachter 4b27986680 Minor fixes
Remove an unused var and fix a reference to capi.awesome

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-06 20:20:44 +02:00
Gregor Best 206488ba3e awful.mouse: fix wibox.move()
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-06 20:13:47 +02:00
Gregor Best 8f0c6c5979 awful.wibox(): correctly handle position changes
This patch fixes a bug and changes the position handling for wiboxes:

The bug was that awful.wibox.set_position() didn't update the cached
wibox position, i.e. the wibox was moved, but the position value in the
wiboxes table stayed the same

The change in position handling was that unknown positions (i.e.
"fnord") default to "floating"

Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-06 20:13:42 +02:00
koniu 3c08a7621b awful.tag: viewidx ignores hidden tags
This prevents viewprev/viewnext from cycling to tags not shown in the
taglist.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-05 14:45:04 +02:00
koniu eae6b8066f awful.widget.taglist: support for 'hide' property
This allows setting 'hide' property for a tag to prevent it from
showing in the taglist.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-05 14:44:58 +02:00
koniu 7f828b5db3 awful.util: add linewrap()
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-05 14:44:47 +02:00
koniu e69f80caf6 client: allow setting skip_taskbar
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-05 14:33:16 +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 0c564079b5 wibox: add property hook on screen and visible changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:07 +02:00
koniu 2920ed71d7 naughty: environment cleanup
Makes naughty environment handling same as awful modules:
- relevant capi members all go to local capi = {}
- relevant awful members are all explicitly required

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:23:52 +02:00
koniu d397d72a8d naughty: simplify width/height calculations
This also fixes an issue with spacing calculation which previously
disregarded border_width.

Signed-off-by: koniu <gkusnierz@gmail.com>
2009-06-04 17:23:46 +02:00
koniu 4d60ad7e36 naughty: simplify notify and preset parameters
This makes all parameters available to notify() to be available in
preset table (and vice versa) and simplifies value selection.

Adds new config option: config.default_preset.

Also cleans up some comment redundancy.

Signed-off-by: koniu <gkusnierz@gmail.com>
2009-06-04 17:23:43 +02:00
koniu 80685be123 naughty: add vertical margin
Signed-off-by: koniu <gkusnierz@gmail.com>
2009-06-04 17:23:38 +02:00
Gregor Best a4de60b23f naughty: resize naughtifications to the minimum needed space
This commits adds support for :extents() to naughty. It changes the
behaviour of naughty.config.presets.*.width so that if it's set to nil,
the notification gets resized automagically. Else the value of width is
used for the notification's width.
The meaning of naughty.config.presets.*.height changed similarly, now,
if set, it means the literal height of the notifications. If unset, the
notification gets resized automagically as well.

Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:23:34 +02:00
Julien Danjou 348a4dca19 awful.widget.graph: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:23:10 +02:00
Julien Danjou 90516497a3 awful.widget.progressbar: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:23:02 +02:00
Julien Danjou 42afd9636f awful.completion: remove deprecated function from 3.3
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:19:44 +02:00
Julien Danjou 42fdee57a2 Revert "client, mouse: improve struts a bit"
This reverts commit 47efde17f5.

Conflicts:

	lib/awful/mouse.lua.in
	screen.c
2009-05-25 15:26:13 +02:00
Julien Danjou fba4accc14 Revert "client: handle struts (a lot) better"
This reverts commit 264a81f3fb.

Conflicts:

	client.c
	client.h
	lib/awful/mouse.lua.in
	screen.c
	structs.h
	wibox.c
2009-05-25 15:17:57 +02:00
Julien Danjou b546328ae9 lib: stop using unpack where not needed
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-25 11:14:08 +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
Uli Schlachter f931e0cb8e Get the shell for spawn_with_shell earlier
My local config got a module which denies functions from adding new functions
to the global context or to a module's local context. I use this for catching
typos (think misspelled variable names).

This patch "fixes" a false-positive which was caused by this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-05-10 10:47:22 +02:00
Julien Danjou 70dffba6b1 awful.startup_notification: unregister events on time out
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-09 16:03:41 +02:00
koniu 35cd125ebd naughty: fix bug in re-indexing popups if removing older to make space
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 14:41:17 +02:00
Julien Danjou 5039c24ed0 ta{g,sk}list: fix memory leak on removal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 14:39:06 +02:00
Julien Danjou 95180799cc button: change copy method
We know also copy release.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 14:00:43 +02:00
Julien Danjou fe35104bc2 awful.widget: add support for __call on ta{g,sk}list widgets
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 11:59:38 +02:00
koniu 3849e6d747 awful.prompt: fix delete
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 07:58:46 +02:00
Vincent Mauge d1e9c0d5e9 Remove useless loop in hide()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-07 08:27:30 +02:00
Ali Polatel 3fca4e0677 awful.widget.taglist: Fix label.all()
awful.util.escape() may return nil

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-04 16:39:01 +02:00
Julien Danjou 34802872b2 awful.{button,key}: fix @see
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-01 15:37:17 +02:00
koniu 97863c1f08 awful.titlebar: allow titlebar_font in themes
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-01 13:11:57 +02:00
Julien Danjou e584da44ae awful.menu: set some vars as local
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-30 02:12:23 +02:00
Julien Danjou 2b0d3f6ab2 awful.util: add spawn_with_shell (FS#515)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-30 00:41:28 +02:00
koniu 4400f1234d awful.tag: fix typo
Adds a missing dash in comments to show history.restore in apidoc.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 15:09:02 +02:00
Julien Danjou e43d2b76ef awful.titlebar: fix buttons bindings
A recent commit change and fix what was pushed upon click on widget.
We used to get only wibox (bug) but now we get widget, wibox.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 15:05:23 +02:00
Julien Danjou d2be74e1fe beautiful: set metatable correctly
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 22:56:18 +02:00
Julien Danjou 79a53769de awful.key: fix modifiers matching
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 22:48:24 +02:00
Julien Danjou 8629522884 awful.key: fix modifier comparison in match()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 20:02:10 +02:00