X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Fdefaults.py;h=fa66329b968e1f6623c910ca18e8ef2a91c9d0d3;hb=7e3a0b227c26739cf562fe58769487976b7be604;hp=d269c9b0c739f40be6817120b666233b30e42db4;hpb=58dc93abb91452444b932f3b2d9bbcc8003891b0;p=chaz%2Fopenbox diff --git a/scripts/defaults.py b/scripts/defaults.py index d269c9b0..fa66329b 100644 --- a/scripts/defaults.py +++ b/scripts/defaults.py @@ -3,19 +3,28 @@ 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 -# set up the mouse buttons +# choose a default focus model focusmodel.setup_click_focus() # use focusmodel.setup_sloppy_focus() instead to # make focus follow the cursor +# set up the mouse buttons 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, @@ -24,8 +33,16 @@ ob.mbind("Left", ob.MouseContext.Root, ob.MouseAction.Click, ob.kbind(["A-F4"], ob.KeyContext.All, callbacks.close) # 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 +#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))