summaryrefslogtreecommitdiff
path: root/func/warpcursor.lua
diff options
context:
space:
mode:
Diffstat (limited to 'func/warpcursor.lua')
-rw-r--r--func/warpcursor.lua22
1 files changed, 22 insertions, 0 deletions
diff --git a/func/warpcursor.lua b/func/warpcursor.lua
new file mode 100644
index 0000000..f1a46bd
--- /dev/null
+++ b/func/warpcursor.lua
@@ -0,0 +1,22 @@
+function warp_cursor(c)
+-- if c ~= client.focus or not c.warp_cursor then
+ if not c.warp_cursor then
+ return
+ end
+
+ -- dont allow moving mouse unless it is over another client or over nothing
+ local canmovemouse = mouse.current_client or (mouse.current_wibox or mouse.current_widget) == nil
+
+ if canmovemouse and mouse.current_client ~= c then
+ mouse.coords {
+ x = c.x + (c.width / 2),
+ y = c.y + (c.height / 2),
+ }
+ end
+end
+
+client.connect_signal("focus", warp_cursor)
+--client.connect_signal("property::size", warp_cursor)
+--client.connect_signal("property::position", warp_cursor)
+
+return warp_cursor