Emmanuel Lepage Vallee
3dab42e6a2
mouse: Restore support for layouts with their own mousegrabber
2016-04-30 04:27:34 -04:00
Emmanuel Lepage Vallee
e41853a47a
tests: Test floating client move, snap and resize
2016-04-30 04:27:34 -04:00
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
Uli Schlachter
daf05e6eb1
xresources theme: Use a RecordingSurface for wallpaper
...
This theme draws a minimal wallpaper directly. This commit replaces the
ImageSurface of the wallpaper with a RecordingSurface. This shouldn't have any
visible effect, except for reducing memory usage, because an ImageSurface needs
a lot of memory and is only eventually released by the garbage collector. A
RecordingSurface instead just records the operations that were done which needs
a lot less memory for the simple operations done here.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-30 09:36:50 +02:00
Uli Schlachter
1714a6513b
xresources theme: Let beautiful.wallpaper be a function
...
This makes the code create a wallpaper of the correct size, instead of cairo
later having to scale the wallpaper up to fill the screen (if it has a different
size than screen 1).
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-30 09:36:50 +02:00
Uli Schlachter
a55baf9e3c
Default config: Allow beautiful.wallpaper to be a wallpaper
...
This e.g. allows themes to specify different wallpapers for different screens.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-30 09:36:50 +02: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
Uli Schlachter
a1e340d118
Merge branch 'replace-popen-to-async' of https://github.com/actionless/awesome
2016-04-30 09:11:50 +02:00
Uli Schlachter
a60b718db2
Merge branch 'placement-fallback-to-screen.workarea' of https://github.com/blueyed/awesome
2016-04-30 09:11:33 +02:00
Uli Schlachter
2da981afdd
Merge branch 'screen-gc' of https://github.com/psychon/awesome
2016-04-30 09:10:26 +02:00
Uli Schlachter
ede88d8bce
Fix awful.screen.getbycoord when no screens exist
...
When there are no screens, screen[1] causes an error. Thus, this isn't a safe
fallback for these functions. Instead, this commit makes the code prefer the
primary screen, if possible. If no screen exists, then screen.primary will be
nil, but at least it won't throw an error like screen[1] does.
(This also changes the outdated copy of getbycoord that exists in
wibox.drawable)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-28 17:42:15 +02:00
actionless
4eb80853c2
feat(lib: menubar): replace io.popen to lgi
2016-04-28 17:07:24 +02: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