Commit Graph

6446 Commits

Author SHA1 Message Date
Uli Schlachter 2d8bf89ff9 awesome.spawn(): Add possibility to return pipes
This adds three new arguments to awesome.spawn() that tell it to return pipes
for stdin, stdout and stderr of the spawned process.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-08-13 09:05:52 +02:00
Uli Schlachter a166f86864 Merge branch 'keyboardlayout_no_layout_entry' of https://github.com/psychon/awesome 2015-08-12 09:40:12 +02:00
Uli Schlachter fe027345de Merge branch 'do-not-require-xdotool' of https://github.com/blueyed/awesome 2015-08-12 09:39:32 +02:00
Daniel Hahler e47773933c Bump required lgi version to 0.7.1
Ref: https://github.com/pavouk/lgi/issues/41
Ref: https://github.com/awesomeWM/awesome/pull/392
2015-08-11 19:08:35 +02:00
Daniel Hahler 85facc0391 tests/run: handle 'expr 1 - 1' (exitcode 1); check for running awesome 2015-08-11 19:08:35 +02:00
Daniel Hahler 71f549ee79 Travis: add lgi 0.7.0 to the build matrix
This makes sure that the build and tests succeed with the minimal required
version.
2015-08-11 19:08:35 +02:00
Uli Schlachter 008cae50b2 awful.widget.keyboardlayout: Rename private members
I'm working on something that adds :layout functions to widgets. This clashes
with the keyboardlayout widget's use of an entry with this name. This change
adds an underscore as a prefix to the private data members of the
keyboardlayout.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-08-11 12:44:48 +02:00
Daniel Hahler 68b0fa243f Add "visible" property for widgets
Widgets with `visible = false` will not be drawn.

Closes https://github.com/awesomeWM/awesome/pull/326.
2015-08-10 23:09:07 +02:00
Daniel Hahler 5ad3f03283 keygrabber: ignore modifiers for name of control keys
`xkb_state_key_get_one_sym` returns `Meta_L` for a (release) event of
`Alt_L` when Shift is pressed.

This patch changes it to use `xcb_key_symbols_get_keysym` in the same
way like normal key handling does it in `event_handle_key`.  This was
changed in 372d12e, but apparently forgotten for the keygrabber.

Closes https://github.com/awesomeWM/awesome/pull/364.
2015-08-10 23:05:16 +02:00
Daniel Hahler 2b224dd954 tests: use root.fake_input instead of xdotool
Ref: https://github.com/awesomeWM/awesome/issues/328.
Closes: https://github.com/awesomeWM/awesome/pull/391.
2015-08-10 23:04:19 +02:00
Daniel Hahler ccaa8154be tests: use root.fake_input instead of xdotool
Ref: https://github.com/awesomeWM/awesome/issues/328
2015-08-04 21:30:38 +02:00
Daniel Hahler baeb8fd2b5 client_resize_do: remove honor_hints argument
This was only used by client_resize before, which now handles this
itself.

Ref: https://github.com/awesomeWM/awesome/pull/383#commitcomment-12483405.
2015-08-04 20:50:49 +02:00
Daniel Hahler 56d9e3b9de client_resize: apply size hints before calling client_resize_do
This will skip calling `client_resize_do` in case of honored size hints.

This could be also done in `client_resize_do`, but it appears to be
meant to force the resize.

Closes https://github.com/awesomeWM/awesome/pull/383.
2015-08-04 20:50:41 +02:00
Daniel Hahler b028a0ba1d xresources.apply_dpi: use "round" instead of "ceil"
Given an outcome of e.g. 1.01 its more sane to use 1 than 2, especially
for `border_width`.

This uses the method from `wibox.layout.flex`.

Closes https://github.com/awesomeWM/awesome/pull/389.
2015-08-04 20:48:17 +02:00
Daniel Hahler 88ba798ae3 Travis: apidoc: script, compare view, PR comment
This moves the apidoc uploading to build-utils/travis-apidoc.sh, which
makes it more pleasant to maintain/read.

Additional enhancements:
 - handle all branches and PRs, and provide compare view links as a comment
   for the latter, via awesome-robot.  This gets skipped for PRs for
   forks, because then the Github secret is not available for security
   reasons.
 - use a merge commit to keep relevant changes and boilerplate together.
 - simplified/shorter AWESOME_VERSION override.
 - add last commit message of the repo to the apidoc's commit message.

Closes https://github.com/awesomeWM/awesome/pull/358.
2015-08-02 21:55:16 +02:00
Daniel Hahler ecddee44cb Apply left/top titlebars in event_handle_configurerequest
I have noticed that the HeidiSQL session manager window/dialog will be
moved down by the height of the top titlebar when selecting an entry
from the server list.

Closes https://github.com/awesomeWM/awesome/pull/385.
2015-08-02 18:00:52 +02:00
Daniel Hahler aa93a8eac9 Merge branch 'tooltips'
Minor fixes / improvements to tooltips.

Closes https://github.com/awesomeWM/awesome/pull/373.
2015-08-02 15:38:38 +02:00
Daniel Hahler 9883d3484d titlebar: add tooltips for icon buttons
This uses the button name in the tooltip's text.
2015-08-02 15:36:54 +02:00
Daniel Hahler 14e63fbcd7 awful.tooltip: do not hide when entering its wibox
Because of `placement.under_mouse` (and without
`placement.no_offscreen` fixing it), this will cause the tooltip to hide
immediately again.

There is no need for hooking into this signal, but this adds a click
handler to close the tooltip when clicking into it.
2015-08-02 15:36:54 +02:00
Daniel Hahler a8d224ef5c doc: fix for set_markup 2015-08-02 15:36:54 +02:00
Daniel Hahler 6880835c26 tooltip: delay_show: stop timer, handle (non-)stopped timers
This splits the logic for `delay_show` out of `show`/`hide`, and handles
an already stopped timer.  The timer gets also stopped after the tooltip
has been displayed.

Ref: https://github.com/awesomeWM/awesome/issues/371.
2015-08-02 15:36:54 +02:00
Daniel Hahler 9bcd87c727 awful.tooltip: skip set_geometry if not visible
`set_geometry` will be called in `show`, and is not necessary when the
tooltip is not visible.
2015-08-02 15:36:54 +02:00
Daniel Hahler 87ee480853 CMakeLists.txt: a_icon_convert: skip existing sources
Fixes: https://github.com/awesomeWM/awesome/pull/215#issuecomment-103185810.
2015-08-02 15:22:37 +02:00
Hajime Branko Yamasaki Vukelic 95b932c4db Replace the default theme titlebar icons
Closes https://github.com/awesomeWM/awesome/pull/369.
2015-08-02 15:22:22 +02:00
Daniel Hahler 65e9d6d59f Add dpi handling to naughty, awful.menu and awful.widget.common
Closes https://github.com/awesomeWM/awesome/pull/312.
2015-08-01 17:48:42 +02:00
Daniel Hahler 0ea2bbb126 awful.menu: use beautiful.xresources.apply_dpi for margins 2015-08-01 17:47:51 +02:00
Daniel Hahler 5c78cf07fc naughty: use beautiful.xresources.apply_dpi for margin and border 2015-08-01 17:47:43 +02:00
Daniel Hahler 4a3589aad4 widget.common.list_update: improve margins (dpi / imagebox)
Use `beautiful.xresources.apply_dpi` for `common.list_update`'s textbox
margins, and add a left margin for the imagebox, too.

The latter is useful/nicer with the default behavior of an inverted
style for the focused tasklist entry.
2015-08-01 17:39:48 +02:00
Daniel Hahler 1118ec4439 Do not call `xcb_ungrab_key` twice (before `xwindow_grabkeys`)
It gets called in `xwindow_grabkeys` always:

    xwindow_grabkeys(xcb_window_t win, key_array_t *keys)
    {
        /* Ungrab everything first */
        xcb_ungrab_key(globalconf.connection, XCB_GRAB_ANY, win, XCB_BUTTON_MASK_ANY);

Closes https://github.com/awesomeWM/awesome/pull/366.
2015-08-01 14:16:06 +02:00
Daniel Hahler 09dce08fd4 gears.debug: add support for limited depth
This is useful with big tables and might even be necessary to prevent
infinite recursion.

To prevent the latter, the default is 10.

This adds an indicator when `depth` is reached for tables.

    awesome# return require("gears").debug.dump_return(t4, "", 2)
       string " : table: 0x1580130
      1 : table: 0x16951d0
        1 : wibox.widget.base (table) […]
        2 : wibox.widget.base (table) […]
        3 : 4 (number)
        4 : 5 (number)
        5 : foo (string)
      2 : table: 0x16ac790
        1 : table: 0x16951d0 (table) […]
      3 : table: 0x16cc500
        1 : table: 0x16951d0 (table) […]
        2 : table: 0x16ac790 (table) […]"

    awesome# return require("gears").debug.dump_return(t4, "", 1)
       string " : table: 0x1580130
      1 : table: 0x16951d0 (table) […]
      2 : table: 0x16ac790 (table) […]
      3 : table: 0x16cc500 (table) […]"

Closes https://github.com/awesomeWM/awesome/pull/372.
2015-08-01 11:24:35 +02:00
Daniel Hahler 896ab0a286 Merge pull request #376 from blueyed/more-tostring
More tostring metamethods for drawable and wibox
2015-08-01 11:22:04 +02:00
Daniel Hahler d3b682f2b6 wibox: add __tostring metamethod 2015-08-01 11:21:50 +02:00
Daniel Hahler 430e8664be wibox.drawable: add __tostring meta method 2015-08-01 11:21:50 +02:00
Daniel Hahler fa6b7c390f make_widget: keep original "tostring" value in parenthesis
This provides the usual table ID, which can be useful during debugging.
2015-08-01 11:21:50 +02:00
Daniel Hahler 9494f3f0c3 Merge pull request #377 from blueyed/naughty-focused-screen
Naughty: default to focused screen
2015-08-01 11:19:11 +02:00
Daniel Hahler 475b469f96 doc: tooltip: add type/optional information
Closes https://github.com/awesomeWM/awesome/pull/379.
2015-08-01 11:14:06 +02:00
Daniel Hahler 836aded988 Travis: build apidoc only once, for latest Lua 2015-07-30 01:18:54 +02:00
Daniel Hahler 4aa6c33951 awesome_atexit: keep client order always
This is not only useful for soft restarts, but also when TERMinating
awesome during development/testing.

The drawback appears to be that it would leak a property on the root
window in case it is really meant to be quit.

Closes https://github.com/awesomeWM/awesome/pull/374.
2015-07-30 01:04:05 +02:00
Uli Schlachter b75f374d9c Fix sporadic test failure due to lgi
With version 2.0rc5, Busted started cleaning up between tests more thoroughly.
The result was that it managed to unload and reload lgi. However, the C part of
lgi is not safe to be reloaded. This caused sporadic errors in the test suite
runs.

Work around this via a helper script that is run before Busted starts running
tests. When we load lgi in this helper script, it is loaded before Busted starts
saving and restoring everything and thus lgi won't ever be unloaded.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-07-29 21:31:47 +02:00
Abdo Roig-Maranges 3942672d31 Fix missing parenthesis to a call of screen.focused
Closes https://github.com/awesomeWM/awesome/pull/370.
2015-07-29 18:47:34 +02:00
Daniel Hahler d5eef64a5d Travis: remove cmake from apt-get install, we install a more recent one anyway 2015-07-29 04:16:57 +02:00
Daniel Hahler 861cfc5915 wibox.widget.textbox: skip setting unchanged layout properties
In case the text, markup or other layout properties have not changed, there's
no need to update the widget.

Based on 5a2a5d03d3/lib/wibox/widget/textbox.lua.
Closes https://github.com/awesomeWM/awesome/pull/335.
2015-07-29 01:20:23 +02:00
Uli Schlachter 0713e2e50d Add a missing "_" in "__newindex"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-07-28 21:29:05 +02:00
Daniel Hahler 481cd8f843 minor: doc: fix typo in buffer_init 2015-07-28 19:31:51 +02:00
Daniel Hahler b08d3caba8 awful.widget.layoutbox: add tooltip with the layout's name
Closes https://github.com/awesomeWM/awesome/pull/322.
2015-07-28 19:31:26 +02:00
Daniel Hahler 355e4696ba Preserve old mousegrabber behavior (additionally)
18f6ab1 changed the behavior when resizing floating clients using the
mouse (via modkey + RMB).

Previously, you could initiate the mousegrabber using e.g. "modkey +
RMB", release the key and button, and resize the window using the left
mouse button.

This restores this behavior by canceling the mousegrabbers only if the
cursor was moved, without _any_ mouse button being pressed.

Fixes https://github.com/awesomeWM/awesome/issues/309.
Closes https://github.com/awesomeWM/awesome/pull/310.
2015-07-28 13:09:50 +02:00
Daniel Hahler 5e6f104e0e Use luaL_traceback only with Lua 5.2+
It has been added in Lua 5.2, and should not require us to bump the
Lua dependency.  It is only meant to provide useful information, but is
not required.

This is a follow-up to 6e97b5f8.
2015-07-28 13:08:57 +02:00
Daniel Hahler bed8b26c60 Travis: add Lua 5.1 to the build matrix
Closes https://github.com/awesomeWM/awesome/pull/362.
2015-07-28 13:08:42 +02:00
Daniel Hahler 904b7a88ee doc: overhaul naughty documentation 2015-07-27 15:54:47 +02:00
Daniel Hahler f7e7d05047 doc: naughty: config.mapping moved to dbus.config.mapping 2015-07-27 15:32:11 +02:00