Commit Graph

9594 Commits

Author SHA1 Message Date
Uli Schlachter c2f29b04ee naughty.dbus: Fix inline icon data handling
LGI truncates GVariant bytestring instances at the first embedded \0
byte when using .value for "unwrapping". This commit works around that
problem by avoiding the .value API for accessing the image data [0].

Thanks a lot to Will Dietz for finding this problem and for providing a
preliminary patch fixing the problem. That saved me a lot of time [1].

[0]: https://github.com/pavouk/lgi/pull/223
[1]: eecdeb7d46

Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-03-22 18:08:24 +01:00
Will Dietz 9af1ed9a0f dbus.lua: don't include types, it's magical enough to not need them
(and so we were including "s" capabilities)
2019-03-18 21:16:54 +01:00
Uli Schlachter 047ef30d59 naughty.dbus: Switch to using Gio for DBus bindings
This starts the switch from our own, semi-broken DBus bindings to using
the sane bindings that Gio provides.

Part-of: https://github.com/awesomeWM/awesome/issues/1093
Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-03-18 21:16:54 +01:00
Will Dietz ed0c3ceb2c don't replace 'destroy' in existing notification, set destroy_cb (#2728)
The value passed as `args.destroy` becomes `destroy_cb`,
so use that name when updating an existing notification.

Fixes #2721.
Might also resolve #2692.
2019-03-18 14:03:14 -04:00
mergify[bot] d8687dc251
Merge pull request #2724 from necauqua/patch-2
Add forgotten nil-check to `notification.reset_timeout`
2019-03-13 22:01:02 +00:00
Adrian Gabriel 0642d92967 Fixed input_passthrough property not being set (#2723)
* Fixed input_passthrough property not being set

In the table of properties supplied to the `wibox` function, you couldn't set the `input_passthrough` property. You could only set it after the wibox was created like this: `my_shlick_wibox.input_passthrough = true`. This commit fixes that and now you can set it in both ways.
2019-03-12 17:23:53 +01:00
Anton Bulakh 8493fd1829
Add forgotten nil-check to `notification.reset_timeout`
When you call `reset_timeout` on a notification with 0 timeout and thus no timer, a nil field error occures.
(can be tested with `awesome-client 'require"naughty".notification{message="TEST",timeout=0}:reset_timeout()'`)
Everywhere else in similar places (even at the beginning of the `reset_timeout`) the `self.timer` field is checked so i guess it was just forgotten there.
2019-03-11 20:45:31 +02:00
mergify[bot] f69b72ab36
Merge pull request #2706 from psychon/update_new
Mention the new selection API in NEWS
2019-03-09 18:07:37 +00:00
Uli Schlachter d694274d64 Update the NEWS
Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-03-07 21:44:04 +01:00
mergify[bot] 795c792d11
Merge pull request #2661 from psychon/selection_global
Change the selection global
2019-03-07 02:59:33 +00:00
mergify[bot] 05b4735911
Merge pull request #2719 from Elv13/make_next_to_pos_optional
placement: Handle when the preferred position choice isn't set.
2019-03-06 18:45:05 +00:00
Emmanuel Lepage Vallee 29d89c5e8a placement: Handle when the preferred position isn't set.
This removes a FIXME from the code.
2019-03-04 15:52:39 -05:00
Emmanuel Lepage Vallée f7c20b38f1
Merge pull request #2715 from Elv13/notif_replace_id2
Fix 4 issues related to the notification refactoring
2019-03-03 16:43:09 -05:00
Emmanuel Lepage Vallee 0b820b077d tests: Fix the tests then notify-send is not installed.
Fix #2684
2019-03-03 16:24:17 -05:00
Emmanuel Lepage Vallee b0cf594de5 naughty: Set a default reason in `:destroy()`.
Fix #2713
2019-03-03 16:24:17 -05:00
Emmanuel Lepage Vallee 4930978424 naighty: Fix to use the same object using `naugthy.notify{replace_id}`
Fix #2678
2019-03-03 16:24:17 -05:00
mergify[bot] 3ff795b4fc
Merge pull request #2716 from psychon/once_optional_rules
awful.spawn: Make rules optional in once / single_instance
2019-03-03 21:20:10 +00:00
Daniel Hahler a802d0c2c8
Merge pull request #2711 from psychon/improve_test_runner
Improve the test runner: allow "direct" tests (instead of only steps-based tests)
2019-03-03 11:12:04 +01:00
Daniel Hahler d21fd74efc
Merge pull request #2665 from psychon/util-errors
Use xcb-errors library if it is available
2019-03-03 11:11:26 +01:00
Uli Schlachter be0b565c6e .travis.yml: Install libxcb-errors in one of the builds
Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-03-03 09:16:38 +01:00
Uli Schlachter a57c79687a Use xcb-errors library if it is available
This library allows to get a human-readable string describing X11
requests, events, and errors. We now use this library to pretty-print
X11 errors if we get any.

To test this code, I added the following two lines to AwesomeWM so that
X11 errors are generated:

    xcb_set_input_focus(globalconf.connection, 42, 42, 42);
    xcb_randr_set_output_primary(globalconf.connection,
        globalconf.screen->root, 42);

Output without xcb-errors:

    X error: request=SetInputFocus (major 42, minor 0), error=BadValue (2)
    X error: request=(null) (major 140, minor 30), error=(null) (147)

Output with xcb-errors:

    X error: request=SetInputFocus (major 42, minor 0), error=Value (2)
    X error: request=RandR-SetOutputPrimary (major 140, minor 30), error=RandR-BadOutput (147)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-03-03 09:15:29 +01:00
Uli Schlachter 244932749b awful.spawn: Make rules optional in once / single_instance
There is not much good reason why this should be required and making it
optional is almost trivial, as this patch shows.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-03-03 08:52:31 +01:00
Emmanuel Lepage Vallee 9954e43521 tests: Use the same string for both notification lines.
Otherwise you cannot compare the width since `r` is thinner than `z`
in some non-monospace fonts.
2019-03-02 12:51:03 -05:00
Uli Schlachter a7f4777272 test-gravity.lua: Turn into a direct test
This commit makes test-gravity.lua use the new infrastructure that was
added in the previous commit: Instead of pretending to be a steps-based
test, this is now a direct test. This gets rid of all the useless
wait_a_bit steps that exist purely to satisfy the steps-based test
runner.

This commit makes test-gravity.lua about one third shorter. Also, the
test might run a tiny bit faster, since there is no more timer that
regularly checks if the test is done, but instead it finishes
immediately when the external process finishes.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-28 13:27:23 +01:00
Uli Schlachter f304c608e8 tests/_runner.lua: Allow non-step based tests
The current _runner.lua expects a table containing steps to be passed
in. However, not all tests look like this. This commits adds an API to
the runner that allows tests to run however they like. They just have to
call run_direct() initially and call done() when they are finished.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-28 13:27:23 +01:00
mergify[bot] e4e7abda5f
Merge pull request #2709 from psychon/ungrab_server_flush
Make sure we always flush after xcb_ungrab_server()
2019-02-27 11:57:11 +00:00
Daniel Hahler 998435c055
Merge pull request #2710 from psychon/dont_recommend_popen
Do not recommend io.popen()
2019-02-27 11:46:36 +01:00
Uli Schlachter 731e4736e5 Do not recommend io.popen()
Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-27 10:26:16 +01:00
Uli Schlachter aa21156ced Make sure we always flush after xcb_ungrab_server()
Between xcb_grab_server() and xcb_ungrab_server(), XCB's output buffer
might fill up. Thus, the GrabServer request might already have been sent
to the server, but the following UngrabServer request could end up in
XCB's output buffer. There, it might sit around for quite a while and
cause problems.

Since we cannot detect when XCB's output buffer fills up, we just always
flush after generating an UngrabServer request.

Very-likely-Fixes: https://github.com/awesomeWM/awesome/issues/2697
Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-27 10:20:22 +01:00
Uli Schlachter 13f4954567 Deprecate selection()
Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-26 22:16:50 +01:00
Uli Schlachter ae58192951 Move selection API under the "selection" global
This moves selection_acquire to selection.acquire, selection_getter to
selection.getter and selection_watcher to selection.watcher. The only
user-visible change due to this is that type(selection) is now "table"
instead of "function". If that breaks something for you, tough luck.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-26 22:16:49 +01:00
mergify[bot] 2d2dba0d80
Merge pull request #2643 from psychon/selection_ownership
Add API for setting clipboard contents
2019-02-26 19:57:05 +00:00
Daniel Hahler 4297c2b645
Travis: use discount instead of lua-discount (#2707)
Fixes https://github.com/awesomeWM/awesome/issues/2700.
2019-02-26 13:50:27 +01:00
mergify[bot] 5413396071
Merge pull request #2708 from psychon/remove_old_comment
Remove useless comment from .travis.yml
2019-02-26 10:13:20 +00:00
Uli Schlachter cdff17ef9b Remove useless comment from .travis.yml
Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-25 19:38:45 +01:00
Daniel Hahler 01ad63eaaa
Travis: apidoc: fix build URL (#2705) 2019-02-25 13:50:54 +01:00
Emmanuel Lepage Vallée f049046332
Merge pull request #2696 from alfunx/naughty-legacy-resize-on-update
naughty: Resize notification when setting text
2019-02-24 15:12:35 -05:00
Alphonse Mariya 04c9477f73
test: Test notification resizing on text change 2019-02-24 19:46:25 +01:00
mergify[bot] d119a9a20a
Merge pull request #2689 from blueyed/naughty-legacy
Fix naughty legacy wrt to id
2019-02-24 17:46:32 +00:00
Emmanuel Lepage Vallee e9d44e820d test: Test the notification ids 2019-02-24 12:08:50 -05:00
Alphonse Mariya 494474ba0a
naughty: Resize notification when setting text 2019-02-23 18:54:39 +01:00
Emmanuel Lepage Vallee 347d87418b naughty: Always have an id.
Fixes #2678
2019-02-22 11:47:46 -05:00
Emmanuel Lepage Vallee ecec00f425 tests: Disable a test that's invalid 2019-02-22 11:47:46 -05:00
Daniel Hahler 36d7535cd5
Minor: typos, Makefile aesthetics (#2690)
* lib/awful/mouse/resize.lua: s/extendable/extensible

* Fix code comment typo: s/find/found

* Makefile: remove -n with echo

Missed in e9b5e28d1.
2019-02-22 08:42:43 +01:00
mergify[bot] c4ff89a5fe
Merge pull request #2681 from blueyed/luajit-ubuntu
Travis: use luajit from Ubuntu
2019-02-21 06:07:15 +00:00
Daniel Hahler 4c2d0fd4dc
Merge pull request #2669 from psychon/more_idle
Move more stuff from awesome_refresh to g_idle_add
2019-02-21 04:59:27 +01:00
Daniel Hahler 44bbefac38 Travis: use luajit from Ubuntu
It has 2.0.4 there.

Ref: https://packages.ubuntu.com/search?suite=xenial&searchon=names&keywords=luajit
2019-02-21 04:46:30 +01:00
mergify[bot] a0731023e4
Merge pull request #2682 from blueyed/travis-addons
Travis: install via apt addons
2019-02-20 06:59:15 +00:00
mergify[bot] 3cc364cef4
Merge pull request #2673 from alfunx/recolor-toggle_state
beatiful.theme_assets: recolor titlebar icons for `active` and `inactive` states
2019-02-19 23:05:25 +00:00
Alphonse Mariya 00d38b1a2d
beatiful.theme_assets: recolor titlebar icons for `active` and `inactive` states 2019-02-19 23:33:18 +01:00