Commit Graph

7369 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee cd632e4a84 mouse.dragtotag: Fix and port to the new move API
It wasn't really working as it would in other WM. It might have
been a feature, but I got the behavior in line with KDE and Gnome.
2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee a62e749216 mouse.snap: Add some configuration options 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee e31563b056 mouse.move: Return the corner 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 6e354cd376 doc: Add proper mouse documentation 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee a39b93f2e3 mouse: Add is_*_mouse_button_pressed helper properties. 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee e78ad709e7 doc: Move request:: handler to their own documentation section 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 47fffb5eee mouse: Add current_client property
It is called wibox instead of drawin because from the user
point of view, it will be a wibox anyway.
2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee fc2d359722 doc: Add a coords example
This forced the `coords()` documentation to be moved to Lua.
Keeping it in the C file caused yet another example CMake hack.
2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 800b8c7d4a doc: Merge awful.mouse and mouse documentation pages
Just like client, tag and screen, this is to avoid new users some
confusing implementation details.
2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee e8dd707508 tests: The the mouse miss handler 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 0b6cd90dce mouse: Implement the Lua custom property handler 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 424181248a mouse: Add property miss handler.
Just like luaobject has, but for "static" classes.
2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee f0546b900d tests: Improve the placement compositing tests 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee bb0a2addb4 tests: Add an option to disable @usage ldoc tag 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 07e1b975a7 mouse.snap: Use a composed placement function 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 1802e9e2fe awful.placement: Add a `scale` function 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 80ee4e9f5d awful.mouse.snap: Add a visual cue 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 91cdc4a899 awful.mouse.snap: Support windows 7 style screen edges snap 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee baec2efe2d awful.mouse.move: Fix snapping support 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 86ca6222e2 awful.mouse.snap: Add a configurable default distance 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 2624370cc0 awful.mouse: Move snap into a submodule 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee b5a1a8d6e5 layout: Handle tiled client request::geometry 'mouse.move' 2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee 688021d087 ewmh: Ignore request::geometry for tiled clients
It causes flicker
2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee cdcfb913f1 awful.mouse: Move clients using request::geometry 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee c286470c17 awful.placement: Port `under_mouse` to the new argument syntax 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee 2f819df7f7 awful.placement: Add 'offset' argument 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee e6a04a5922 awful.placement: Extend the compositing feature
It can now keep the different return values and use them in
later chain nodes.

It also add a "virtual" geometry argument so the geometry is applied
only after the last node is executed.

Finally, it fixes using pretend and a composite chain at the same time.
2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee be455cb140 awful.mouse: Add a request::geometry handler. 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee f8f57fb6b7 awful.mouse: Add a generic mousegrabber
Previously, all layouts had their own mouse grabbing logic. The
new one is based on the client request::geometry feature.
2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee e93e2913b6 awful.placement: Fix a closest_corner corner case
When the mouse was exactly on the right or bottom edge, there was a
rounding error.
2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee 7242b30c01 awful.mouse: Deprecate awful.mouse.client.corner 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee 75af0a24c7 awful.placement: Add a 'pretend' option 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee 75764108e1 awful.placement: Make all functions return the geometry 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee 3e7a7f23c2 tests: Test awful.placement.resize_to_mouse 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee 5f17f1aa83 resize_to_mouse: Support size_hints 2016-04-30 04:27:33 -04:00
Emmanuel Lepage Vallee 604ea15c45 awful.placement: Add a 'resize_to_mouse' function 2016-04-30 03:34:14 -04:00
Emmanuel Lepage Vallee a072e34194 shims: Add the request:: signals 2016-04-30 03:34:14 -04:00
Emmanuel Lepage Vallée 201090100b Merge pull request #854 from actionless/use-gio-in-awful-util-is-dir
refactor(awful: util): use lgi.Gio for is_dir
2016-04-28 00:06:11 -04:00
Emmanuel Lepage Vallee 693a87ef2e mouse: Avoid an error when the client is killed while moving
to reproduce:

1) spawn an xterm
2) enter 'sleep 10 && killall xterm'
3) start moving the terminal

There will be an error

(found by a yet to be commited integration test)
2016-04-27 19:55:39 -04:00
actionless 14f7d20d0f refactor(awful: util): use lgi.Gio for is_dir 2016-04-27 18:30:41 +02:00
Wolfgang Popp 76313263b6 Add clear() function to awful.widget.graph and doc fixes (#847)
* awful.widget.graph: add clear() function.

* awful.widget.graph: doc fixes for add_value.
add_value did not show up in generated luadoc. And the value parameter does not need to be between 0 and 1.

* awful.widget.graph: local functions clear and add_value as methods of graph.
2016-04-26 22:14:09 +02:00
Daniel Hahler ad304a2596 Make awful.client.focus.history.list public (#842)
There used to be `awful.client.data.focus`, which was moved to
`awful.client.focus.history.internal`.
While the former was accessible, the latter is not.

This is useful to get a list of most recently focused clients, without
having to hook into the signal yourself.

Closes https://github.com/awesomeWM/awesome/issues/841.
2016-04-26 10:02:23 +02:00
Uli Schlachter 0d4cc5f43a Fix integer overflow in overflow checking functions (#851)
The min/max arguments to the integer range checking functions are integer. We
call these with UINT32_MAX in two places and this value (notice the "U" for
"unsigned") does not fit into a signed integer. Hence, there is an integer
overflow at compile time and the maximum value that is actually checked for is
-1.

Fix this by using lua_Number (double) instead of int.

Fixes: https://github.com/awesomeWM/awesome/issues/840
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-26 00:51:51 +02:00
Emmanuel Lepage Vallée dace6d3721 Merge pull request #849 from actionless/fix-awful-rule-floating
fix(awful: rules): floating property
2016-04-25 15:09:29 -04:00
actionless cdb5a0f046 fix(awful: rules): floating property 2016-04-25 15:43:14 +02:00
Emmanuel Lepage Vallee 58a6cdb440 doc: Add a missing '@' sign in mousegrabber documentation 2016-04-24 21:44:04 -04:00
Emmanuel Lepage Vallee 2ccc7c88d6 awful.mouse.snap: Fix invalid fallback 2016-04-23 22:12:28 -04:00
Daniel Hahler 135ff4b0c8 Use gears.protected_call with awful.rules callbacks (#843)
Fixes https://github.com/awesomeWM/awesome/issues/840#issuecomment-211823483.
2016-04-20 22:34:16 +02:00
Emmanuel Lepage Vallée cdc6909bc7 Merge pull request #824 from Elv13/rules_refactor
Rules refactor, part 1

This fix the following awful.rules bugs:

 * **x**: Broken when "border_width" is set or left titlebars are used
 * **y**: Borken when"border_width" is set or top titlebars are used
 * **width**: See above + right litlebar
 * **height**: Same as above
 * **switchtotag**: Have a race with the "manage" -> "tag.withcurrent" code in `awful.tag`
 * **tag**: Had dead code
 * **screen**: Had a race condition with switchtotag
 * **urgent**: Had a race with screen and another with switchtotag+focus
 * **focusable**: Was broken yet again when request::activate was introduced (and also because of FS1098, that I also fixed)
 * **no_overlap**: The "no_overlap" call in rc.lua "manage" section conflict with the geometry rules as the hints are not set (idk why).
 * **size_hints_honor**: If set to false, it would be applied too late, causing height and width offsets due to placement or various geometry related properties
2016-04-20 00:39:45 -04:00
Emmanuel Lepage Vallee d736850e60 tests: Fix urgent test use of deprecated functions
It caused noise in the test results
2016-04-20 00:11:04 -04:00