Commit Graph

1178 Commits

Author SHA1 Message Date
Arvydas Sidorenko 56170db631 Renamed string.gfind to string.gmatch
Lua 5.1: string.gfind renamed to string.gmatch
Lua 5.2: string.gfind removed

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-12-01 14:19:10 +01:00
Uli Schlachter 4c094a279d Fix various instances of global variables
The modules awful.menu and awful.util were placing variables in the global
environment which is a bad thing. Fix this by adding the right module name
prefixes to these variables.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-30 22:46:55 +01:00
Uli Schlachter e24c09e828 Update titlebar color when focus changes (FS#1056)
The current code relied on some widget to cause a redraw when the focus changes.
Obviously, this assumption is wrong.

Instead, the code now uses the proper "focus" and "unfocus" signals for setting
titlebar colors, but it also needs to set these colors when a new titlebar is
created (v1 of this patch forgot that). For this reason, update_colors has to be
saved for when a titlebar's colors are updated.

This commit also reverts the ugly redraw_hook hack from commit a1918b8306.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-29 16:52:19 +01:00
Uli Schlachter c50d62749b Fix errors from missing themes
This patch gets rid of lots of errors that happen when beautiful.init() is not
called in the config. Most of them were missing default values.

Thanks to panthar for reporting this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-27 22:55:42 +01:00
Uli Schlachter b7eb233aee imagebox: Use a different entry for saving the image
In 3.4, an imagebox' image is set via "box.image = foo". Since widgets are just
ordinary tables in 3.5, this will actually mess with the imagebox' image without
setting it correctly.

Fix this by renaming the entry to "_image".

A similar patch was applied to the textbox widget ages ago.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-27 17:24:54 +01:00
Uli Schlachter fbecd40c62 awful.menu.clients: Fix client icons
This was passing c.icon as the icon of a menu entry. However, this is just a
light userdata which has to be turned into an lgi cairo surface object. Luckily,
surface.load() does that for us.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-25 21:18:23 +01:00
Uli Schlachter fd1e751919 awful.menu: Handle themes without border_width
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-25 19:17:27 +01:00
Uli Schlachter fa6d996c41 widgets: Add some constructor arguments
This saves space when constructing widgets, because some common cases can now be
done in a single line of code.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-25 19:16:31 +01:00
Gregor Best 2badbed440 Menubar: silence find warnings
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-24 18:15:35 +01:00
Gregor Best d3a05e4822 Menubar: also look in /usr/local/share/applications
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-24 18:15:34 +01:00
Gregor Best 6b4d839fef Menubar: don't die if there's no item selected
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-24 18:15:34 +01:00
Ignas Anikevicius (gns_ank) 633e8f2f06 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>
2012-11-22 14:12:35 +01:00
Uli Schlachter 38c41a2f7a awful.client.toggletag: Use tag.getscreen()
Thanks to muni for reporting this bug.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 18:56:18 +01:00
Uli Schlachter d13b825c36 Fix warnings from LDoc
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 15:35:32 +01:00
Uli Schlachter 96e03cb45d Lots of random documentation fixes
This is mostly about mis-named parameters, but also other small things.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 14:09:10 +01:00
Uli Schlachter 5ea174782d Also make gears.object more object-y
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 13:40:37 +01:00
Uli Schlachter 90f7f55348 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>
2012-11-18 20:44:03 +01:00
Uli Schlachter ee46c9e5ae 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>
2012-11-17 21:37:40 +01:00
uzsolt 6a6e49accd fix awful.util.table.join if first arg is null (#1052)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-11 22:16:57 +01:00
Josh Komoroske 8e35e1a6a9 Fixed window gaps in the "fair" tiling mode.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-10 21:48:46 +01:00
Uli Schlachter 4711354b5d awful.tooltip: Update geometry in set_text (FS#956)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-04 21:53:38 +01:00
Uli Schlachter 14fa66c63f 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>
2012-11-03 19:52:39 +01:00
Uli Schlachter 30860eba87 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>
2012-11-01 13:53:23 +01:00
Uli Schlachter 77fedaeee8 Remove unused signal property::widgets
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-31 22:24:23 +01:00
Uli Schlachter 0ff4fc3aef awful.client: Convert another t.screen to awful.tag.getscreen()
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-31 22:13:30 +01:00
Uli Schlachter fa86fbeb52 lib/wibox: Make signals from drawables available
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-31 22:12:30 +01:00
dodo 57746d7a62 capi.screen[scr]:tags() doesn't exist anymore
awful.tag.gettags(scr) does now the job

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-26 18:29:30 +02:00
dodo 1e4c14d306 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>
2012-10-26 18:28:52 +02:00
Clément Démoulins d729b71b17 Fix a bug when using in a rule the property 'tag'.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-26 18:22:05 +02:00
Uli Schlachter a1918b8306 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>
2012-10-23 20:37:50 +02:00
Uli Schlachter 8348d44444 Tags: Remove screen property
A tag's screen is now implemented purely in lua and it is no longer C's
business.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-23 10:05:34 +02:00
Uli Schlachter 9c9b2b52b0 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>
2012-10-20 22:54:20 +02:00
Uli Schlachter 2ada67b730 Added a functions for getting all tags on a screen
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-20 22:54:20 +02:00
Uli Schlachter 1e418cbe3b 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>
2012-10-20 22:51:52 +02:00
Uli Schlachter 41ef107b88 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>
2012-10-14 17:30:59 +02:00
Uli Schlachter f0512eeaab 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>
2012-10-14 17:30:54 +02:00
Uli Schlachter 241d582c55 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>
2012-10-14 16:58:54 +02:00
Abdó Roig-Maranges ed9f218669 Fixes module namespace issues in screen.lua and client.lua
The wrong module names were introduced in commits:
0e2960ebf3 and
d799ac76aa.

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>
2012-09-29 16:52:53 +02:00
Abdó Roig-Maranges 34c1c7d416 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>
2012-09-27 11:26:57 +02:00
Abdó Roig-Maranges 0e2960ebf3 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>
2012-09-27 11:24:51 +02:00
Abdó Roig-Maranges d799ac76aa 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>
2012-09-27 11:14:55 +02:00
Abdó Roig-Maranges 5701c473d4 make naughty catch appname from DBUS messages
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-16 10:44:39 +02:00
Abdó Roig-Maranges 98185eb123 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>
2012-09-15 16:06:17 +02:00
Alexander Yakushev c1addbbf72 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>
2012-09-12 17:34:22 +02:00
Alexander Yakushev 8150482a53 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>
2012-09-12 17:34:22 +02:00
Alexander Yakushev ec66ac876b 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>
2012-08-31 15:23:56 +02:00
Uli Schlachter 5d95559977 layout: Remove duplicate capi definition (FS#1032)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-08-24 21:57:10 +02:00
Sébastien Luttringer a6ae34d003 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>
2012-08-12 13:21:07 +02:00
Anurag Priyam 0817c7f460 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>
2012-08-06 17:12:52 +02:00
Uli Schlachter aca737cdc4 awful.client: Add a missing "local"
Reported by | and his strict.lua.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-08-06 17:11:58 +02:00
Uli Schlachter 615aff3369 gears.wallpaper: Import
This is a lua module for managing the wallpaper.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-07-29 16:39:03 +02:00
Uli Schlachter ff71347016 Remove all traces of awsetbg and wallpaper setters
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-07-29 15:38:31 +02:00
Uli Schlachter 48c6c11d17 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>
2012-07-06 17:30:35 +02:00
Uli Schlachter 21d821a8dd 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>
2012-07-06 13:09:13 +02:00
Felix Bier f571ba4140 Fix spelling in doc string
Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-07-01 17:19:13 +02:00
Felix Bier fa36bd0a59 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>
2012-07-01 17:18:54 +02:00
Ignas Anikevicius (gns_ank) bfedd3c136 Menubar: some more prefixes
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-07-01 14:47:39 +02:00
Arvydas Sidorenko 1de4134c9d Yet another lua call without prefixed module
Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-06-26 11:00:47 +02:00
Uli Schlachter 4b049c310d gears.surface: Update required lgi version
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-22 23:22:58 +02:00
Arvydas Sidorenko 65de8a7ab5 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>
2012-06-22 23:21:14 +02:00
Felix Bier aa7d342645 Do not attempt to call global destroy
Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-22 23:17:58 +02:00
Uli Schlachter 77b5dadac4 awful.client: Add a missing module table
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-19 20:37:03 +02:00
Uli Schlachter b552000bd9 More fixes for the recent module() removal
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-17 15:24:01 +02:00
Arvydas Sidorenko 1cef64a9c8 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>
2012-06-17 15:23:52 +02:00
Uli Schlachter ce9932f17f Fix various minor errors after the lua 5.2 conversion
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 21:12:26 +02:00
Arvydas Sidorenko 650bde830c Portable way to use loadstring
Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko ce19cabae3 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>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko b18b504fdf Ported awful.layout.suit to lua 5.2
Tested with lua 5.1: all good

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

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

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

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

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

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko f73e0b44c0 Ported wibox.widget to lua 5.2
Tested with 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko 4e67027a97 Ported wibox.layout to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko 3f5eaf9c1b Ported wibox to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko a75112160f Ported menubar to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko e789cfaf66 Ported lib/gears to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko 26797ab494 Ported naughty to lua 5.2
Tested on lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko 0bbd9eac0a Beatiful module ported to lua 5.2
Tested on Lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko 9623b8e42f Changed unpack in portable way
Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 13:00:13 +02:00
Arvydas Sidorenko ecc930dbe0 Replaced deprecated math.mod to math.fmod
Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 12:58:09 +02:00
Uli Schlachter f702c4ea04 Simplify the graph drawing code
Instead of having to handle the border width all the time, let's make cairo
worry about that.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-13 18:06:05 +02:00
Uli Schlachter 7a1acd4a98 awful.widget.graph: Various minor fixes
For example, the rightmost pixel of a border-less graph wasn't draw and all
drawing was shifted one pixel to the left.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-13 17:59:07 +02:00
dodo cafd28027f awful.widget.graph: don't draw bg color over fg color
behavior before: draw fg color everywhere and draw each value inverted as bg color.
if not enough values available "remove" the free area (draw a big rectangle with bg color over it).

behavior now: draw each value onto background as fg stroke.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-13 17:24:58 +02:00
Uli Schlachter d0f3e399d7 Fix naughty notifications again
When something sends notifications which don't get mapped into some preset,
args.preset would be nil and indexing nil throws a lua error. Fix this by using
the default preset in that case.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-05 17:44:30 +02:00
Uli Schlachter ca2fc7811a gears.surface: Add a version check for lgi
The cairo bindings are quite new in lgi and thus we depend on a quite new
version of lgi. Older versions will fail with lots of weird errors, e.g.:

lib/gears/color.lua:61:attempt to call field 'create_rgba' (a nil value)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-05 16:22:04 +02:00
Uli Schlachter ab7788e2f5 Fix naughty notifications
Commit d14d6959ea caused every notify() call to fail with 'attempt to
compare number with nil' because the default_preset table no longer exists.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-05 16:20:30 +02:00
Giuseppe Bilotta 2ec6635adc geticon: also accept a size parameter
Many themes have prerendered icons of different sizes stored in
subdirectories named as '<size>x<size>'. By looking in these directories
when a specific icon size is specified, we can support themes in a
rather straightforward way.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-05 15:25:07 +02:00
Giuseppe Bilotta d14d6959ea naughty.notify: inherit from default preset
Build the preset values by merging the default preset with the one
actually specified, falling back to the normal preset if no preset is
specified.

This allows changing the position/font/whatever of all notification by
only setting up the default preset value (modulo overrides in the other
presets), instead of having to manually set it in all presets.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-05 15:24:24 +02:00
Uli Schlachter 68d630c32a Remove a pango hack
Instead of creating unused cairo image surfaces, we create our temporary layouts
now via the (PangoCairo) font map. Way less ugly.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-27 20:17:14 +02:00
Uli Schlachter 4f30dfd198 Switch from oocairo to lgi.cairo
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-27 19:20:34 +02:00
Arvydas Sidorenko 758c4d4972 Splashes aren't all that special (placement-wise)
Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-25 15:28:32 +02:00
Ignas Anikevicius (gns_ank) 224bc63ab2 Menubar: document keybindings, some luadoc fixes.
This adds the documentation about keybindings for luadoc.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-18 12:52:29 +02:00
dodo 634d54298e new wibox.layout.mirror
this allows to mirror a widget vertical and/or horizontal.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-18 12:09:32 +02:00
Uli Schlachter 3cbb59b0dc FS#996: awful.ewmh: Connect to property::border_width signal
For example, I have some lua code which sets the border width based on the
number of visible clients. When just a single client is visible, the border
width is 0, else it's what the theme says.

Previously, this caused visible "glitches" for fullscreen'd and maximized
clients. This patch fixes that and updates the client's geometry and
border width appropriately.

This has a slight chance of going into an endless loop if someone sets a
fullscreen'd clients border width from its property::border_width signal.
Just don't do that!

Thanks to Arvydas Sidorenko for finding this issue.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-16 23:03:32 +02:00
Felix Bier 4170c77a08 Return condition value instead of conditional true/false
Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-13 10:49:10 +02:00
Felix Bier bd0c9f75ae Return condition value instead of conditional true/false
Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-13 10:49:10 +02:00
Felix Bier 558bc96099 Return condition value instead of conditional true/false
Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-13 10:49:09 +02:00
Felix 1a91fd64b9 Return condition value instead of conditional true/false
Patterns like

if condition then
  return true
else
  return false
end

could be simplified to

return condition

Signed-off-by: Felix <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-12 10:38:38 +02:00