Emmanuel Lepage Vallée
e384ee449f
Merge pull request #3073 from actionless/placement-skip-fullscreen
...
feat(awful: placement): add "skip_fullscreen"
2020-05-04 01:43:55 -07:00
Unai
1518b0f4c0
Border_marked naming consistency ( #3084 )
...
* finish renaming border_marked to border_color_marked
* doc: document border_color_fullscreen, update border_color_marked and fix typo
* deprecate instead of removing
* doc: fix border_color_marked
2020-05-04 01:42:09 -07:00
hung
fdee02cdcf
gears.shape: new shape (partial) squircle
2020-05-02 17:04:36 +07:00
hung
730b0f5c5c
gears.math: add the sign function
2020-05-01 15:17:14 +07:00
Unai Fernández
654a3216e2
fix wibox declarative opacity
2020-04-26 17:36:36 +02:00
actionless
124c6f9b23
fix(naughty: widget: _markup): correctly un-escape "<span property=value>"
2020-04-23 13:44:34 +02:00
actionless
9ef78c4f88
fix(awful: placement: skip_fullscreen): force screen geometry
2020-04-23 07:27:51 +02:00
actionless
b71d522f8c
feat(awful: placement): add "skip_fullscreen"
2020-04-23 06:23:49 +02:00
Yauhen Kirylau
6c7a5a5073
Update lib/menubar/init.lua
...
Co-Authored-By: Ari <ari.breitkreuz@pm.me>
2020-04-22 22:03:28 +02:00
Ari Breitkreuz
138e37576d
Add note that prompt_args will override defaults
2020-04-22 13:05:19 +02:00
Ari Breitkreuz
30911a3959
Rename v to entry in add_entry loop
2020-04-22 13:02:46 +02:00
Ari Breitkreuz
ec5ec642c3
Add match_empty option to menubar
2020-04-22 13:02:41 +02:00
actionless
f803347fc8
fixup! fix(gears: matcher: default_matcher): handle sidecase of string.match-ing the empty string ('')
...
style: return true/false instead of assigning nil to result
2020-04-22 01:52:41 +02:00
actionless
90aacbc5b5
fix(gears: matcher: default_matcher): handle sidecase of string.match-ing the empty string ('')
2020-04-21 19:51:11 +02:00
Ari Breitkreuz
788d8fec33
Don't force defaults in menubar
2020-04-21 16:45:40 +02:00
Hugo Trassoudaine
feb699aa3c
Add doc fields for extra tasklist client property notification icon theming in lib/awful/widget/tasklist.lua
...
Signed-off-by: Hugo Trassoudaine <hugo.trsd@gmail.com>
2020-04-06 14:20:35 +02:00
Gerome Matilla
158cc37a0d
Apply placement margins on awful.tooltip ( #3053 )
...
Co-authored-by: Gerome Matilla <gerome.matilla@gmail.com>
2020-04-01 02:13:58 -07:00
hung
33f99fea1c
Remove double blank line
2020-03-28 21:13:53 +07:00
hung
7f7793378e
Use cr:save and cr:restore instead
2020-03-28 20:43:07 +07:00
hung
4eff88679c
new shape: star
2020-03-28 20:21:39 +07:00
Seth Barberee
6e7d235c5a
add additional match for firefox
2020-03-21 09:27:07 -05:00
mergify[bot]
5d1394b91d
Merge pull request #3041 from SethBarberee/tag_gap_doc
...
[Doc] add example for master_count in awful.tag
2020-03-20 12:46:16 +00:00
Seth Barberee
6d24dc2ab7
add example for master_count
2020-03-20 01:00:53 -05:00
Seth Barberee
5c7574bce8
convert hotkeys_popup to awful.popup instead of wibox
2020-03-19 10:51:51 -05:00
Emmanuel Lepage Vallée
2da1cb9ba0
Merge pull request #3040 from Elv13/notif_icons_v3
...
[RFC] Redesign how notification icons are handled.
2020-03-18 21:35:29 -07:00
Emmanuel Lepage Vallee
9601cf4a89
naughty: Plug to the permission system.
...
This allows to control which kind of icon actions can be done
on individual notifications. Once the second part of the permission
system will be merged, this will mostly be used in `ruled.notification`.
2020-03-16 04:46:51 -04:00
Emmanuel Lepage Vallee
4492a37885
naughty: Use a request handler to clear the notification icon.
2020-03-16 04:45:52 -04:00
Emmanuel Lepage Vallee
c75203ac03
naughty: Handle icon paths with file:// in them.
2020-03-16 04:44:11 -04:00
Emmanuel Lepage Vallee
32fd11a220
naughty: Move the get_icon implementation to 2 request handlers.
...
They can now be disconnected or extended.
2020-03-16 04:44:10 -04:00
Emmanuel Lepage Vallee
c3cdac368d
naughty: Stop request::icon as soon as there is an icon.
2020-03-16 04:43:53 -04:00
Emmanuel Lepage Vallee
625b9c8901
object: Add a private API to optimize chain of responsibilities.
...
Currently, emit_signal always call all connected function. However,
it is very wasteful for some I/O intensive operations like icon
lookup. This commit adds a trick (private API) to stop once
a condition is met.
It will also in the future be used for the permission system, but
this is not yet implementd.
2020-03-15 04:08:06 -04:00
Emmanuel Lepage Vallee
a3c37382be
naughty: Add a new request::icon for the main icon.
...
My initial implementation was overly optimistic. It turns out there
is no end in sight to "correctly" support icons. Apps randomly use
XDG name, paths and URLs. Rather than baloon the size of the
implementation, this commit moves toward to request:: pattern
found in other APIs. This will allow people who wish to "fix"
specific icons to do so in a way that scales.
The next 2 commits will move the current implementation to request
handlers.
2020-03-15 03:35:40 -04:00
Emmanuel Lepage Vallee
9cf717b994
naughty: Replace request::icon by request::action_icon.
...
It wasn't a good idea to use ::icon because sometime the notification
themselves needs to request assistance for their icons.
2020-03-14 20:21:35 -04:00
ArenaL5
e7436f132f
Expose get_key_name under awful.keyboard as suggested by @Elv13
...
and change comments and declaration style to match the rest of the codebase
Signed-off-by: ArenaL5 <arenal5@gmx.com>
2020-03-14 19:33:04 -04:00
ArenaL5
131b25473f
Integration of `get_key_name()` in `hotkeys_popup`
...
Signed-off-by: ArenaL5 <arenal5@gmx.com>
2020-03-14 19:04:08 -04:00
Rob Hoelz
1637e03dad
Fix broken link to Pango markup documentation
2020-03-12 21:19:22 -05:00
Emmanuel Lepage Vallée
1e1f5380a6
Merge pull request #3029 from Elv13/notification_markup
...
Fix most reported notification issues.
2020-03-09 14:16:35 -04:00
Emmanuel Lepage Vallee
21cb4037bc
naughty: Fix updating the icon of DBus notification when passed by path.
2020-03-08 19:44:16 -04:00
handsome0hell
e5b12877b9
use user specified permission.
...
User settings should override default behavior.
2020-03-08 05:04:40 -04:00
Emmanuel Lepage Vallee
97e403b4e9
naughty: Correctly scale large square icons.
...
Fix #3005
2020-03-07 21:34:02 -05:00
Emmanuel Lepage Vallee
a69b6123b8
naughty: Fix updating `naughty.widget.icon`.
...
It was never call, untested and obviously broken...
2020-03-07 21:34:02 -05:00
Emmanuel Lepage Vallee
d5b652973f
naughty: Emit `property::icon` when the `image` or `images` change.
...
This way updating the icon at least *can* work.
2020-03-07 21:34:02 -05:00
Emmanuel Lepage Vallee
92d6fcda92
client: Check if `border_widht` is `nil` before setting it.
...
Fix #3026
2020-03-07 21:34:02 -05:00
Emmanuel Lepage Vallee
b6ce95cd15
naughty: Improve the rendering of notifications with invalid markup.
...
Some case like `foo<b>bar` still fail, but at least `foo<<<>>>bar`
works.
Fix #3022
2020-03-07 21:34:02 -05:00
Seth Barberee
cbb03d1a0d
add example for hotkeys_popup.widget
2020-03-06 07:09:29 -06:00
Emmanuel Lepage Vallée
3bd777f61a
Revert "naughty.widget: xml_escape message and title text"
2020-03-05 01:38:27 -05:00
Unai Fernández
6934efdd32
naughty.widget: xml_escape message and title text
...
fixes empty notifications when special characters like '&' are used
2020-03-04 19:32:13 +01:00
Emmanuel Lepage Vallee
75f51d2fee
keyboardlayout: Document `next_layout`.
2020-02-29 19:47:36 -05:00
Emmanuel Lepage Vallee
c220bcce87
widget: Enable properties by default for API level 5.
2020-02-29 19:47:36 -05:00
Emmanuel Lepage Vallee
870cf261fb
keyboardlayout: Enable properties.
2020-02-29 19:47:36 -05:00
Emmanuel Lepage Vallee
4c5fd3f222
widget: Fix set_buttons on widgets where properties are disabled.
...
Fix #3008
2020-02-29 19:47:36 -05:00
Unai Fernández
2c51493a69
client: Fix property.persist
2020-02-28 13:25:02 +01:00
Xaver Hellauer
df5d092304
Fix documentation of beautiful.menubar* options
2020-02-27 11:19:09 +01:00
Emmanuel Lepage Vallée
f88efc8854
Fix the layoutbox screen
...
Fix #3004
2020-02-23 16:14:06 -05:00
Emmanuel Lepage Vallée
dd289e5ab2
Merge pull request #2853 from Elv13/notif_rules
...
Add the notification rules.
2020-02-22 18:48:27 -05:00
Emmanuel Lepage Vallée
6bd1c1031a
Update lib/ruled/notification.lua
...
Co-Authored-By: Seth Barberee <seth.barberee@gmail.com>
2020-02-22 18:48:06 -05:00
mergify[bot]
923c3e21f0
Merge pull request #3001 from ArenaL5/abbreviate
...
Abbreviate cheatsheet
2020-02-22 23:47:12 +00:00
ArenaL5
2d3f7e1e94
Clarify documentation of `widget.merge_duplicates`
...
Signed-off-by: ArenaL5 <arenal5@gmx.com>
2020-02-21 00:07:52 +01:00
Seth Barberee
b3766c0544
add two examples for awful.wibar
2020-02-20 04:51:44 -06:00
ArenaL5
74f3e40c93
Document the newly exposed `awful.key.keygroups`
...
Also, more detail in the descriptions of properties `description` and `keygroup`
Signed-off-by: ArenaL5 <arenal5@gmx.com>
2020-02-20 03:56:46 +01:00
ArenaL5
7517bf6fae
Add ability to abbreviate merged entries in awful.hotkeys_popup
...
Signed-off-by: ArenaL5 <arenal5@gmx.com>
2020-02-20 02:51:51 +01:00
ArenaL5
0eaaa5e425
Fix the definition of keygroup arrows
...
Also add a short comment about the format of keygroups.
Signed-off-by: ArenaL5 <arenal5@gmx.com>
2020-02-19 01:57:44 +01:00
Emmanuel Lepage Vallee
f50a84b70b
tests: Disable the default `rc.lua` rules for the sake of testing.
2020-02-17 04:41:28 -05:00
Emmanuel Lepage Vallee
e12b5fb097
naughty: Break the API (sorry) to make the signals more standard.
...
Most of the notification code is from 2017. Soon after being written,
the permission system started to take shape. This required to
standardize the `request::` signals into the "object, context, args"
style. The notification code wasn't merged during that refactoring
and was accidently merged without the fixes.
Since this is still unreleased, I break the API now before it is too
late. Sorry about this.
2020-02-16 02:28:03 -05:00
Emmanuel Lepage Vallee
05ba03538f
ruled.notification: Add a `never_timeout` property.
...
It was possible to set `timeout = 0`, but this is weird to document.
Better just add a variable.
2020-02-16 02:28:03 -05:00
Emmanuel Lepage Vallee
30df6055b7
ruled.notification: Do not require `naughty`.
...
Since it is used only one, use require() directly. This allows
to require it from `beautiful` without a circular dependency.
In turn, this allows to set colors using the rules rather than
adding an endless amount of theme variables.
2020-02-16 01:25:47 -05:00
Emmanuel Lepage Vallee
cab352781d
ruled.notifications: Add an implicit timeout to the rules.
...
This replaces the old preset one.
2020-02-15 21:45:35 -05:00
Emmanuel Lepage Vallee
afe58d6cd2
notification: Add rules for notifications.
...
This commit introduce the new "ruled" module. This new top level
module will eventually host all "rules" related modules.
As for the content of the commit, it adds rules for notification. They
are mostly identical to the client rules and can be used to customize
or filter the notifications. It replaces the old "preset" API. The
preset API inner working was mostly a duplication of the early
`awful.rules` API, but was never as flexible. Thus the idea behind this
work is to converge all "core" classes to use a similar declarative API.
2020-02-15 20:33:21 -05:00
Mahe
6779a61b40
mouse: respect border width in get_current_widgets ( #2990 )
2020-02-15 19:27:33 -05:00
Emmanuel Lepage Vallée
59b31e74b3
Merge pull request #2988 from Elv13/notif_rules_groundwork
...
Fix multiple notifications issue
2020-02-15 17:59:28 -05:00
Emmanuel Lepage Vallée
10e32198e7
Merge pull request #2982 from Elv13/modeline
...
Support shebangs (#!), modelines, API levels and add more doc.
2020-02-15 17:53:41 -05:00
Uli Schlachter
225bb8a8c6
Consider icon spacing in systray:draw()
...
When less space is available than was asked, systray:draw() has to
compute the right base size so that all the icons fit into the available
space. This computation so far ignored the icon spacing, resulting in a
too large base size.
Fixes: https://github.com/awesomeWM/awesome/issues/2981
Signed-off-by: Uli Schlachter <psychon@znc.in>
2020-02-13 12:11:41 -05:00
mergify[bot]
fd237b9cd8
Merge pull request #2991 from psychon/cleanup_tag_history
...
Cleanup tag history on screen removal
2020-02-13 00:31:04 +00:00
Uli Schlachter
38a2a524a7
Cleanup tag history on screen removal
...
The tag history kept a strong reference to a screen even after that
screen was removed. This prevented the garbage collector from cleaning
up.
Fix this by getting rid of the tag history on screen removal.
Related-to: https://github.com/awesomeWM/awesome/issues/2983#issuecomment-584249568
Signed-off-by: Uli Schlachter <psychon@znc.in>
2020-02-12 20:33:21 +01:00
Emmanuel Lepage Vallee
720bef0b02
naughty.notification: Do not hold a strong reference to the screen.
...
The screen will leak if there is active notifications when the screen
is removed. Note that as of this commit, it still does, but "less".
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
d60c9ed0dd
gears.geometry: Add a `rectangle.is_inside` function.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
9d6ce1d298
doc: Fix gears.geometry doc.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
edbf254c51
naughty.box: Have a better error message when an invalid position is set
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
816188163a
naughty: Fix an internal index corruption issue.
...
Due to some signal callbacks, some notifications could be added twice
to the by-position index.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
8190ece3b2
placement: Fix a parent geometry bug in `next_to`.
...
The function returns the geometry of the parent object. As it was used,
it was passed the parent object directly. The means the parent geometry
of the parent object was used instead of the geometry of the parent
object. This worked "fine" as long as the mouse was in the same screen,
but it was just hiding the bug.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
0703fa2197
naughty.box: Move the notification when a screen is resized.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
207efe318a
doc: Upgrade the notification documentation to the latest standards.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
ef7e4ce967
naughty.box: Allow constructor arguments to be passed to `wibox()`.
...
Because it was using a metatable proxy instead of a full copy,
`pairs()` wasn't working and thus any code based on it was
blind to the `args`.
Fixes #2956
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
21caa19a21
naughty: Add a way to revert to the legacy mode.
...
When `rc.lua` will use the new notification API by default, we need
a way to revert back to the lagacy mode to be able to test it.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
9ec11bf1b3
naughty: Fix the screen property for the `box` layout.
...
The original idea was to decouple the notification and the screens, but
this causes the default `rc.lua` to behave in very unexpected ways.
This commit re-implement the `legacy` logic for the `box` layout.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
f5b5e6d90d
naughty: Add a `request::screen` handler.
2020-02-10 04:13:17 -05:00
Emmanuel Lepage Vallee
636cc2bf9c
naughty.background: Do not use the deprecated `shape_border_width`.
...
The notification code predates the deprecation, but was merged after
it.
2020-02-10 03:30:21 -05:00
Emmanuel Lepage Vallee
e0dac2e901
awful.popup: Replace the deprecated awful.util.table with gears.table.
...
The popup code is older than the deprecation, but was merged after it.
2020-02-10 03:30:21 -05:00
Emmanuel Lepage Vallee
9cbc8a18c0
rc.lua: Revert moving the sloppy focus to awful.permissions.
...
This caused a behavior change it wasn't clear how to use the
permission API to change the focus mode.
The change will only take effect if the user override the API
level.
2020-02-08 17:59:16 -05:00
Emmanuel Lepage Vallee
e0b982fa1a
gears.debug: Use the API level as the source of truth.
...
Rather than the version.
2020-02-08 17:18:01 -05:00
Emmanuel Lepage Vallee
68a6c978f5
doc: Document that wibox have class-level signals.
2020-02-02 21:07:07 -05:00
Emmanuel Lepage Vallee
973671b081
doc: Document that awful.mouse.resize/move use the permission framework.
2020-02-02 21:07:06 -05:00
Emmanuel Lepage Vallee
44301589c4
wibox: Connect the existing request::geometry signal to an handler.
...
The signal has been implemented for years, but nothing was connected
to it.
2020-02-02 21:07:04 -05:00
Emmanuel Lepage Vallee
0c08bb4304
widget: Add class-level signal forwarding.
...
Just like clients and other CAPI classes, it is now possible to
connect to all instance signals. There was already a couple of
`request::geometry`, but no way to forward them, so it was
de-facto broken.
2020-02-02 21:06:19 -05:00
Emmanuel Lepage Vallee
5891783ba9
wibox: Do not overwrite `gears.object` methods.
...
The next commit will all class level signals. The current design
is used in widgets, but is a bad fit for wiboxes. They should
behave more like client. In v5, setting methods on `wibox` directly
will be deprecated. `wibox.object` is already supported. I don't
think anyone really do that anyway and isn't documented.
2020-02-02 21:06:16 -05:00
Aire-One
02b1a6b633
Fix missing `self` parameter in documentation usage examples.
2020-01-28 10:57:43 +01:00
Emmanuel Lepage Vallée
2f905f2522
Merge pull request #2895 from Elv13/ruled_client
...
Move `awful.rules` to `ruled.client`.
2020-01-19 20:15:52 -05:00
Uli Schlachter
8df463f971
doc: Improve the client documentation.
2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee
cb9c33cda8
"Really" deprecate the client marked and unmarked signals.
...
The doc said they were deprecated in 4.0, but back then there was
no API to deprecate signals.
2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee
74ba84b299
doc: Make use of the @classsignal tag.
...
It wasn't doing anything until now.
2020-01-19 20:30:06 -05:00