Commit Graph

2671 Commits

Author SHA1 Message Date
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
Uli Schlachter 3d12ba3b65 Fix wibox.container.scroll's property magic
Creating a widget already sets a metatable (at least these days).
However, wibox.container.scroll overwrote this metatable with its own
metatable. This commit removes this overwrite.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-25 16:42:27 +01:00
Drauthius 28709c282e Corrected selected check in awful.tag.set_screen()
Previously it would check if the awful.tag.selected function existed,
and not whether the tag was actually selected.
2017-02-25 16:07:36 +01:00
Lego Stax bc728a5f46 doc: Update fixed.lua (#1591) 2017-02-21 22:03:21 -05:00
Emmanuel Lepage Vallée 94311913bb Merge pull request #1579 from psychon/gears-wallpaper-improvements
Gears wallpaper improvements
2017-02-21 13:31:45 -05:00
morethanoneanimal 1c71260389 Replace improperly used asserts with warnings.
Add awful.spawn noop function to hooks.lua test. Previously it was nil.
2017-02-21 00:31:33 +01:00
Uli Schlachter 4efee3c3d6 gears.wallpaper: Check for cairo errors
This makes things fail loudly which otherwise fail without giving a hint
on what went wrong.

Reference: https://github.com/awesomeWM/awesome/issues/1570
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-19 14:10:26 +01:00
Uli Schlachter 4fc396ec57 gears.wallpaper: Only finish own surfaces
If the caller provides a file name, these function load the image, set
it as the wallpaper and make sure that the memory used for the image
data is freed immediately. However, this was also done when the caller
provided a cairo surface, thus breaking their surface.

Fix the code so that it does not finish surfaces that it did not create
itself.

Fixes: https://github.com/awesomeWM/awesome/issues/1570
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-19 14:10:05 +01:00
Daniel Hahler a4b06bca58 awful.prompt.run: improve deprecation warnings (#1577) 2017-02-18 19:39:19 +01:00
Daniel Hahler bd02ee8558 minor: code style and comment fixes 2017-02-16 10:40:54 +01:00
Daniel Hahler 52011a68e1 util.deprecate_class: use raw=true always (#1564)
Fixes

> W: awful: function margin is deprecated, see wibox.layout.margin has been renamed to wibox.container.margin.

to

> W: wibox.layout.margin has been renamed to wibox.container.margin.
2017-02-15 19:45:23 +01:00
copycat-killer ad72d204c9 menubar.init: menulist_update doc fixed 2017-02-15 12:38:46 +01:00
Emmanuel Lepage Vallee a158c3adab wibar: Fix a race condition when adding new wibars
Fix #1523
2017-02-13 21:01:13 -05:00
Emmanuel Lepage Vallée 77c92d0d63 Merge pull request #1536 from jmccrohan/naughty_icon_urldecode
naughty: urldecode icon URI file
2017-02-12 20:25:09 -05:00
actionless 09a678345c feat(naughty: core): add shape configuration; expose options to beautiful 2017-02-12 22:37:31 +01:00
Emmanuel Lepage Vallée 6d00d34b41 Merge pull request #1557 from Elv13/add_place_container
Add place container
2017-02-12 13:23:39 -05:00
actionless f8d12a855f feat(awful: widget: promptbox): accepts `fg` and `bg` as arguments; improve docstring 2017-02-12 17:59:19 +01:00
Emmanuel Lepage Vallee 1e50f7b376 container: Add an placement container.
It should be called "align", but the name is already taken

It doesn't use awful.placement because it would break the dependency
graph.

Some cases previously required 2 wibox.layout.align layouts,
one for each axis. This is massively overkill to simply place
a widget at the center of a larger area.
2017-02-11 16:10:13 -05:00
actionless 20c132fa38 feat(menubar): cache count_table reading 2017-02-11 16:58:57 +01:00
actionless 0089b5d7c7 refactor(menubar): simplify file handling for count_table 2017-02-11 16:58:57 +01:00
actionless 978889e739 fix(menubar): close count_file after opening
closes #1548
2017-02-11 16:58:57 +01:00
Yauhen Kirylau 439d0c804c fix(menubar): reset search query when menubar closes (#1553)
* fix(menubar): reset search query when menubar closes

* refactor(menubar): remove redundant argument for menulist_update()
2017-02-11 01:16:57 +01:00
Yauhen Kirylau 148723f053 refactor(awful: hotkeys_popup): expose configuration options for a widget instance and use more object-oriented structure for the widget (#1533)
* refactor(awful: hotkeys_popup): expose configuration options for a widget instance and use more object-oriented structure for the widget

closes #1352
closes #1497

* doc(awful: hotkeys_popup): add @beautiful docstrings

* fix(awful: hotkeys_popup): add label_bg for misc labels; improve @beautiful docstrings
2017-02-10 19:50:10 +01:00
copycat-killer 7a728cec6b awful.widget.watch: return timer too 2017-02-08 14:53:40 +01:00
Jonathan McCrohan 12e5998698 naughty: urldecode icon URI file
file:// URIs should be urlencoded; decode URIs where required.

Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
2017-02-08 01:15:36 +00:00
Emmanuel Lepage Vallee 69f292a31f doc: Add basic documentation for the custom rules properties.
In the lack of a better documentation.
2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee 477df4a35b maximized/fullscreen: Use relative coords when restoring size.
Also apply a copy of the memento instead of mutating the
original.

Fixes #1320
2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee 6da20bb301 rules.placement: Add properties to honor padding and workarea 2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee 5f693ead30 rules: Move tags into the same group as tag
Unrelated to this PR, but found while doing a review.
2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee 0bf8bb6a64 fullscreen: Add a beautiful option to remove borders.
This was previously done in a callback, but wasn't really
clean and/or bug free. Borders could end up leaking on other
screens as proven by an integration test.

Fix #171
2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee 4ea6e133f8 placement: Add some missing `ignore_border_width` checks.
It was done in some places, but not all.
2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee 3a0f139b9e maximize: Officially honor screen padding
Add an option too.

Fix #1459
2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee 631e75a757 ewmh: Use the request:: API in the border_width / wa callback
And stop listening to property::geometry, it's no longer needed.

This also remove messing up the border without saving it
somewhere. The concept is sound, but not the implementation.
2017-02-07 11:13:15 -05:00
Emmanuel Lepage Vallee d5b681502a maximize: Stop mixing horizontal, vertical and both.
Before this commit, do this:

    c.maximize_hoizontal = true
    c.maximize = true
    c.maximize = false
    assert(c.maximize_hoizontal)

Would not work because the states were not preserved individually.
This commit fixes that. Awesome wont be confused about it's own
state anymore.

This may seem pointless, but when it come to undoing these
maximizations, it was ambiguous.
2017-02-07 11:12:42 -05:00
Emmanuel Lepage Vallee 3b1599bd99 maximize: Stop doing it in 2 operations.
Before 4.0, maximizing could only be done in 2 operations.

4.0 add an unified way, but kept doing 2 operations. The old
Lua EWMH code to serialize the 2 operations was dropped when
the codepath was simplified and replaced by a generic version
in awful.placement. However this version never implemented
combining multiple mementos into 1.

This commit unify the maximize C code, drop the ugly macro
template and actually fixes a couple more issues that were
caused because request::geometry was sent twice.
2017-02-07 11:12:40 -05:00
Emmanuel Lepage Vallee 51ddb5639e mouse: Handle `maximized` client like `fullscreen` ones.
There is already a way to prevent them from moving them, but the
next few commits will remove it. There is no reasons to handle
this differently from fullscreen clients.
2017-02-07 11:12:40 -05:00
Yauhen Kirylau c1cd968803 import vim hotkeys from user config, not hotkeys_popup module (#1432) 2017-02-07 13:50:52 +01:00
Emmanuel Lepage Vallée 206a5f664f Merge pull request #1529 from actionless/menubar-fix-menu-refresh-with-query
fix(menubar): use current query after refreshing entries list
2017-02-06 13:19:13 -05:00
actionless 4c3b63009c fix(menubar): use current query after refreshing entries list
closes #1421
2017-02-05 22:06:29 +01:00
actionless 3cc613fa20 test(awful: hotkeys_popup): add a minimal test 2017-02-05 21:32:43 +01:00
Uli Schlachter 130acf1c00 Fix client shape handling
The functions awful.client.shape.update.bounding and .clip handle both
the client's shape and the shape set by Lua. However,
awful.client.shape.update.all only handles the shape set by Lua and
ignores the client's own shape. This can easily be noticed with xeyes.
When update.all ran last and you move around xeyes, the wallpaper behind
it is moved along, because it is not actually outside of the window.

Fix this by partly reverting 1a5f6b7ad2 and having update.all just
call the other two functions again.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-04 07:20:56 +01:00
copycat-killer 1a5f6b7ad2 client: Allow clients to have shapes
Also fixes awful.client.shape docs

Closes #1507
2017-02-03 17:48:28 -05:00
Emmanuel Lepage Vallée cbd22eea50 Merge pull request #1475 from psychon/input-shape-support
Input shape support
2017-02-03 12:25:56 -05:00
Uli Schlachter aaea976108 layoutbox: Update when a tag's screen changes (#1505)
In theory it would be enough to only update the old and new screen of
the tag whose screen changed. However, we cannot easily get the old
screen, so just update all layoutboxes.

Fixes: https://github.com/awesomeWM/awesome/issues/1503
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-02 22:45:33 +01:00
getzze c0c083bf7d hotkeys_popup: add custom keys to existing groups (#1504) 2017-02-02 22:44:24 +01:00
Kevin Zander e1aacfaa22 awful.wibar: move wibar:remove() call outside of loop over all wiboxes (#1501)
Removing a wibar mid-loop will corrupt the indexing of the for loop and can
cause other wibars from being removed.
2017-02-02 22:42:20 +01:00
Emmanuel Lepage Vallée 5439c34723 Merge pull request #1513 from Elv13/merge_copycat
object/client.c: added position and size properties
2017-02-02 13:29:42 -05:00
Luke Bonham ff47b0d0c4 object/client.c: added position and size properties
added client signals connection

added comments doc
2017-02-02 13:09:03 -05:00
actionless 79a60b3009 fix(awful: key): clone table with user data
closes #1401

fix(tests: awesomerc): use `awful.key.execute` instead of local helper function
2017-01-30 18:19:24 +01:00
Emmanuel Lepage Vallée a1a5e18b62 Merge pull request #1483 from blueyed/rules-remove-duplicate-placement
rules: remove duplicate handling of placement props
2017-01-28 21:55:13 -05:00
Uli Schlachter 5191fcbdd2 beautiful.theme_assets: Use screen geometry instead of workarea (#1462)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-01-28 15:05:53 +01:00
Holger Schurig bf2c1993db doc: fix signals (#1455)
- rule reordering was mentioned twice in the NEWS
- fix all shown luadoc errors
- add missing descriptions for signals in module "awesome"
2017-01-28 15:03:56 +01:00
Daniel Hahler b43918613a rules: remove duplicate handling of placement props
Fixes https://github.com/awesomeWM/awesome/issues/1481.
2017-01-27 18:00:19 +01:00
Uli Schlachter df8346ceae Merge branch 'export-paths' of https://github.com/psychon/awesome 2017-01-27 17:36:55 +01:00
Daniel Hahler dd339fd62a naughty: mouse: only react on release events
Fixes https://github.com/awesomeWM/awesome/issues/1445.
2017-01-27 17:35:50 +01:00
Emmanuel Lepage Vallée 5a914b3496 Merge pull request #1198 from psychon/wibox-shape
Wibox: Add gears.shape support
2017-01-26 05:30:42 -05:00
Uli Schlachter 47d69e7824 Update docs for shape_input
I grepped for shape_clip and edited places that needed editing.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-01-26 11:15:28 +01:00
Uli Schlachter 2d736bf3b5 wibox.drawable: Draw black if no wallpaper is available (#1437)
Fixes: https://github.com/awesomeWM/awesome/issues/1411
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-01-25 23:10:37 +01:00
Uli Schlachter c2759077d6 beautiful: Reset theme when theme loading fails (#1470)
Commit c50d62749b added an empty table as a default theme. However,
when loading the actual theme fails, we will end up with theme having
value nil. This commit fixes this by reverting back to an empty table.

Fixes: https://github.com/awesomeWM/awesome/issues/1417
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-01-25 23:06:15 +01:00
Alexander Gehrke e2edabb8b1 ewhm: fix some transient windows not being movable to other screens (#1406) (#1452) 2017-01-25 12:11:11 +01:00
Uli Schlachter 288e44596f Export build-time paths as entries on awesome
This removes some @EXPANSIONS@ from Lua files and removes a hack that
was needed. All is better now! :-)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-01-25 09:41:11 +01:00
Daniel Hahler 90bbcf1903 awful.tag: handle invalid client in delayed_call (#1372)
A short-lived client (e.g. `urxvt -e false`) might be invalid already
when the delayed callback is called.
2017-01-23 22:53:01 +01:00
Yauhen Kirylau f9975f763c Avoid cyclic dependency between awful and menubar (#1433) 2017-01-23 22:51:41 +01:00
Holger Schurig 2627f087c5 doc: fix beautiful.arcchart_thickness (#1439)
The arcchart_ prefix was missing.
2017-01-23 21:26:18 +01:00
Emmanuel Lepage Vallée 193c73353f Merge pull request #1426 from SammysHP/prompt-customization
prompt: Make awful.widget.prompt themeable
2017-01-23 07:27:58 -05:00
SammysHP 37f0b7e3bf prompt: Make awful.widget.prompt themeable
Adds new optional properties to the theme:
    prompt_fg
    prompt_bg
    prompt_fg_cursor
    prompt_bg_cursor
    prompt_font
2017-01-23 13:15:09 +01:00
SammysHP 9553f616c0 doc: fix typo (#1430) 2017-01-22 21:57:26 +01:00
Emmanuel Lepage Vallee 7faac6b59f doc: Fix awful.tag.attached_connect_signal 2017-01-22 09:31:56 -05:00
Emmanuel Lepage Vallée e0bce2936f Merge pull request #1329 from Elv13/prompt_refactor
Prompt documentation & fixes
2017-01-22 09:14:00 -05:00
Emmanuel Lepage Vallee 2229d7aeed doc: Fix a copy/paste error in the master_count doc 2017-01-22 09:00:53 -05:00
Emmanuel Lepage Vallee 1c4b991e33 doc: Better document the prompt hooks 2017-01-22 01:14:20 -05:00
Emmanuel Lepage Vallee a6161d1229 tests: Test the prompt highligher 2017-01-22 01:14:20 -05:00
Emmanuel Lepage Vallee 2472201b71 prompt: Add command highlighter support. 2017-01-20 01:09:30 -05:00
Emmanuel Lepage Vallee 39f0a1c95c doc: Document the prompt callbacks 2017-01-20 01:09:30 -05:00
Emmanuel Lepage Vallee 928f7b04b4 prompt: Add a key filter example 2017-01-20 01:09:30 -05:00
Emmanuel Lepage Vallee f6cce940a5 prompt: Add a Vi like prompt parser
Otherwise hooks that modify the command are not documented well
enough.
2017-01-20 01:09:29 -05:00
Emmanuel Lepage Vallee 4934697817 prompt: Add a more complete hook example 2017-01-20 01:09:29 -05:00
Emmanuel Lepage Vallee 42205220dd prompt: Move the keybindings section to the header
This is part of a longer series of commit to expand the
documentation.
2017-01-20 01:09:29 -05:00
Emmanuel Lepage Vallee 53d32d362a prompt: Unit test the example 2017-01-20 01:09:29 -05:00
Emmanuel Lepage Vallee 856244723c prompt: Restore the ability to use hooks without exiting
It was in an earlier version of the patchset but was lost at
some point.
2017-01-20 00:22:49 -05:00
Emmanuel Lepage Vallee 1e1bebc269 timer: Add a "real world" example
This was asked on IRC. While many user configs have such patterns,
the documentation had none.

It isn't using the test framework because of the delay.
2017-01-20 00:22:49 -05:00
Emmanuel Lepage Vallee 595ade2228 timer: Add a `singleshot` constructor property.
Also save some boilerplate code.

This closes the gap between timer.start_new and timer.new. Now the
only difference is that one have a special callback format while
the other only has predefined properties.
2017-01-20 00:22:49 -05:00