X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=scripts%2Fdefaults.py;h=7b4145c0b47144722c4687ab602046c6f66f8d7a;hb=29d030cc3ed6ec86b324700ec4d4c2b863154e60;hp=10c980ea988fbbac2db26f1f4564bd5c7c487d3a;hpb=be18a7c32eea968c4bc4678da0ab291d6a660376;p=chaz%2Fopenbox diff --git a/scripts/defaults.py b/scripts/defaults.py index 10c980ea..7b4145c0 100644 --- a/scripts/defaults.py +++ b/scripts/defaults.py @@ -1,20 +1,33 @@ +import ob # base module import focus # add some default focus handling and cycling functions import focusmodel # default focus models import behavior # defines default behaviors for interaction with windows import callbacks # a lib of functions that can be used as binding callbacks import windowplacement # use a routine in here to place windows +import historyplacement # history window placement # try focus something when nothing is focused -focus.fallback = 1 +focus.FALLBACK = 1 +# choose a default focus model +focusmodel.setup_click_focus() # use focusmodel.setup_sloppy_focus() instead to + # make focus follow the cursor, or bind things + # in some way like these functions do to make + # your own custom focus model. # set up the mouse buttons -focusmodel.setup_sloppy_focus() behavior.setup_window_clicks() behavior.setup_window_buttons() behavior.setup_scroll() # my window placement algorithm -ob.ebind(ob.EventAction.PlaceWindow, windowplacement.random) +#ob.ebind(ob.EventAction.PlaceWindow, windowplacement.random) +ob.ebind(ob.EventAction.PlaceWindow, historyplacement.place) +# don't place terminals by history placement (xterm,aterm,rxvt) +def histplace(data): + if data.client.appClass() == "XTerm": return 0 + return 1 +historyplacement.CONFIRM_CALLBACK = histplace + # run xterm from root clicks ob.mbind("Left", ob.MouseContext.Root, ob.MouseAction.Click, @@ -22,9 +35,19 @@ ob.mbind("Left", ob.MouseContext.Root, ob.MouseAction.Click, ob.kbind(["A-F4"], ob.KeyContext.All, callbacks.close) +ob.kbind(["W-d"], ob.KeyContext.All, callbacks.toggle_show_desktop) + # focus bindings -ob.kbind(["A-Tab"], ob.KeyContext.All, focus.focus_next_stacked) -ob.kbind(["A-S-Tab"], ob.KeyContext.All, focus.focus_prev_stacked) +import stackedcycle # functions for doing stacked 'kde-style' cycling +ob.kbind(["A-Tab"], ob.KeyContext.All, stackedcycle.next) +ob.kbind(["A-S-Tab"], ob.KeyContext.All, stackedcycle.previous) + +# if you want linear cycling instead of stacked cycling, comment out the focus +# bindings above, and use these instead. +#import focuscycle # functions for doing linear cycling +#focuscycle.RAISE_WINDOW = 0 # don't raise windows when they're activated +#ob.kbind(["A-Tab"], ob.KeyContext.All, focuscycle.next) +#ob.kbind(["A-S-Tab"], ob.KeyContext.All, focuscycle.previous) # desktop changing bindings ob.kbind(["C-1"], ob.KeyContext.All, lambda(d): callbacks.change_desktop(d, 0)) @@ -32,9 +55,13 @@ ob.kbind(["C-2"], ob.KeyContext.All, lambda(d): callbacks.change_desktop(d, 1)) ob.kbind(["C-3"], ob.KeyContext.All, lambda(d): callbacks.change_desktop(d, 2)) ob.kbind(["C-4"], ob.KeyContext.All, lambda(d): callbacks.change_desktop(d, 3)) ob.kbind(["C-A-Right"], ob.KeyContext.All, - lambda(d): callbacks.next_desktop(d)) + lambda(d): callbacks.right_desktop(d)) ob.kbind(["C-A-Left"], ob.KeyContext.All, - lambda(d): callbacks.prev_desktop(d)) + lambda(d): callbacks.left_desktop(d)) +ob.kbind(["C-A-Up"], ob.KeyContext.All, + lambda(d): callbacks.up_desktop(d)) +ob.kbind(["C-A-Down"], ob.KeyContext.All, + lambda(d): callbacks.down_desktop(d)) ob.kbind(["C-S-A-Right"], ob.KeyContext.All, lambda(d): callbacks.send_to_next_desktop(d))