Commit Graph

2753 Commits

Author SHA1 Message Date
Daniel Hahler 9d1d5d5461 Merge pull request #1762 from psychon/fix-menubar-traversal
Fix menubar traversal
2017-05-13 23:27:13 +02:00
Quentin Minster 155c37e759 Fix single layout not appearing in the keyboardlayout widget (#1771)
Change indexing so that a keyboard map with a single group still gets
displayed in awful's keyboardlayout widget.

Signed-off-by: Quentin Minster <quentin@minster.io>
2017-05-13 23:25:09 +02:00
Emmanuel Lepage Vallee 0df1586f10 menu: Check if the client is still valid before accessing props
Fix #1777
2017-05-11 12:47:06 -04:00
Uli Schlachter e1bad41fc8 Always emit property::floating when needed
There are some cases where a client's floating state "silently" changes.
For example, a fullscreen client will be considered floating. However,
even though c.floating changes its value in this case, we did not emit
the property::floating signal.

Fix this by explicitly tracking the "implicitly floating" state. When
some property that influences this "implicitly floating" state changes,
we update it and if a client which was not explicitly assigned a
floating state observes a change in this value, property::floating is
emitted.

This was tested by running a terminal and two xeyes in a tag with a
tiling layout where awful.ewmh was patched so that clients do not change
their geometry when fullscreening or maximizing. It was observable that
after this patch e.g. the titlebar and the tasklist update to show the
floating state of the client which became implicitly floating due to
being maximized.

Fixes: https://github.com/awesomeWM/awesome/issues/1662
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-11 16:22:16 +02:00
Thomas G 5e431d2fb1 Update notification size in `naughty.replace_text` (#1756)
Fixes #1707
2017-05-07 18:01:35 +02:00
Uli Schlachter 0dbe8a344d menubar.utils: Fix for invalid utf8 file names
The previous commit made this code handle invalid directories correctly.
However, it was still possible that we come across invalid file names
for which :get_path() returns nil and then we assumed this was a file
name.

Fix this by silently ignoring such files.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-01 13:26:17 +02:00
Uli Schlachter f958b6a023 menubar.utils: Don't switch between path and GFile
Before this commit, the code always used GFile instances, then used
get_path() for a recursive call and turned the path into a GFile
instance again. This is not only inefficient, but also causes issues
with directories with invalid utf8, because the get_path function
returns nil in this case.

Fix this by keeping things as a GFile all the time.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-01 13:23:05 +02:00
Uli Schlachter 50cfa6c111 Run menubar.utils.parse_dir in protected context
Fixes: https://github.com/awesomeWM/awesome/issues/1761
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-01 13:19:19 +02:00
Emmanuel Lepage Vallee 74bb34ff00 wallpaper: Turn asserts into warning
Regression in v4.1. It causes the `rc.lua` (and the fallback) to
exit when the wallpaper is missing or something went wrong.

In <= 4.0, the wallpaper wasn't loaded, but Awesome didn't "crash".

There should be no asserts in the code called during the first
event loop iteration.
2017-04-24 03:10:03 -04:00
Matt ddf9689767 Add timezone option for textclock widget (#1743)
Adds a third parameter "timezone" to the textclock widget that is
optional. Defaults to local timezone if nil.

Signed-off-by: Matt Harrison <matt@harrison.us.com>
2017-04-21 16:34:23 +02:00
Tim Roes 993ffef666 Add the ignore_suspend flag to naughty (#1729)
Possible use-case could be a do-not-disturb mode where notifications
should be suspended, but some notifications triggered directly by
a user interaction (e.g. change of keyboard layout, etc.) should
still be shown.

Fixes: https://github.com/awesomeWM/awesome/issues/1728
2017-04-20 22:31:17 +02:00
Daniel Hahler 46f8ad4250 Merge pull request #1693 from getzze/new_widget
Improve doc for creating new widget
2017-04-19 00:26:55 +02:00
Daniel Hahler f533d0bfd8 doc: fix filesystem.make_parent_directories (#1739) 2017-04-18 15:40:57 +02:00
getzze 59662bc971 wibox.widget.base: do not call set_children if children is nil 2017-04-18 15:00:39 +02:00
Daniel Hahler e0eb0f14b3 Merge pull request #1699 from psychon/cache-dirs
Some fixes and changes to cache dirs
2017-04-18 14:40:22 +02:00
paul-axe d3e113f997 naughty: fix offset calculation for *_middle position (#1727) 2017-04-15 22:08:35 +02:00
Daniel Hahler a87387d9f3 doc fixes for awful.mouse.resize, awful.rules, awful.util (#1717) 2017-04-10 21:57:12 +02:00
Uli Schlachter 4d0c9eb86e Rename filesystem.mkdir to make_directories
The longer name is a bit more self-explanatory. The plural is meant to
indicate that this recursively creates missing parent directories and
does not just try to create the single given target directory.

Since filesystem.mkdir() is part of the v4.1 release, a deprecation stub
is needed.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:20:50 +02:00
Uli Schlachter 87e69e8677 Add a header to hotkeys_popup.keys.firefox to make LDoc happy
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:18:07 +02:00
Uli Schlachter f8678d39a4 Fix parameters docs in awful.hotkeys_popup.widget
This fixes broken API docs introduced in commit c183588ba1.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:15:03 +02:00
Uli Schlachter f1b78a6ff2 menubar: assert() that io.open() succeeds
Improves-the-error-for: https://github.com/awesomeWM/awesome/issues/1663
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:02:01 +02:00
Uli Schlachter 48c15e4dfb g.fs.get_cache_dir: Ensure the dir exists
This makes get_cache_dir() try to ensure the cache directory that it
returns exists.

Should-fix: https://github.com/awesomeWM/awesome/issues/1663
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:02:01 +02:00
Uli Schlachter 4bbedebea4 awful.prompt: Use g.filesystem.make_parent_dir()
The changes should not actually make a difference. If creating the
directory fails, the error will now be different, but that should be
about it.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:02:01 +02:00
Uli Schlachter b4b070785f Add gears.filesystem.make_parent_dir(path)
Given a path, this function tries to recursively create parent
directories.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:02:01 +02:00
Uli Schlachter dc717af3ad gears.filesystem: Convert tabs to spaces
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-08 11:00:28 +02:00
axujen 8e70b71c9c Fix imagebox:set_image not returning anything
set_image should always return true or false according to the docs
2017-04-06 19:33:14 +01:00
Jonathan c183588ba1 Allow to add group rules to hotkeys_popup default instance 2017-04-03 17:49:50 +02:00
Emmanuel Lepage Vallée 63f78c29a4 Merge pull request #1688 from getzze/deprec_menubar
Remove deprecated function call
2017-04-02 21:45:06 -04:00
Uli Schlachter e1b4f17e64 awful.ewmh.add_activate_filter: Fix doc example
I didn't actually test this, but at least this now looks like valid Lua
code to me, so this is definitely an improvement.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-04-02 18:20:48 +02:00
Kevin Zander 74fb39afbd Remove deprecated calls in tests
Change deprecated util.table call in lib/awful/widget/clienticon.lua to gears.table call
2017-03-30 23:07:20 -05:00
Kevin Zander 6cb2e0fa82 Fix some deprecated calls in code and docs
Add missing newline in test runner
2017-03-30 21:26:50 -05:00
getzze 26b2065c40 Remove deprecated function call 2017-03-31 00:25:04 +01:00
Emmanuel Lepage Vallee 686abd174f Merge branch 'xdg' 2017-03-26 21:04:27 -04:00
Uli Schlachter 3bda88ff64 Remove obsolete entries from check_for_invalid_requires.lua (#1673)
Most of the entries that are marked as "TODO: Get rid of these" were
handled. wibox.layout.align:get_children() never worked (it always
called a non-existent function), so we can easily fix this entry without
introducing a regression.

I opened https://github.com/awesomeWM/awesome/issues/1672 to track the
underlying problem behind the broken :get_children() function (which is
missing test coverage).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-26 15:20:18 -04:00
FireFish5000 ffda3b0c4c Add null check to set imagebox to blank state 2017-03-25 00:07:55 -05:00
romildo ea2c9deb68 menubar: consider XDG_HOME_DIR and XDG_DATA_DIRS
The freedesktop specifications let desktop files be stored in
different directories indicated by the environment variables
XDG_DATA_HOME and XDG_DATA_DIRS.

Only use the default value for these variables if the variables are
not defined.

This is important for systmes like NixOS which does not follow the LFS
and installs files differently.
2017-03-20 20:20:36 -04:00
romildo 62edc5a200 Add get_xdg_data_home and get_xdg_data_dirs functions to gears.filesystem 2017-03-20 20:20:36 -04:00
romildo d22207386f Add map function to gears.table 2017-03-20 20:20:36 -04:00
romildo 894c254c42 Add string split function to gears.string 2017-03-20 20:20:36 -04:00
Emmanuel Lepage Vallée 7818fd3dba Merge pull request #1666 from awesomeWM/doc_tag_signal
doc: Add 2 missing tag singals
2017-03-19 17:21:42 -04:00
Emmanuel Lepage Vallée 9aa801cc97 doc: Add 2 missing tag singals 2017-03-19 16:28:38 -04:00
Emmanuel Lepage Vallée 32341b1091 doc: find_by_name: Fix the doc
Swap the parameters the next time the API break / deprecation season is open.

This is indeed confusing, as reported on IRC. The screen is *not* optional,
`awful.tag.find_by_name(name)` wont work
2017-03-19 16:06:22 -04:00
Uli Schlachter 3f2bcfdb97 Fix misuse of @deprecated tag
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-18 10:43:55 +01:00
Emmanuel Lepage Vallée b73f9e963c Merge pull request #1613 from SammysHP/spawn-cursor
Add beautiful property to control busy cursor during spawn
2017-03-17 15:15:19 -04:00
Emmanuel Lepage Vallée 2c30991579 Merge pull request #1620 from psychon/menubar-remove-get2
Deprecate menubar.get()
2017-03-16 16:40:23 -04:00
Kevin Zander 7687275607 Move awful.util.deprecate and awful.util.deprecate_class to gears.debug
Change all awful.util function calls to gears.debug function calls
Update all old deprecate calls to have deprecated_in=4
2017-03-15 20:08:22 -05:00
Kevin Zander 45dadde0dd Move filesystem functions out of awful.util into new gears.filesystem
Update awful.util filesystem function calls to gears.filesystem function calls
Rename getdir to get_dir for consistency
2017-03-15 13:46:33 -05:00
Lego Stax 7c775e967c Fix 'no such file' errors for icons (#1655)
Fixes https://github.com/awesomeWM/awesome/issues/1650.

Signed-off-by: Lego Stax legostax@gmail.com
2017-03-15 17:29:53 +01:00
Patrick Uven 008bd185ba Add scale factor to gears.wallpaper.centered (#1653) 2017-03-14 20:53:27 +01:00
Emmanuel Lepage Vallee 05717026b7 menubar: Fix a typo in the code
Find/replace error when porting the deprecated code

Regression from 2f105eac86
Fix #1652
See #1072
2017-03-13 03:40:41 -04:00
Emmanuel Lepage Vallée 901df65eb0 Merge pull request #1629 from psychon/geometry_spec
Some small-ish work on gears.geometry
2017-03-12 15:45:00 -04:00
Emmanuel Lepage Vallée 957966d636 Merge pull request #1646 from psychon/systray_removal
Partly fix removal of systray from a wibox
2017-03-12 15:43:40 -04:00
Uli Schlachter 2a57d944ba gears.geometry: Fix rectangle intersection computation
Previously, when gears.geometry.rectangle.get_intersection() was called
with two non-intersecting rectangles, it would return a negative
width/height.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-12 17:01:45 +01:00
Luke Bonham d3b8088c1b ldoc: fixes in lib/gears/color.lua and objects/client.c 2017-03-12 11:45:41 +01:00
Emmanuel Lepage Vallée 4a42ed0d44 Merge pull request #1636 from psychon/client-icons2
Add support for multiple client icons
2017-03-11 18:59:09 -05:00
Kevin Zander 2f105eac86 Move string functions out of awful.util into new gears.string (#1584)
Update deprecated awful.util string function calls to gears.string calls
2017-03-11 18:57:32 -05:00
Uli Schlachter 64b964972b systray: Enable properties and improve documentation
I spent way too much time trying to figure out why setting "visible" to
false did not work...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-11 18:46:40 +01:00
Uli Schlachter 13dbc558fc wibox.hierarchy: Only count "really visible" widgets
Widgets with width or height zero cannot really be counted as visible,
so do not do so.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-11 18:44:56 +01:00
Uli Schlachter 51e4a47938 Partly fix removal of systray from a wibox
This commit changes the systray widget, wibox.drawable and the C code to
fix the following bug: When the systray widget is removed from a
drawable without being moved somewhere else, the systray stayed visible.
This was because the systray is not drawn by awesome, but only placed.
When the widget is no longer "drawn", it stays wherever it was placed
last.

This change works by detecting the situation when the systray is
removed. Then, the C code is specifically told to remove the systray
window from the drawable.

Note that this is only a partial fix. This change works correctly when
the widget is removed completely, because it is no longer placed by its
parent widget. However, for example, when you do
wibox.widget.systray().visible = false, the effect is just that the
systray widget gets size 0x0. This is not really visible, but as far as
this change is concerned, the widget is still part of the drawable.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-11 18:14:38 +01:00
Uli Schlachter e1fe1de98f wibox.hierarchy: Add ability to count widgets
This adds new code so that we can count how often a specific widget is
visible inside of all widget hierarchies.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-11 13:55:57 +01:00
Christoph Mertz 2d91d49b30 awful.screen.focus_bydirecttion: fix setting screen focus (#1635)
This was broken in 9cb60b8 in PR #1597 (from myself).

focus() is not defined on the screen instance as method
but on the screen module as function.

Signed-off-by: Christoph Mertz <chris@nimel.de>

Fix #1644
2017-03-09 00:07:35 -05:00
Kevin Zander 0066257a59 Move ensure_pango_color out of awful.util into gears.color
Update deprecated awful.util.ensure_pango_color calls to gears.color.ensure_pango_color calls
2017-03-08 15:28:48 -06:00
0x041E caf90887a7 doc: Fix arcchart documentation (#1643) 2017-03-08 16:05:23 -05:00
Kevin Zander c3461b535c gears: Move awful.util.table to gears.table (#1641)
* Move table functions out of awful.util into new gears.table

* travis: Use v9999 prefix for full requests

Make sure no newly deprecated functions are used

* Move all `awful.util.table.*` calls to `gears.table.*` calls
Move table test functions from awful/util_spec to new gears/table_spec
Change awful.util.subsets call to gears.math.subsets in awful/key.lua
2017-03-08 15:18:33 -05:00
Emmanuel Lepage Vallée d3ca6aa301 Merge pull request #1637 from psychon/deprecation_warnings
Fix some deprecation warnings
2017-03-07 18:43:32 -05:00
Uli Schlachter 73944dac00 Add awful.widget.clienticon
This adds a new widget that displays the icon of a client. This widget
tries to use the best fitting of the available icons.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-07 22:45:49 +01:00
Jan Larres 862bfbf795 menubar: add trailing slash with $XDG_DATA_HOME (#1631)
The $XDG_DATA_HOME environment variable may not necessarily end in a
slash, so insert it when generating the list of all menu dirs to make
sure the directory can be found.
2017-03-06 22:58:09 +01:00
Uli Schlachter 675b05ff34 fixup! Fix code using awful.util.round 2017-03-06 17:28:31 +01:00
Uli Schlachter dde71265c5 fixup! Fix code using awful.util.cycle 2017-03-06 17:28:08 +01:00
Uli Schlachter ad113fa3aa Fix code using awful.util.cycle
This gets rid of lots of deprecation warnings.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-06 17:15:40 +01:00
Uli Schlachter 6f803cf3b3 Fix code using awful.util.round
This gets rid of lots of deprecation warnings

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-06 17:11:05 +01:00
Kevin Zander ad3782b08a Fix typo in awful.tag.setmwfact 2017-03-05 18:04:33 -06:00
actionless e0f9245abc fix(awful: hotkeys_popup: vim): fix hotkeys for scroll line up/down 2017-03-05 22:01:11 +01:00
Christoph Mertz 9cb60b8130 awful.screen: extract screen:get_next_in_direction() (#1597)
This extracts the code for finding the next screen
from focus_bydirection to a separate method on
the screen object.

The main reason was to use the finding code without
actually changing the screen focus but this should
incidentally make the code slightly easier to test
as well since both concerns can be tested in
isolation.

Signed-off-by: Christoph Mertz <chris@nimel.de>
2017-03-04 22:16:15 -05:00
Emmanuel Lepage Vallée 2b88c92d52 Merge pull request #1604 from Lawful-Lazy/master
Add naughty presets `ok`, `warn` and `info`.
2017-03-04 22:14:35 -05:00
Emmanuel Lepage Vallée dacf22aae7 Merge pull request #1618 from legostax/master
Added _hover & _click to client buttons
2017-03-04 22:13:21 -05:00
getzze 9a3cdab534 Add grid layout
Remove dependency to awful and remove get_cell_sizes function

Remove matrix and add superpose property

Update documentation, remove beautiful dep

Add insert, extend and remove columns and rows

Change x and y to horizontal and vertical
2017-03-04 20:57:33 -05:00
Emmanuel Lepage Vallée 971adec0d0 Merge pull request #1622 from Veratil/fix-new-luacheck
Fix Luacheck 0.19.0 release Travis breaks
2017-03-04 13:32:53 -05:00
Daniel Hahler 0bd29ae1e9 Merge pull request #1580 from psychon/only_on_screen
Add a only_on_screen container widget
2017-03-04 04:06:21 +01:00
Kevin Zander 3f6df8ddee Fix Luacheck 0.19.0 release Travis breaks 2017-03-03 16:41:12 -06:00
Uli Schlachter 232c5a014a menubar.show(): Remove duplicate call to menubar.refresh()
This changes a line of code that was added in the previous commit.
Previously, when menubar.cache_entries was set to false,
menubar.refresh() was called twice.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-03 18:46:55 +01:00
Uli Schlachter 67b12579d9 Deprecate menubar.get()
The function seems useless and its documentation is wrong. It does not
return a wibox, but a widget. Also, the widget cannot really be used on
its own since it depends on the size of the wibox.

So menubar.get() and its wrapper through the metatable __call should
just be removed. Until then, the needed initialisation code is moved
around a bit and the function is deprecated.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-03 18:45:47 +01:00
Uli Schlachter 2b2612314c Add a only_on_screen container widget
Fixes: https://github.com/awesomeWM/awesome/issues/1565
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-03 13:25:28 +01:00
Kevin Zander d8f57e4997 Move math functions out of awful.util into new gears.math 2017-03-02 18:15:59 -06:00
Lego Stax cb311a5d61 Updated to comply 2017-03-02 16:01:22 -07:00
Lego Stax 8ffe4460d0 Added _hover & _click to client buttons
Every client button type (e.g. minimize, maximize_inactive, maximize_active, close) has the option to show a different icon when the mouse hovers over it or a "button::press" signal is sent.
Signed-off-by: Lego Stax legostax@gmail.com
2017-03-02 14:49:14 -07:00
Kevin Zander edd9415df6 Add a deprecated_in variable to util.deprecate args table (#1586) 2017-03-01 23:02:49 +01:00
SammysHP 2f0d0e37da Add beautiful property to control busy cursor during spawn 2017-03-01 21:57:59 +01:00
Emmanuel Lepage Vallée 2f34e69cab Merge pull request #1605 from legostax/master
Added disable_task_name property
2017-03-01 14:42:38 -05:00
Emmanuel Lepage Vallée ef668bc028 ewmh.tag: Fix the transient_for clients without parent client tags (#1610)
ewmh.tag: Fix the transient_for clients without parent client tags

Fix #1594
2017-03-01 14:11:38 -05:00
Daniel Hahler 04b73db722 Merge pull request #1601 from psychon/improvements-thanks-to-Unode
Improvements on wibox.container.scroll thanks to Unode
2017-02-28 19:58:28 +01:00
Emmanuel Lepage Vallée 3b0269d5e9 Merge pull request #1600 from Drauthius/master
Corrected selected check in awful.tag.set_screen()
2017-02-27 16:48:08 -05:00
Emmanuel Lepage Vallee 4e161d4a0a doc: Fix the variable names
It was still wrong
2017-02-27 16:20:47 -05:00
Emmanuel Lepage Vallee f24e957c17 doc: Fix wibar documentation
I got it wrong in the PR that introduced the beautiful variables.

Too much find&replace...
2017-02-27 16:12:37 -05:00
Emmanuel Lepage Vallée 8210b11ab0 wibar: Add beautiful variables (#1602)
* wibar: Add beautiful variables

This was done a few weeks ago for the notifications. This was
requested on IRC a while ago to have different font for the wibars.

Now that shapes are supported, it also makes more sense for the
border.
2017-02-26 15:56:09 -05:00
Lego Stax b54cf0330b Added disable_task_name property
style.disable_task_name and beautiful.tasklist_disable_task_name.  Suppresses display of a given client's name, but preserves the setting of tasklist_plain_task_name
2017-02-25 17:21:36 -07:00
Samuel Hunter 97287596e2 Add naughty presets `ok`, `warn` and `info`. 2017-02-25 13:20:53 -08:00
Uli Schlachter d8a272d2dd wibox.container.scroll: Also mention some caveats
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-25 17:05:33 +01:00
Uli Schlachter 3b40954223 wibox.container.scroll: Add a description
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-25 16:56:51 +01:00
Uli Schlachter 6fb40a196f wibox.container.scroll: Add a usage example
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-25 16:51:03 +01:00