~psychon/awesome-www/src/.git
5 months agochange codename origin/HEAD origin/master v3.5-rc1
Uli Schlachter [Sat, 24 Nov 2012 13:51:33 +0000 (14:51 +0100)]
change codename

Signed-off-by: Uli Schlachter <psychon@znc.in>

5 months agoMenubar: Expose the wm_name attribute master
Ignas Anikevicius (gns_ank) [Thu, 22 Nov 2012 11:11:47 +0000 (11:11 +0000)]
Menubar: Expose the wm_name attribute

This commit makes it possible to change the wm_name attribute, which
means that programs can be shown/hidden according to the wishes of the
user.

Possible usecase: A user is using Gnome and Awesome together, but sinc
wm_name by default is awesome, all the apps shipped with GNOME DE are
hidden by default. Changing wm_name attribute in this case would solve
the issue.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

5 months agoscreen: Ignore RANDR displays in clone mode (FS#1046)
Uli Schlachter [Wed, 21 Nov 2012 21:08:12 +0000 (22:08 +0100)]
screen: Ignore RANDR displays in clone mode (FS#1046)

This just makes the code for ignoring screens on Xinerama apply to RANDR screens
as well. The code now also applies to protocol screens, but there is only ever a
single one of those, so nothing should change here.

Signed-off-by: Uli Schlachter <psychon@znc.in>

5 months agodbus: Fix event handling
Uli Schlachter [Wed, 21 Nov 2012 21:05:15 +0000 (22:05 +0100)]
dbus: Fix event handling

The port to glib failed to actually watch the file descriptor for events and
thus awesome silently ignored all dbus messages. My bad.

Signed-off-by: Uli Schlachter <psychon@znc.in>

5 months agoUse glib instead of libev
Uli Schlachter [Wed, 21 Nov 2012 20:01:12 +0000 (21:01 +0100)]
Use glib instead of libev

This commit ports awesome from libev to the glib main loop. This means that
awesome has fewer dependencies, because we were already depending on glib before
and now no longer need glib.

However, the main reason for this change is that, thanks to lgi, we have glib
bindings for lua. This means that lua code can add all kinds of event sources to
the main loop (timeouts, fd watchers, SIGCHLD watchers, ....). Yay

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoluadoc: Fix a typo for awesome.release
Uli Schlachter [Mon, 19 Nov 2012 17:56:46 +0000 (18:56 +0100)]
luadoc: Fix a typo for awesome.release

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoawful.client.toggletag: Use tag.getscreen()
Uli Schlachter [Mon, 19 Nov 2012 17:56:18 +0000 (18:56 +0100)]
awful.client.toggletag: Use tag.getscreen()

Thanks to muni for reporting this bug.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoFix warnings from LDoc
Uli Schlachter [Mon, 19 Nov 2012 14:35:32 +0000 (15:35 +0100)]
Fix warnings from LDoc

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoUse LDoc instead of Luadoc (FS#1006)
Uli Schlachter [Mon, 19 Nov 2012 13:57:47 +0000 (14:57 +0100)]
Use LDoc instead of Luadoc (FS#1006)

Since we are no longer using module(), luadoc no longer understands our modules.
With this commit we use LDoc instead which seems more modern.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoluadoc/: Remove luadoc hacks
Uli Schlachter [Mon, 19 Nov 2012 13:55:57 +0000 (14:55 +0100)]
luadoc/: Remove luadoc hacks

LDoc doesn't need any of this and actually breaks due to it.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoLots of random documentation fixes
Uli Schlachter [Mon, 19 Nov 2012 13:09:10 +0000 (14:09 +0100)]
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>

6 months agoAlso make gears.object more object-y
Uli Schlachter [Mon, 19 Nov 2012 12:40:37 +0000 (13:40 +0100)]
Also make gears.object more object-y

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agowibox: Make the functions a little more object-y
Uli Schlachter [Sun, 18 Nov 2012 19:44:03 +0000 (20:44 +0100)]
wibox: Make the functions a little more object-y

This replaces lots of function foo.bar(this, ...) with function foo:bar(...).
There should be no other changes in this commit.

The point is to make it easier for api documentation tools to figure out that
these are methods on objects.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agonaughty: Correctly handle rowstride on icons
Uli Schlachter [Sat, 17 Nov 2012 20:37:40 +0000 (21:37 +0100)]
naughty: Correctly handle rowstride on icons

The notification spec allow sending icons as data with a dbus message. The
rowstride for this can be set which means there can be bytes after each row of
icon data which must be ignored.

Before this commit, naughty wasn't properly ignoring these garbage bytes which
resulted in weird notifications.

Thanks to dadrc for reporting that gmusicbrowser's notifications didn't work.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoFixed bounding shape size to take into account border size.
Jeremy Bethmont [Mon, 12 Nov 2012 16:20:11 +0000 (17:20 +0100)]
Fixed bounding shape size to take into account border size.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agofix awful.util.table.join if first arg is null (#1052)
uzsolt [Sun, 11 Nov 2012 14:01:02 +0000 (15:01 +0100)]
fix awful.util.table.join if first arg is null (#1052)

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoFixed window gaps in the "fair" tiling mode.
Josh Komoroske [Mon, 5 Nov 2012 23:57:59 +0000 (18:57 -0500)]
Fixed window gaps in the "fair" tiling mode.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoFix a bug when switching fullscreen mode
Uli Schlachter [Fri, 9 Nov 2012 17:50:38 +0000 (18:50 +0100)]
Fix a bug when switching fullscreen mode

The code assumed that a window gets resized when it enters/leaves the fullscreen
mode. This was needed because the code for resizing a window hides and shows the
titlebars.

However, it is possible for a window to enter/leave fullscreen mode without
getting resized, because it already has the correct geometry. In this case,
titlebars were not handled correctly.

This commit fixes that by forcing a resize to the current geometry when the
fullscreen flag is toggled.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoclient: Re-add shape support
Uli Schlachter [Tue, 6 Nov 2012 19:51:54 +0000 (20:51 +0100)]
client: Re-add shape support

Same reasoning as for the recent commit which adds these to drawins.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agodrawin: Correctly set window shape
Uli Schlachter [Tue, 6 Nov 2012 19:43:05 +0000 (20:43 +0100)]
drawin: Correctly set window shape

Thanks to "rnoway" (aka Arnaud?) for noticing my typo.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoDrawin: Re-add shape support
Uli Schlachter [Mon, 5 Nov 2012 16:56:56 +0000 (17:56 +0100)]
Drawin: Re-add shape support

Commit 03e0ee53d2b1f2e7bac removed window shapes, because at the time I was too
lazy to port them from the old image system to oocairo.

This commit re-adds them, but for now only as a way to set the shape.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoawful.tooltip: Update geometry in set_text (FS#956)
Uli Schlachter [Sun, 4 Nov 2012 20:53:38 +0000 (21:53 +0100)]
awful.tooltip: Update geometry in set_text (FS#956)

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoFix fullscreen windows
Uli Schlachter [Sun, 4 Nov 2012 20:35:32 +0000 (21:35 +0100)]
Fix fullscreen windows

Fullscreen windows only worked on a screen which had x and y coordinates 0.
Otherwise, the window inside the frame window was completely misplaced.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agowibox.drawables: Fix a memleak
Uli Schlachter [Sat, 3 Nov 2012 18:43:31 +0000 (19:43 +0100)]
wibox.drawables: Fix a memleak

Drawables could never be garbage-collected, because of the "wallpaper_changed"
signal. The callback function for this signal kept a strong reference to the
drawable.

Fix this by putting all drawable's draw() methods into a weakly keyed tabled so
that the strong reference to them disappears.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoHide titlebars on fullscreen clients
Uli Schlachter [Sat, 3 Nov 2012 18:34:16 +0000 (19:34 +0100)]
Hide titlebars on fullscreen clients

Fullscreen clients shouldn't be decorated, thus hide titlebars on those.

This commits assumes that clients get resized when they enter or leave the
fullscreen state. I don't think that this assumption is necessarily true, but
let's just wait for bug reports. :-)

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoEnlarge clients when adding titlebars
Uli Schlachter [Sat, 3 Nov 2012 17:44:44 +0000 (18:44 +0100)]
Enlarge clients when adding titlebars

Previously, the area of the window that the client could draw to got smaller
when titlebars are added. This causes all sorts of odd-looking effects, so
instead this should enlarge the window suitably.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoawful.icccm: Handle titlebars
Uli Schlachter [Thu, 1 Nov 2012 12:52:59 +0000 (13:52 +0100)]
awful.icccm: Handle titlebars

Size hints should be applied to the "real" client geometry. That means the area
taken by titlebars should be ignored.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoRemove unused signal property::widgets
Uli Schlachter [Wed, 31 Oct 2012 21:24:23 +0000 (22:24 +0100)]
Remove unused signal property::widgets

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoawful.client: Convert another t.screen to awful.tag.getscreen()
Uli Schlachter [Wed, 31 Oct 2012 21:13:30 +0000 (22:13 +0100)]
awful.client: Convert another t.screen to awful.tag.getscreen()

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agolib/wibox: Make signals from drawables available
Uli Schlachter [Wed, 31 Oct 2012 21:12:30 +0000 (22:12 +0100)]
lib/wibox: Make signals from drawables available

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoSend correct geometry in ConfigureNotifies
Uli Schlachter [Mon, 29 Oct 2012 09:20:03 +0000 (10:20 +0100)]
Send correct geometry in ConfigureNotifies

The code was sending out ConfigureNotify events which contained the size of the
frame window. Thus, the client assumed that it is was larger than it actually
was.

Fix this by subtracting the size of the titlebars from the geometry for the
event.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agorc.lua: Resize clients via the titlebar
Uli Schlachter [Mon, 29 Oct 2012 08:46:56 +0000 (09:46 +0100)]
rc.lua: Resize clients via the titlebar

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agodrawin: Update the drawable's geometry on move
Uli Schlachter [Fri, 26 Oct 2012 19:11:27 +0000 (21:11 +0200)]
drawin: Update the drawable's geometry on move

We only need to update a drawin's drawing related resources when its size
changes. Thus, when a drawin is just moved, drawin_update_drawing() is not
called. However, this function was used for telling the drawin's drawable about
its geometry. This means that the drawable had an outdated idea about what its
geometry was.

Fix this by making sure to always call drawable_set_geometry().

Thanks to Javafant for reporting this bug on IRC.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agocapi.screen[scr]:tags() doesn't exist anymore
dodo [Thu, 25 Oct 2012 16:41:00 +0000 (18:41 +0200)]
capi.screen[scr]:tags() doesn't exist anymore

awful.tag.gettags(scr) does now the job

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agotag.screen doesn't exist anymore
dodo [Thu, 25 Oct 2012 16:39:19 +0000 (18:39 +0200)]
tag.screen doesn't exist anymore

awful.tag.getscreen(tag) returns now the tag's screen index

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoFix a bug when using in a rule the property 'tag'.
Clément Démoulins [Thu, 25 Oct 2012 23:26:59 +0000 (01:26 +0200)]
Fix a bug when using in a rule the property 'tag'.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoAdd "-colorspace rgb" to our ImageMagick calls
Uli Schlachter [Wed, 24 Oct 2012 16:09:55 +0000 (18:09 +0200)]
Add "-colorspace rgb" to our ImageMagick calls

The old PNGs that were generated caused a warning from libpng when they were
read:

    incorrect gamma=(0/100000)
    Ignoring incorrect gAMA value when sRGB is also present

This changes the look of the resulting icons by making them darker. However,
right now I just want to get rid of that stupid warning. Feel free to suggest
better options.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoDon't let Xlib own the event queue
Uli Schlachter [Wed, 24 Oct 2012 13:22:52 +0000 (15:22 +0200)]
Don't let Xlib own the event queue

Since commit 531f8b415c65e97, we are using Xlib for our X11 connection. However,
we still use XCB for event processing. This means we actually have to tell Xlib
to leave all events alone.

This might fix FS#1047. Perhaps.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoawful.titlebars: Implement
Uli Schlachter [Tue, 23 Oct 2012 18:32:59 +0000 (20:32 +0200)]
awful.titlebars: Implement

This commits adds the necessary lua code so that we finally can have titlebars.
As the baseline for the needed functionality, the titlebar code in awesome 3.4
and a quick poll on the mailing list were used.

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoClient: Properly get rid of titlebars on unmanage
Uli Schlachter [Tue, 23 Oct 2012 08:17:29 +0000 (10:17 +0200)]
Client: Properly get rid of titlebars on unmanage

Signed-off-by: Uli Schlachter <psychon@znc.in>

6 months agoTags: Remove screen property
Uli Schlachter [Sat, 20 Oct 2012 15:33:32 +0000 (17:33 +0200)]
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>

7 months agoawful.tag.attached_connect_signal: Simplify
Uli Schlachter [Sat, 20 Oct 2012 15:35:09 +0000 (17:35 +0200)]
awful.tag.attached_connect_signal: Simplify

Signals are emitted on individual objects and on the class for a while now. This
can be used to simplify this function a lot.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoAdded a functions for getting all tags on a screen
Uli Schlachter [Sat, 20 Oct 2012 14:34:06 +0000 (16:34 +0200)]
Added a functions for getting all tags on a screen

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agodrawable: Add property::surface
Uli Schlachter [Sat, 20 Oct 2012 20:51:52 +0000 (22:51 +0200)]
drawable: Add property::surface

This new property is used for fixing some missing redraws that the old code had.
Those could be seen via awful.menu. Open and close a submenu repeatedly and the
submenu will appear black.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoluaA_window_get_opacity: Always return a number
Uli Schlachter [Fri, 19 Oct 2012 11:10:13 +0000 (13:10 +0200)]
luaA_window_get_opacity: Always return a number

What's the point of distinguishing between "opacity 1" and "no opacity set"?
This commit makes awesome handle both cases identically.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoUse gdk-pixbuf instead of Imlib2 (FS#1028)
Uli Schlachter [Tue, 16 Oct 2012 18:02:56 +0000 (20:02 +0200)]
Use gdk-pixbuf instead of Imlib2 (FS#1028)

There are two reasons for this switch:

- gdk-pixbuf is smaller
- gdk-pixbuf supports SVGs

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoAdd titlebars on the C side
Uli Schlachter [Sun, 14 Oct 2012 15:20:24 +0000 (17:20 +0200)]
Add titlebars on the C side

This commit makes it possible to add titlebars to a client. These titlebars are
drawables.

The drawin's input handling is moved to the drawable. This allows it to use the
same code for drawin and titlebar input handling, although there are lots of
differences between the two on the C side.

On the lua side, a new wibox.drawable module is created which handles all the
drawable-specific magic and which can also be used for titlebars.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoIntroduce drawables
Uli Schlachter [Sun, 14 Oct 2012 15:14:22 +0000 (17:14 +0200)]
Introduce drawables

A drawable is something that you can draw to, just like a drawin. However, a
drawable isn't necessarily its own windows. This will later on be used to
implement titlebars where the titlebars are drawables.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agodraw.h: Include lua.h
Uli Schlachter [Sun, 14 Oct 2012 15:03:00 +0000 (17:03 +0200)]
draw.h: Include lua.h

This header uses lua_State*, but doesn't actually include lua.h

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agogears.object: Give better error messages
Uli Schlachter [Sun, 14 Oct 2012 14:58:54 +0000 (16:58 +0200)]
gears.object: Give better error messages

It helps a lot to know which signal does not exist. That should make it a lot
easier to look for the "guily" code without having to resort to the backtrace.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoAdd x11-xcb to the pkg-config checks
Uli Schlachter [Sun, 7 Oct 2012 14:48:41 +0000 (16:48 +0200)]
Add x11-xcb to the pkg-config checks

This is needed for XGetXCBConnection().

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoAdded initial support for Xlib cursor themes
Tumin Alexander [Sat, 6 Oct 2012 15:40:11 +0000 (19:40 +0400)]
Added initial support for Xlib cursor themes

I hope this time i got all right with git format-patch.

Signed-off-by: Tumin Alexander <iamtakingiteasy@eientei.org>
Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoFixes module namespace issues in screen.lua and client.lua
Abdó Roig-Maranges [Fri, 28 Sep 2012 21:53:58 +0000 (23:53 +0200)]
Fixes module namespace issues in screen.lua and client.lua

The wrong module names were introduced in commits:
0e2960ebf372507017d6dba4e573c28dbd028478 and
d799ac76aa9d182abc4d80810e4c552e6e4d7e17.

Once fixed, client.lua and screen.lua mutually require each other, so we must
use a trick, and load the modules inside the functions that need them.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoMakes awful.screen.focus keep the cursor position on screen
Abdó Roig-Maranges [Fri, 14 Sep 2012 18:14:22 +0000 (20:14 +0200)]
Makes awful.screen.focus keep the cursor position on screen

When changing focus to an other screen, awful.screen.focus keeps relative
position of the cursor, instead of moving to the top left corner. Does not
trigger mouse:enter and mouse:leave signals.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoFunctions to change client focus by direction across screens
Abdó Roig-Maranges [Fri, 14 Sep 2012 23:11:33 +0000 (01:11 +0200)]
Functions to change client focus by direction across screens

Added functions awful.client.focus.global_bydirection and
awful.client.swap.global_bydirection, that change focus and swap clients,
crossing screen boundaries.

Also modified awful.client.movetoscreen. Now calls awful.screen.focus.

Signed-off-by: Uli Schlachter <psychon@znc.in>

7 months agoAdded function to change screen focus by direction
Abdó Roig-Maranges [Fri, 14 Sep 2012 19:49:14 +0000 (21:49 +0200)]
Added function to change screen focus by direction

The function awful.screen.focus_bydirection changes the screen focus
according to physical position. The code is based on
awful.client.focus.bydirection.

Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agomake naughty catch appname from DBUS messages
Abdó Roig-Maranges [Fri, 14 Sep 2012 13:20:26 +0000 (15:20 +0200)]
make naughty catch appname from DBUS messages

Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agoMakes awful.client.restore return the restored client
Abdó Roig-Maranges [Fri, 14 Sep 2012 12:32:06 +0000 (14:32 +0200)]
Makes awful.client.restore return the restored client

If some client is restored, returns it, otherwise returns nil.

Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agomenubar: Make prompt configurable
Alexander Yakushev [Mon, 3 Sep 2012 23:45:18 +0000 (02:45 +0300)]
menubar: Make prompt configurable

Add a parameter to configure menubar's prompt.

Signed-off-by: Alexander Yakushev <yakushev.alex@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agomenubar: Make some parameters configurable again
Alexander Yakushev [Mon, 3 Sep 2012 23:48:03 +0000 (02:48 +0300)]
menubar: Make some parameters configurable again

After the rewrite from modules they ended up being local, but should
be available to user externally.
Also remove unnecessary local context bindings.

Signed-off-by: Alexander Yakushev <yakushev.alex@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agoHave only FreeBSD require dynamic linking (FS#743)
Steven Oliver [Mon, 27 Aug 2012 21:27:15 +0000 (17:27 -0400)]
Have only FreeBSD require dynamic linking (FS#743)

Signed-off-by: Steven Oliver <oliver.steven@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agoFix debug.dump
Alexander Yakushev [Fri, 31 Aug 2012 11:07:04 +0000 (14:07 +0300)]
Fix debug.dump

dump_return is no longer local, so debug prefix must be provided

Signed-off-by: Alexander Yakushev <yakushev.alex@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>

8 months agoRemove incorrect comment.
Steven Oliver [Mon, 27 Aug 2012 21:29:47 +0000 (17:29 -0400)]
Remove incorrect comment.

The FindLua module from CMake now displays the correct Lua version.

Signed-off-by: Steven Oliver <oliver.steven@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>

8 months agolayout: Remove duplicate capi definition (FS#1032)
Uli Schlachter [Fri, 24 Aug 2012 19:57:10 +0000 (21:57 +0200)]
layout: Remove duplicate capi definition (FS#1032)

Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agoDon't strip RPATH on Solaris (FS#744)
Steven Oliver [Fri, 24 Aug 2012 02:12:03 +0000 (22:12 -0400)]
Don't strip RPATH on Solaris (FS#744)

Signed-off-by: Steven Oliver <oliver.steven@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

8 months agoAdd NoDisplay to .desktop file (FS#1031)
Steven Oliver [Wed, 22 Aug 2012 01:09:08 +0000 (21:09 -0400)]
Add NoDisplay to .desktop file (FS#1031)

Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agoAdd mousegrabber and keygrabber isrunning luadoc
Sébastien Luttringer [Sat, 11 Aug 2012 21:55:26 +0000 (23:55 +0200)]
Add mousegrabber and keygrabber isrunning luadoc

Signed-off-by: Sébastien Luttringer <seblu@seblu.net>
Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agoAdd awful.client.setmaster
Sébastien Luttringer [Sat, 11 Aug 2012 21:55:25 +0000 (23:55 +0200)]
Add awful.client.setmaster

This function is the counterpart of awful.client.setslave.

Windows is moved to the first position in the stack.

Signed-off-by: Sébastien Luttringer <seblu@seblu.net>
Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agorun_or_raise: fix for lua 5.2 upgrade
Anurag Priyam [Sat, 4 Aug 2012 20:23:14 +0000 (01:53 +0530)]
run_or_raise: fix for lua 5.2 upgrade

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agoawful.client: Add a missing "local"
Uli Schlachter [Mon, 6 Aug 2012 15:11:58 +0000 (17:11 +0200)]
awful.client: Add a missing "local"

Reported by | and his strict.lua.

Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agocommon/util.h: dodgy non-__GNUC__ p_delete
Arvydas Sidorenko [Mon, 30 Jul 2012 19:06:05 +0000 (21:06 +0200)]
common/util.h: dodgy non-__GNUC__ p_delete

I assume nobody have tried to compile Awesome with GNU uncompatible
compiler for ages and thus non-__GNUC__ p_delete version got
overlooked for quite some time.
First of all, a problem I see is that it assigns void** to a variable
of type void* and then dereferences the same void* variable.
None of the compilers I am aware of will let you go through this
without an error.
And second of all, lets have one portable p_delete.

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agoRe-add wallpapers to the themes
Uli Schlachter [Sun, 29 Jul 2012 14:47:04 +0000 (16:47 +0200)]
Re-add wallpapers to the themes

The commit "Remove all traces of awsetbg and wallpaper setters" removed these.
This commit adds them back, but they are now applied a little different. The
main reason is that this makes it really easy for the user to ignore the
wallpaper that a theme specifies.

Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agogears.wallpaper: Import
Uli Schlachter [Sun, 29 Jul 2012 14:39:03 +0000 (16:39 +0200)]
gears.wallpaper: Import

This is a lua module for managing the wallpaper.

Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agoRemove all traces of awsetbg and wallpaper setters
Uli Schlachter [Sun, 29 Jul 2012 13:38:31 +0000 (15:38 +0200)]
Remove all traces of awsetbg and wallpaper setters

Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agoroot: Add a wallpaper setter
Uli Schlachter [Sun, 29 Jul 2012 13:32:04 +0000 (15:32 +0200)]
root: Add a wallpaper setter

This allows lua code to set a wallpaper directly instead of having to spawn some
external tools which possibly aren't installed.

Signed-off-by: Uli Schlachter <psychon@znc.in>

9 months agoMove some helper functions to draw.h
Uli Schlachter [Sun, 29 Jul 2012 13:21:02 +0000 (15:21 +0200)]
Move some helper functions to draw.h

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoHandle execv() errors
Uli Schlachter [Sat, 14 Jul 2012 22:18:44 +0000 (00:18 +0200)]
Handle execv() errors

Previously, awesome would just crash when execv() fails, because it already
destroyed all of its internal state, but then tries to do another main loop
iteration. Whoops.

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoPrint signal number while dying
Uli Schlachter [Sat, 14 Jul 2012 22:18:06 +0000 (00:18 +0200)]
Print signal number while dying

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoUnminimize before checking for tag switch (FS#1020)
Uli Schlachter [Mon, 9 Jul 2012 19:26:00 +0000 (21:26 +0200)]
Unminimize before checking for tag switch (FS#1020)

For a minimized client, c:isvisible() is always false which is not what we want
here. So instead, unminimize the client before checking if it's visible.

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoIgnore (Un)Grab focus notifies
Uli Schlachter [Sun, 8 Jul 2012 13:41:16 +0000 (15:41 +0200)]
Ignore (Un)Grab focus notifies

When a keyboard grab activate/deactives, the input focus jumps to the window
which does the grab. These FocusIn events sometimes managed to confuse awesome.
The symptom was that a newly mapped/started client didn't receive the input
focus:

- You press your key-combo to start a terminal. This activates a passive grab
  and the input focus jumps to the root window
- The terminal opens and the "manage" rule does client.focus = c
- This doesn't set the focus yet, but instead causes
  globalconf.focus.need_update = true and .client = new_terminal
- Before the focus is updated, the key combo is released and the focus jumps
  back to the previously focused client
- The FocusIn with mode == Ungrab causes awesome to think that the previously
  focused client got focused again and thus globalconf.client.focus gets re-set
  to what it was before
- Finally the focus is refreshed and the previously focused client gets focused

The fix is simple: We don't need the FocusIn events which are generated when a
grab activates or deactivates, so we can just ignore them.

Thanks to Majic for reporting this to me.

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agorc.lua: Call awful.tag.viewnext/prev with a screen number
Uli Schlachter [Fri, 6 Jul 2012 21:02:54 +0000 (23:02 +0200)]
rc.lua: Call awful.tag.viewnext/prev with a screen number

This is necessary because of commit fa36bd0a5964a3a5da31084541759666e
"tag.viewidx should take a screen index".

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoawful.rules: Implement callbacks for individual properties
Uli Schlachter [Fri, 6 Jul 2012 15:30:35 +0000 (17:30 +0200)]
awful.rules: Implement callbacks for individual properties

When a property is now set to a function, the function's return value will be
used for the value of the property. The function gets the new client as its only
argument.

There is no property which accepts a function as its value and thus this change
can't break anything (yeah, famous last words...).

This should fix half of FS#1011. Panels now don't get focused by awful.rules.

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoIgnore re-focusing the focused client
Uli Schlachter [Fri, 6 Jul 2012 11:37:58 +0000 (13:37 +0200)]
Ignore re-focusing the focused client

When something gives the input focus to the client which already has the input
focus, bad things can happen. Normally, you'd expect nothing to happen in this
case, but X11 is not that simple.

When updating the input focus and the focused client has the nofocus hint set,
we are actually taking away the focus from this client.

Hopefully this fixes FS#973.

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoDon't change focus in response to FocusIn events
Uli Schlachter [Fri, 6 Jul 2012 11:33:27 +0000 (13:33 +0200)]
Don't change focus in response to FocusIn events

Previously, when we received a FocusIn event, we would update the input focus,
because client_focus_update set globalconf.focus.need_update to true.

However, this is wrong for clients following the globally active focus model,
because in this case its the client which controls which window has the input
focus. It could happen that we thus took away the focus from the client which
just gave itself the focus.

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agorotate: Use the draw_widget() function
Uli Schlachter [Fri, 6 Jul 2012 11:09:13 +0000 (13:09 +0200)]
rotate: Use the draw_widget() function

Without this, input handling is broken (draw_widget() registers each widget with
its position for input handling).

This also removes some unnecessary save()/restore() calls. Our caller (again
draw_widget()) already does that for us.

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoFix spelling in doc string
Felix Bier [Sun, 1 Jul 2012 13:07:12 +0000 (15:07 +0200)]
Fix spelling in doc string

Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agotag.viewidx should take a screen index
Felix Bier [Sun, 1 Jul 2012 12:57:25 +0000 (14:57 +0200)]
tag.viewidx should take a screen index

This makes tag.viewidx take a screen index rather than a screen object,
complying with its doc string. This fixes #963.

Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoMenubar: some more prefixes
Ignas Anikevicius (gns_ank) [Sat, 30 Jun 2012 19:51:11 +0000 (20:51 +0100)]
Menubar: some more prefixes

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoYet another lua call without prefixed module
Arvydas Sidorenko [Sun, 24 Jun 2012 01:04:47 +0000 (03:04 +0200)]
Yet another lua call without prefixed module

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>

10 months agogears.surface: Update required lgi version
Uli Schlachter [Fri, 22 Jun 2012 21:22:58 +0000 (23:22 +0200)]
gears.surface: Update required lgi version

Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoBroken lgi version checking
Arvydas Sidorenko [Thu, 21 Jun 2012 23:22:01 +0000 (01:22 +0200)]
Broken lgi version checking

Currently it takes `require('lgi.version')`, converts it blindly to
number and compares with another value.
I am using lgi v0.6.1 and that is not convertable to number value,
thus tonumber() returns nil and crashes Awesome.
The fix is to take major and minor numbers only ignoring the rest.

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

10 months agoDo not attempt to call global destroy
Felix Bier [Fri, 22 Jun 2012 17:46:41 +0000 (19:46 +0200)]
Do not attempt to call global destroy

Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

11 months agoawful.client: Add a missing module table
Uli Schlachter [Tue, 19 Jun 2012 18:37:03 +0000 (20:37 +0200)]
awful.client: Add a missing module table

Signed-off-by: Uli Schlachter <psychon@znc.in>

11 months agoMore fixes for the recent module() removal
Uli Schlachter [Sun, 17 Jun 2012 12:52:06 +0000 (14:52 +0200)]
More fixes for the recent module() removal

Signed-off-by: Uli Schlachter <psychon@znc.in>

11 months agoCalling naughty.notify without specifing module
Arvydas Sidorenko [Sun, 17 Jun 2012 13:16:52 +0000 (15:16 +0200)]
Calling naughty.notify without specifing module

From 55eb706b698c3b0c59559eff342d6ee59ec9e3f3 Mon Sep 17 00:00:00 2001
From: Arvydas Sidorenko <asido4@gmail.com>
Date: Sun, 17 Jun 2012 15:11:01 +0200
Subject: [PATCH] Calling naughty.notify without specifing module

Lua 5.2 port bug, which shows up on notify-send

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

11 months agoFix various minor errors after the lua 5.2 conversion
Uli Schlachter [Sat, 16 Jun 2012 19:12:26 +0000 (21:12 +0200)]
Fix various minor errors after the lua 5.2 conversion

Signed-off-by: Uli Schlachter <psychon@znc.in>

11 months agoPortable way to use loadstring
Arvydas Sidorenko [Sat, 16 Jun 2012 12:22:35 +0000 (14:22 +0200)]
Portable way to use loadstring

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

11 months agoFixed bug with global `tags` in rc.lua
Arvydas Sidorenko [Sat, 16 Jun 2012 11:23:00 +0000 (13:23 +0200)]
Fixed bug with global `tags` in rc.lua

awful.wibox.tasklist was overwritting `tags` variable breaking all the
functionality which uses it.

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>

11 months agoPorted awful.layout.suit to lua 5.2
Arvydas Sidorenko [Thu, 14 Jun 2012 00:45:17 +0000 (02:45 +0200)]
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>

11 months agoPorted awful.layout to lua 5.2
Arvydas Sidorenko [Wed, 13 Jun 2012 23:44:08 +0000 (01:44 +0200)]
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>