Commit Graph

11017 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee f8f5e2c69b grid: Add border support.
This is long overdue. A bit of historical context. The grid API
is losely somewhat based on the old `radical` module, but was
heavily improved by @getzze. That version had row_span and col_span.

This made the way the previous implementation coded the border
incompatible. I spent some time back then trying to bolt it back on,
but the complexity is quite high and never made it work right.

This commit goes in another direction. Rather than draw the border,
it creates a mask where the border should *not* be, then bucket fill
the widget. This is the equivalent of CSS `border-collapse`.

It also support custom borders. This allows dashed lines and partial
borders.

The main use case will be to add border support to the calendar. It
was previously possible to partially do it using custom cell painters,
but was pretty hacky. Now that the calendar will deprecate the custom
painters in favor of `widget_template`s, a more robust alternative was
required.

The drawback of this commit is obviously the added complexity to the
most complex layout. This is why it adds many tests to cover the various
corner cases.
2023-12-31 00:57:07 -08:00
Emmanuel Lepage Vallee 2d5c4b64c5 grid: Add the ability to specify the properties inline.
This is already used in the `wibox.layout.manual` layout. It makes
the widget easier to use. Previously, using the imperative syntax
was necessary for most grids.
2023-12-31 00:56:24 -08:00
Emmanuel Lepage Vallee 3beb2187fa tests: The `grid` layout has no `padding` property.
Looks like a rebase leftover from an earlier iteration of the code.
2023-12-31 00:56:24 -08:00
Emmanuel Lepage Vallee b5a5f7c575 shims: Make sure properties defined in `awful/client.lua` are called.
Previously, it would raw_set properties like floating. This means the
signals and the result of calling `awful.client.property.get` was
different. Some older code uses `awful.client.property.get` or
`awful.client.object.get_floating` rather than `c.floating`.

With this change, all native properties should be handled as so
and all non native properties set at the end, after `__newindex`
is defined.

The list of properties was extracted using

    cat client.c
        | tail -n100
        | grep -Eo '["][^"]+["]'
        | grep -Eo '[^"]+'
2023-12-30 14:21:13 -08:00
Emmanuel Lepage Vallee 477a75b6b8 shims: Add "urgent" colors. 2023-12-30 14:21:13 -08:00
Emmanuel Lepage Vallee d1c9f59259 cmake: Support splitted documentation examples templates.
They can now use multiple files. Some of the templates are getting
unmaintainable and would benefit from being multiple small widgets.
2023-12-30 14:21:13 -08:00
Emmanuel Lepage Vallee 3cb42b7a33 doc: Fix warnings in `awful.screenshot` and `gears.shape`.
Those were written before the doc linting was merged.
2023-12-30 14:21:13 -08:00
Emmanuel Lepage Vallee 8e099cfda5 doc: Fix the @property handling for @classmod.
Previously, things like `awful.screenshot` would print a false
positive warning because the `item.name` was fixed after the
linting rather than before it.
2023-12-30 14:21:13 -08:00
Peter Anderson cb72c0a8b1
Update menu.lua (#3876) 2023-12-29 13:19:12 -08:00
Arun a9fca7c3d3
Use GITHUB_OUTPUT envvar instead of set-output command as the latter is deprecated 2023-12-28 13:19:41 -08:00
mergify[bot] 375d9d7235
Merge pull request #3864 from kosorin/fix/redraw-drawable
Redraw drawable when changing geometry
2023-11-19 01:43:10 +00:00
mergify[bot] 3813320a55
Merge pull request #3869 from unknown321/patch-1
#3867 allow KP_Enter in main menu
2023-11-19 01:41:45 +00:00
Denis Efremov dfe6a47893
Added gears.string.psplit function to support patterns (#3839) 2023-11-18 17:14:35 -08:00
u bcb97c9c18
#3867 allow KP_Enter in main menu 2023-11-19 03:37:16 +03:00
David Kosorin 90a3a992ae
Redraw drawable when changing geometry 2023-10-12 21:40:36 +02:00
mergify[bot] 7ed4dd620b
Merge pull request #3863 from BarbUk/fix/notification_default_action_when_dismissed_by_user
Send a default action when notification is closed by user
2023-10-12 09:57:10 +00:00
BarbUk 5daae2bb5d
Send a default action when notification is closed by user 2023-10-09 15:07:39 +02:00
gldrk 16c560a568 Release all grabs when unmanaging windows
When a window is unmapped, awesome stops tracking it, possibly
leaving stale grabs behind.  These grabs can be activated if the
window is mapped again without awesome’s knowledge.  This results
in a locked pointer until the grab window is destroyed.

Fix by releasing passive grabs before untracking a client window.
2023-09-26 06:19:09 +03:00
Actionless Loveless aa8c7c6e27
fix(awful: layouts: tile: mouse_resize_handler): count the size of useless_gaps around the client (fixes #424) (#3846) 2023-08-30 04:27:52 -07:00
Actionless Loveless cd7cb0e7e7
fix(permissions: geometry): allow geometry change for non-floating clients if it was requested by awesome's own fullscreen and maximize handlers (fixes: #3844, #3834) (#3845) 2023-08-30 04:25:59 -07:00
Actionless Loveless 28381d2792
style(awful: permissions): luacheck updated (https://github.com/awesomeWM/awesome/pull/3839#issuecomment-1676985065) (#3840) 2023-08-17 10:18:35 -07:00
Actionless Loveless d36e1324d1
fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes #3752) (#3805)
* fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes #3752)

* fixup! fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes #3752)

* fixup! fixup! fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes #3752)
2023-08-13 15:52:12 -07:00
David Kosorin ed71b17f1b
Fix slider with minimum value (#3807) 2023-08-12 16:59:15 -07:00
mergify[bot] 0e5fc4575a
Merge pull request #3819 from HoNamDuong/master
fix(awful.key.keygroups): can't use 0 . key
2023-06-14 06:02:43 +00:00
mergify[bot] 8615c100cd
Merge pull request #3817 from mattplm/fix_naughty_notification_links
docs: Fix links in ruled.notifications
2023-06-14 06:01:18 +00:00
HoNamDuong 96bdf0af44 fix(awful.key.keygroups): can't use 0 . key 2023-06-06 22:59:42 +07:00
Matthias Paulmier 98ceb3f9e9
docs: Fix links in ruled.notifications 2023-06-01 08:51:02 +02:00
mergify[bot] 485661b706
Merge pull request #3225 from mphe/focus_bydirection_fix
Use focus.filter in awful.client.focus.(global_)bydirection
2023-05-18 13:59:42 +00:00
mergify[bot] b13ac3e34d
Merge pull request #3790 from mireq/fix-layoutbox-rendering
Layoutbox rendering is blurry on HiDPI screen
2023-05-16 17:29:08 +00:00
Aire-One 449b00b117
ci(Mergify): configuration update (#3809)
Signed-off-by: Aire-One <null>
2023-05-16 10:13:21 -07:00
Miroslav Bendík b6421667d9 Removed unused require 2023-05-13 07:22:06 +02:00
Aire-One 6f000aad2a
Merge pull request #3783 from mireq/fix-signal-memory-leak
Connect signal and disconnect signal leaks memory
2023-05-03 19:14:14 +02:00
INeido d4555f7dba
Fix typo in taglist.lua (#3803)
* Fix typo in taglist.lua

Just a small typo correction from 'templete' to 'template' in the comments.

* Fix another typo in taglist.lua

Also changed 'genetate' to 'generate'
2023-05-01 05:45:36 +02:00
frankfut b6263bf209
Fix typo in example wibox.widget.textbox file (#3795)
In tests/examples/wibox/widget/textbox/line_spacing.lua, there is a typo
It's supposed to be "has", but it's "shas", this is obviously not a grammar issue, so it's a typo.
2023-04-23 00:28:45 -07:00
Miroslav Bendík 948174d1c6 Clear sigfuncs array using cptr_array_wipe 2023-04-08 07:01:25 +02:00
Miroslav Bendík a03aaec1dc Variation without load_silently 2023-03-26 08:09:39 +02:00
Miroslav Bendík bca49ce408 Whitespace 2023-03-26 07:58:15 +02:00
Miroslav Bendík eccf35fa23 Fixed blurry rendering of layoutbox 2023-03-26 07:45:30 +02:00
Miroslav Bendík b3f50d3e14 Added signal array memory deallocation 2023-03-01 08:40:18 +01:00
David Kosorin b54e50ad6c
Update taglist when tag.volatile value is changed (#3765)
The `volatile` property is supported by the taglist (theme variables
`beautiful.taglist_bg_volatile` and `beautiful.taglist_fg_volatile`)
but taglist is not updated when the property is changed.
2023-01-16 15:02:11 -08:00
Hoid d5a987d9c6
Update 07-my-first-awesome.md (#3760)
The original documentation told me to just copy the `theme.lua` file, but that would yield the error:
![Error](https://i.imgur.com/nZVedGA.png)
I realized that the `theme.lua` by itself would call the surrounding files like so: `themes_path.. "default/example.png"

Would this change be possible?
2023-01-11 23:53:48 -08:00
Michael ee06634599
docs: fix type for 05 awesomerc (#3753)
L81 `will` -> `well`
2022-12-18 13:27:40 -08:00
王恒 1239cdf4bc
docs(naughty): fix broken link (#3749)
* docs(naughty): fix broken link

New GNOME developer documentation website
https://discourse.gnome.org/t/new-gnome-developer-documentation-website/7134

* docs(naughty): fix broken link
2022-12-09 20:50:17 +01:00
David Kosorin d3c3380168
Arrange layout when client gets untagged (#3748)
This fixes the following bug.

When client gets untagged with current tag then the tag layout
is not arranged. This can leave empty space in some layouts.
To fix this, the user must manually ensure layout arrange using
other action (e.g. resize any client, unselect and select again current
tag, ...).

**Steps to reproduce:**

1. Initial state (`awful.layout.suit.tile` layout)

        tag 1 (selected)  tag 2
        +───+─────────+   +─────────────+
        |   |    2    |   |             |
        |   +─────────+   |             |
        | 1 |    3    |   |    empty    |
        |   +─────────+   |             |
        |   |    4    |   |             |
        +───+─────────+   +─────────────+

2. Toggle tag 2 on client 4 (`c4:toggle_tag(t2)`)

        tag 1 (selected)  tag 2
        +───+─────────+   +─────────────+
        |   |    2    |   |             |
        |   +─────────+   |             |
        | 1 |    3    |   |      4      |
        |   +─────────+   |             |
        |   |    4    |   |             |
        +───+─────────+   +─────────────+

3. Toggle tag 1 on client 4 (`c4:toggle_tag(t1)`)

    **Actual result:**

        tag 1 (selected)  tag 2
        +───+─────────+   +─────────────+
        |   |    2    |   |             |
        |   +─────────+   |             |
        | 1 |    3    |   |      4      |
        |   +─────────+   |             |
        |   |  empty  |   |             |
        +───+─────────+   +─────────────+

    **Expected result:**

        tag 1 (selected)  tag 2
        +───+─────────+   +─────────────+
        |   |    2    |   |             |
        | 1 +─────────+   |      4      |
        |   |    3    |   |             |
        +───+─────────+   +─────────────+
2022-12-08 09:01:48 -08:00
croyleje e281fa3a32
Grammar correction. (#3744)
Corrected misspelled work in qutebrowser hotkeys pupup.
2022-12-03 14:30:08 -08:00
Sean Chapel 56835aef4a
fix xrandr 1.5 virtual monitors. issue 3132 (#3743) 2022-12-03 14:18:44 -08:00
Kievits Rene 90460b47d3
mousegrabber: add possible nil value as cursor. Closes #3721. (#3724)
Co-authored-by: Lucas Schwiderski <4508454+sclu1034@users.noreply.github.com>

Co-authored-by: Rene Kievits <crylia@protonmail.com>
Co-authored-by: Lucas Schwiderski <4508454+sclu1034@users.noreply.github.com>
2022-11-14 07:37:42 -08:00
Emmanuel Lepage Vallée 17eee18d8b
Merge pull request #3461 from poisson-aerohead/screenshot-lib
User Facing Screenshot API
2022-11-13 22:29:53 -08:00
Emmanuel Lepage Vallee e088fe9aed tests: Improve the awful.screenshot test coverage. 2022-11-13 17:35:32 -08:00
Emmanuel Lepage Vallee 9207b78f81 doc: Add `awful.screenshot` examples. 2022-11-13 17:35:32 -08:00