Commit Graph

1871 Commits

Author SHA1 Message Date
Uli Schlachter 99ef5822b0 Merge branch 'more-luacheck-fixes' of https://github.com/psychon/awesome 2016-02-14 14:33:06 +01:00
Uli Schlachter b73ebabbfa Merge branch 'remove-awful-mouse-finder' of https://github.com/psychon/awesome 2016-02-14 14:32:28 +01:00
Emmanuel Lepage Vallée 0a15ea9131 Merge pull request #691 from psychon/fix-titlebars
Fix missing import from commit 7842f92f08
2016-02-12 21:36:42 -05:00
Uli Schlachter a0d4d729d3 Remove awful.mouse.finder
This module is partly broken since 2009 (the way to use it that is mentioned in
the docs doesn't actually work) because the mousefinder object doesn't have a
find()-method (the line doing "self.find = find" should do "self.finder =
finder.find"). Since no one really noticed, this module is apparently not used
much.

When someone wants to still use this, they are free to copy this to their own
config. It's not much code, but it's enough code that I am annoyed that we ship
something broken to users. Everyone who copies it to their own config will make
sure it works the way they want.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-12 18:27:40 +01:00
Uli Schlachter 6a4df17e70 Fix missing import from commit 7842f92f08
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-12 18:19:22 +01:00
Uli Schlachter 2c77f9dcf8 Fix luacheck warnings in lib/naughty
A warning pointing out an actual problem is left.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-12 09:16:42 +01:00
Uli Schlachter 15e72fb037 Fix luacheck warnings in lib/wibox
Warnings pointing out actual problems are left.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-12 09:15:55 +01:00
Uli Schlachter 8c26e2dab4 Fix all luacheck warnings in lib/gears
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-12 09:11:50 +01:00
actionless 2501f128e4 chore(awful: hotkeys: vim): rename key groups 2016-02-12 01:07:04 +01:00
actionless 36e124d894 chore(awful: hotkeys: vim): add `find` and `scroll` categories 2016-02-12 01:05:59 +01:00
actionless 8041078618 chore(awful: hotkeys: vim): small improvements in hotkeys descriptions 2016-02-12 01:03:07 +01:00
Uli Schlachter c75741c578 Fix luacheck warnings for the rest of awful
This fixes *most* luacheck warnings in awful. However, some non-trivial ones
remain for latter.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-11 21:55:32 +01:00
Uli Schlachter 99a4184224 Fix luacheck warnings in lib/awful/widget/
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-11 21:55:32 +01:00
Uli Schlachter c455e1f90e Fix luacheck warnings in half of awful
Boy, awful is huge... Let's better do it in two parts

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-11 21:55:32 +01:00
Uli Schlachter f2cf4a6385 Fix luacheck warnings in beautiful and menubar
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-11 21:55:32 +01:00
Daniel Hahler bb85e10042 Merge pull request #685 from actionless/hotkeys_extended_mathes
feat(awful: hotkeys): extended matching rules
2016-02-11 21:52:22 +01:00
Daniel Hahler 58954f7f08 Merge pull request #675 from psychon/remove-gears.sort
Remove gears.sort
2016-02-11 21:51:44 +01:00
Daniel Hahler 7e57ca30ff Merge pull request #651 from psychon/client-leaks
Client leaks
2016-02-11 21:24:57 +01:00
actionless 901771e51b feat(awful: hotkeys): extended matching rules 2016-02-11 12:33:02 +01:00
Emmanuel Lepage Vallee cb896ca87f wibox.widget: Add method to create declarative widgets directly 2016-02-11 03:58:54 -05:00
Emmanuel Lepage Vallée 4a45db9eb0 Merge pull request #642 from Elv13/upstream_dynamic_p6
Add ratio and stack layouts
2016-02-11 03:44:49 -05:00
actionless 4aaedb0f86 fix(awful: hotkeys): restore continuation symbol 2016-02-11 03:43:13 +01:00
Emmanuel Lepage Vallee 0a39d196c7 wibox.layout: Add the new 'ratio' layout
This layout allow each widgets to take 'r' percent of the total
space, where 'r' is configurable.

It re-implement the 'wfact' system used by `awful.layout.suit.tile`
2016-02-10 21:40:40 -05:00
Emmanuel Lepage Vallee 20030e6f93 wibox.layout: Add new 'stack' layout
This layout display the widgets on top of each other. It can also optionally
display only the first one.

The most common use case is to create a composited widget. Other use case
include the creation of a "paged" stack to only display the most
relevant widget without adding extra complexity to the parent layout.
2016-02-10 21:40:40 -05:00
actionless 333c5cd31c fix(awful: hotkeys): case when description is missing (+prettify) 2016-02-11 03:32:11 +01:00
actionless 3a9f7a1cee fix(awful: hotkeys): compute length of the line correctly 2016-02-11 01:04:54 +01:00
actionless 64bd09d38d fix(awful: hotkeys): fix sorting of hotkeys 2016-02-11 00:54:47 +01:00
Emmanuel Lepage Vallée ff8f2aef27 Merge pull request #678 from Elv13/bgimage
Extend bgimage support
2016-02-10 03:59:06 -05:00
Emmanuel Lepage Vallee b1e69dba8c doc: Move the new widget documentation to a new file
This will help with discoverability
2016-02-10 01:25:41 -05:00
Emmanuel Lepage Vallee 7842f92f08 wibox: Support the declarative container syntax
Also support it for titlebars
2016-02-10 01:25:31 -05:00
Emmanuel Lepage Vallee 6a68173ccb widget: Add a new container declaration syntax
This new syntax is inspired by the Awesome widget 3.2-3.4 API. It
allow cleaner widgets declaration. The produced code is usually much
shorted and easier to read than wibox.widget imperative syntax.
2016-02-10 01:09:50 -05:00
Emmanuel Lepage Vallee e36f23171b wibox.widget: Add `set_children` method
Provide a generic method to set the widget content
2016-02-10 01:09:50 -05:00
Emmanuel Lepage Vallee 4a20f9e533 titlebar: Support bgimage 2016-02-10 00:15:17 -05:00
Emmanuel Lepage Vallee c957b3d5a8 wibox: Support bg_image 2016-02-10 00:15:14 -05:00
Emmanuel Lepage Vallee 7666976538 drawable: Add background image support
Copy what's done in `widget.background`
2016-02-10 00:15:09 -05:00
Emmanuel Lepage Vallee cbea82f1c8 widget.background: Allow function as background image
There is already a hack into `awful.widget.common`. This system aim
to make the hack obselete while preserving the useful part.

I think this is also necessary to properly support SVG (with DPI
and resize).

Finally, Qt handle this using the QBrush concept, where you can have
programmatic patterns. Cairo doesn't have this concept, so there is no
"clean" way to have programmatic brushes.
2016-02-10 00:15:00 -05:00
Uli Schlachter 94e9a030c1 Remove gears.sort
It's unused since commit 0aa4304bda. Before this was a stable sorting
algorithm since table.sort is allowed to be unstable. Apparently we don't need a
stable sorting algorithm anymore.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-07 12:24:35 +01:00
Emmanuel Lepage Vallée 720768330c Merge pull request #664 from Elv13/background_border
widget.background: Add shape border support
2016-02-06 03:48:13 -05:00
Emmanuel Lepage Vallee 33c943d9b8 widget.background: Add shape border support 2016-02-06 03:43:42 -05:00
Uli Schlachter 7d32f7b733 tasklist: Unreference client in unmanage
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-04 18:24:53 +01:00
Uli Schlachter 69d96ba34d awful.titlebar: Unreference titlebars in unmanage
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-04 18:24:53 +01:00
Uli Schlachter 791794fa42 awful.titlebar: Fix memory leak with clients
Any awful.titlebar.widget.button widget (e.g. floatingbutton or closebutton)
decides on the currently visible symbol based on several factors. One of them is
"is the client currently focused?" and thus the button has to be updated when
the client is focused/unfocused.

The way the code did this was to use client.connect_signal("focus", f) and
client.connect_signal("unfocus", f). However, these signals are never
disconnected and kept alive forever. The callback function had a strong
reference to the client (as an upvalue) and thus this also prevented the client
from being garbage collected.

Fix this by using c:connect_signal("focus/unfocis", f) instead. These kind of
signals are only kept alive by the client object and don't prevent it from being
garbage collected.

This fixes the new test that the previous commit added.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-04 18:24:52 +01:00
actionless 8a9ae1a073 feat(awful: hotkeys widget): merge hotkeys with the same modifiers and descriptions 2016-02-04 13:14:45 +01:00
Emmanuel Lepage Vallée 19437930a2 Merge pull request #630 from Elv13/upstream_dynamic_p5
Multiple `wibox.layout` enhancements
2016-02-04 03:09:38 -05:00
Emmanuel Lepage Vallee 1f5dae8c18 awful.tag: Fix mistakes from cd0503f55 2016-02-04 00:14:51 -05:00
Emmanuel Lepage Vallee e615173552 layout.fixed: Add methods to manipulate the layout after creation
Until now, this layout was "append only". There was no official
APIs to remove, replace, insert and swap widgets. This is fine
for the usual wibox + sensors widget used by the majority of
users, but lack flexibility necessary to use the layout system
to place dynamic elements such as clients.

The methods introduced by this commit are also recursive. This
allow widgets to be decorated, wrapped and splitted without
having to add boilerplate code everywhere.
2016-02-03 04:01:38 -05:00
Emmanuel Lepage Vallee 330c8d97e1 layout.flex: Base on layout.fixed rather than widget.base
This remove duplicated code and will allow more "collection"
style layouts to be implemented without logic duplication.

This commit also do some small cleanup to remove duplicated
code now present in `awful.util`.

Fixes https://github.com/awesomeWM/awesome/issues/617
2016-02-03 04:00:56 -05:00
Emmanuel Lepage Vallee b2d121aa18 widget.base: Add ':index(w, r)' method
This function is optionally recursive. This allow to manipulate
abstract layouts without really having to care about the exact
hierarchy.
2016-02-03 04:00:56 -05:00
Emmanuel Lepage Vallee 8da5c79bb8 wibox.widget: Add new `get_children(recursive)` method to all widgets 2016-02-03 04:00:42 -05:00
Emmanuel Lepage Vallee 7a7f9f2b64 awful.util: Make 'util.table.merge' return the table
This avoid having to add a temporary variable when returning
from functions. Qt does the same.
2016-02-02 21:32:01 -05:00