Commit Graph

3889 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee e23940cc6a imagebox: Expose the "optimal size" properties.
The `textbox` already has the equivalent. This will soon be used
by the new `wibox.container.border` widget.
2023-12-31 14:54:44 -08:00
Emmanuel Lepage Vallee ab121e9ac0 imagebox: Support a CSS file.
Before, the CSS had to be inline. Now that the border container uses
this code, it makes sense to make it more flexible.
2023-12-31 14:54:44 -08:00
Emmanuel Lepage Vallee 5c9ffb8ef3 imagebox: Expose the private SVG handling function.
To be used by `wibox.container.border`, which is a specialized imagebox.
2023-12-31 14:54:44 -08:00
Emmanuel Lepage Vallee ecc20dd0b8 imagebox: Add 3 new fit policies.
This will be used soon by a nice CSS inspired image slicer
container/layout.

They have a limitation inherited from Cairo of only working on a
single axis. This isn't important for 99% of the use case.
2023-12-31 14:54:42 -08:00
Peter Anderson cb72c0a8b1
Update menu.lua (#3876) 2023-12-29 13:19:12 -08: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
BarbUk 5daae2bb5d
Send a default action when notification is closed by user 2023-10-09 15:07:39 +02: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
HoNamDuong 96bdf0af44 fix(awful.key.keygroups): can't use 0 . key 2023-06-06 22:59:42 +07: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
Miroslav Bendík b6421667d9 Removed unused require 2023-05-13 07:22:06 +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
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
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
王恒 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
Emmanuel Lepage Vallee 9207b78f81 doc: Add `awful.screenshot` examples. 2022-11-13 17:35:32 -08:00
Emmanuel Lepage Vallee d92a1c498b awful.screenshot: Allow to export widgets instead of files.
Useful for alt-tab widgets and CDE / E16 style Iconified clients.
2022-11-13 17:35:32 -08:00
Emmanuel Lepage Vallee f55a334972 awful.screenshot: Add a delay feature.
This can also act as an auto-save feature if the delay is zero. It
also adds more signals. These signals are intended for creating
notifications. `awful` cannot safely depend on `naughty`, so this
intergration will have to be done by the users.
2022-11-13 17:35:32 -08:00
Emmanuel Lepage Vallee b7dcece40c awful.screenshot: Add keyboard support. 2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee fa971ceb7c tmp add keygrabber signal 2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee 6338412b5f awful.key: Fix the `modifiers` property.
It was called `mod` rather than `modifiers`.
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee c391fc7fe4 keygrabber: Add `:remove_keybinding()`.
It was possible to add new keys, but not remove existing ones.
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee f0a7f904f9 keygrabber: Add a new signal to catch awful.keys activations.
Some downstream modules with keys don't control the callbacks. Using
signals on multiple keys is more cumbersome than simply exposing
this at the keygrabber level.
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee aca9136b02 screenshot: Cleanup the API.
* Fix all warnings
 * Make indentation consistent across the file
 * Simplify/unify the validation (use `error()` rather
   than try to silently fix problems, move to setters)
   and fallback code (move to the getters rather than...
   everywhere)
 * Write the documentation
 * Finish the tests
 * Remove unnecessary constructors
 * Remove path builder because it belongs in
   `gears.filesystem` and wasn't really used anyway
 * Add more properties and a beautiful variable to
   replace `set_defaults` and hardcoded values.
 * Replace callbacks with signals (common pattern
   in modern AwesomeWM APIs)
 * Moved from `os.date` to GLib and some boilerplate
   code to make Debian devs less angry
 * Changed the way the snipping tool selection wibox works.
   Now it freeze the screenshot before the selection.
   The old way had a bunch of side effects for things
   like Qt/GTK comboboxes. It also could crash.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky 37ec7cd173 Clean up logging from Lua 5.1 and 5.2 error debug. Add a little more
test coverage.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky 9d9fedf945 Likely solution to lua 5.1 and 5.2 bug. 2022-11-13 16:53:32 -08:00
Brian Sobulefsky e8584f47b4 Debugging lua 5.1, lua 5.2 error. 2022-11-13 16:53:32 -08:00
Brian Sobulefsky fb77f90959 Zeroing in on lua 5.1 and 5.2 bug on GitHub. 2022-11-13 16:53:32 -08:00
Brian Sobulefsky ea3f82bdf0 Debugging Lua 5.1 and 5.2 on GitHub. 2022-11-13 16:53:32 -08:00
Brian Sobulefsky 1eb8371341 Error message addition to debug lua 5.1 and 5.2 out on GitHub jobs. 2022-11-13 16:53:32 -08:00
Brian Sobulefsky 75943e788b Add some more test coverage to get this PR to the requisite 91%. 2022-11-13 16:53:32 -08:00
Brian Sobulefsky 8f7750e6f2 Add tests for the snipper tool and the snip (defined geometry) routine
to increase test coverage.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky 52e0242ec6 Move some filesystem related logic in the screenshot lib to gears
request from awesome maintainers.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky 1fdefad750 Fix the failed test case and some issues regarding variable naming.
There will still be one more commit to replace some of the screenshot
module code with available functionality from gears (e.g. the filesystem
module).
2022-11-13 16:53:32 -08:00
Brian Sobulefsky 5a7faa0010 Develop the awful.screenshot module into an object oriented format. Add
tests for the awful.screenshot module.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky efc9adae7c Corrections to the lua documentation comment syntax. 2022-11-13 16:53:32 -08:00
Brian Sobulefsky 18ee0d6bf7 Add luadoc comments for awful.screenshot.init and fix a typo in the
mousegrabber callback (use the filename convenience variable 'fname').
2022-11-13 16:53:32 -08:00
Brian Sobulefsky 12a3fae456 This commit begins the development of a more appropriate user facing
screenshot API. It extends a prior commit which extended the lower level
content API, which had been a property of the client object but is now
available as a property of the screen object and a method of the root
object.

This commit creates a new screenshot module for the awful module. The
public functions include root(), screen(), client(), snipper(), and
snip(). These take root window, screen, and client window screenshots,
launch an interactive snip tool for cropped screenshots, and take a
cropped screenshot of a geometry passed by argument, respectively. The
init() function is also available for configuration. Using this library
is more appropriate for the average rc.lua.

Since the API is new, this commit does not include any changes to
rc.lua. The developers can modify rc.lua when there is sufficient
confidence in API stability and robustness.

lib/awful/init.lua is modified so that the awful module includes the new
lib/awful/screenshot.lua submodule.

Signed off: Brian Sobulefsky <brian.sobulefsky@protonmail.com>
2022-11-13 16:53:32 -08:00
Emily 5077c8381b
wibox.widget.slider: Add a handle cursor property (#3734)
* wibox.widget.slider: Add a handle cursor property
* wibox.widget.slider: Add a beautiful variable for handle_cursor
* wibox.widget.slider: Remove an unneeded or statement
* wibox.widget.slider: Move handle_cursor variable to the function it belongs in
2022-10-31 10:05:13 -07:00