summaryrefslogtreecommitdiff
path: root/scripts/focusmodel.py
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-26 03:45:24 +0000
committerDana Jansens <danakj@orodu.net>2003-01-26 03:45:24 +0000
commit5168a8add5ed46f74b615ecc60738c1113606734 (patch)
tree67a965b5e1075657e853d315dfdc9fdf6c226eb9 /scripts/focusmodel.py
parentbe18a7c32eea968c4bc4678da0ab291d6a660376 (diff)
new scripts for new script structure
Diffstat (limited to 'scripts/focusmodel.py')
-rw-r--r--scripts/focusmodel.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/focusmodel.py b/scripts/focusmodel.py
new file mode 100644
index 00000000..a52fb39b
--- /dev/null
+++ b/scripts/focusmodel.py
@@ -0,0 +1,40 @@
+###############################################################################
+### Functions for setting up some default focus models. ###
+###############################################################################
+
+import ob
+import callbacks
+
+def setup_click_focus(click_raise = 1):
+ """Sets up for focusing windows by clicking on or in the window.
+ Optionally, clicking on or in a window can raise the window to the
+ front of its stacking layer."""
+ ob.mbind("Left", ob.MouseContext.Titlebar,
+ ob.MouseAction.Press, callbacks.focus)
+ ob.mbind("Left", ob.MouseContext.Handle,
+ ob.MouseAction.Press, callbacks.focus)
+ ob.mbind("Left", ob.MouseContext.Grip,
+ ob.MouseAction.Press, callbacks.focus)
+ ob.mbind("Left", ob.MouseContext.Window,
+ ob.MouseAction.Press, callbacks.focus)
+ #ob.mbind("A-Left", ob.MouseContext.Frame, ob.MouseAction.Press, focus)
+ if click_raise:
+ ob.mbind("Left", ob.MouseContext.Titlebar,
+ ob.MouseAction.Press, callbacks.raise_win)
+ ob.mbind("Left", ob.MouseContext.Handle,
+ ob.MouseAction.Press, callbacks.raise_win)
+ ob.mbind("Left", ob.MouseContext.Grip,
+ ob.MouseAction.Press, callbacks.raise_win)
+ ob.mbind("Left", ob.MouseContext.Window,
+ ob.MouseAction.Press, callbacks.raise_win)
+
+def setup_sloppy_focus(click_focus = 1, click_raise = 0):
+ """Sets up for focusing windows when the mouse pointer enters them.
+ Optionally, clicking on or in a window can focus it if your pointer
+ ends up inside a window without focus. Also, optionally, clicking on or
+ in a window can raise the window to the front of its stacking layer."""
+ ob.ebind(ob.EventAction.EnterWindow, callbacks.focus)
+ if click_focus:
+ setup_click_focus(click_raise)
+
+print "Loaded focusmodel.py"