On 9 Sep 2004, [EMAIL PROTECTED] wrote:
> I've posted mine before, let me know if you want a copy. I use the
> keypad for navigation (Left/Right move between tabs; Up/Down move
> up/down between frames; 5 (center) moves to the next frame on the
> right). In addition the / through the Ins keys navigate between
> workspaces. No chording, intentionally.
>
> Scroll Lock and Pause do the frame splitting/destroying work.
Here are my config files. They are a bit strange because I use them
for a Sun USB keyboard and a PC keyboard on the same PC machine - but
I'm sure you'll see the general idea.
Ted
-- Load a library to create common queries.
include("querylib")
-- Load a library to create menu display callbacks.
include("menulib")
global_bindings{
kpress(DEFAULT_MOD.."Help", make_exec_fn("xterm")), -- Sun
kpress("Help", make_exec_fn("/home/tzz/bin/Eterm -f yellow --shade 100 --term-name
xterm --double-buffer -L 500000 --font
-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1")), -- Sun
kpress("SunPowerSwitch", make_exec_fn("dtaction LockDisplay")), -- Sun
kpress(DEFAULT_MOD.."SunPowerSwitch", make_exec_fn("dtaction ExitSession")), -- Sun
kpress("F13", make_exec_fn("emacs -name gnus -f gnus")), -- Sun Props
kpress("F15", make_exec_fn("emacs")), -- Sun Front
kpress("F17", make_exec_fn("mozilla")), -- Sun Open
kpress("KP_Delete", function(s) s:switch_nth(5) end), -- Sun
kpress("KP_Insert", function(s) s:switch_nth(6) end), -- Sun
kpress("KP_Divide", function(s) s:switch_nth(0) end),
kpress("KP_Multiply", function(s) s:switch_nth(1) end),
kpress("KP_Subtract", function(s) s:switch_nth(2) end),
kpress("KP_Add", function(s) s:switch_nth(3) end),
kpress("KP_Enter", function(s) s:switch_nth(4) end),
kpress("KP_Decimal", function(s) s:switch_nth(5) end),
kpress("KP_0", function(s) s:switch_nth(6) end),
kpress(DEFAULT_MOD..KEYF11, querylib.query_restart),
kpress(DEFAULT_MOD..KEYF12, querylib.query_exit),
kpress("F19", querylib.query_restart), -- Sun
kpress(DEFAULT_MOD.."F19", querylib.query_exit), -- Sun
kpress(DEFAULT_MOD.."Shift+Left", WScreen.switch_prev),
kpress(DEFAULT_MOD.."Shift+Right", WScreen.switch_next),
kpress("XF86Mail", make_exec_fn("emacs -name gnus -f gnus")),
kpress("XF86Standby", make_exec_fn("xlock -mode matrix")),
kpress("XF86AudioMute", make_exec_fn("/home/tzz/articles/snippets/aumix.sh")),
kpress("XF86AudioRaiseVolume", make_exec_fn("/usr/bin/aumix -v+3")),
kpress("XF86AudioLowerVolume", make_exec_fn("/usr/bin/aumix -v-3")),
kpress("Shift+XF86AudioRaiseVolume", make_exec_fn("/usr/bin/aumix -v+1")),
kpress("Shift+XF86AudioLowerVolume", make_exec_fn("/usr/bin/aumix -v-1")),
kpress("XF86AudioPlay", make_exec_fn("xmms --play")),
kpress("XF86AudioStop", make_exec_fn("xmms --pause")),
kpress("XF86AudioPrev", make_exec_fn("xmms --rew")),
kpress("XF86AudioNext", make_exec_fn("xmms --fwd")),
kpress("SunAudioMute", make_exec_fn("xmms --play-pause")), -- Sun
kpress("SunAudioLowerVolume", make_exec_fn("xmms --rew")), -- Sun
kpress("SunAudioRaiseVolume", make_exec_fn("xmms --fwd")), -- Sun
kpress("XF86PowerOff", make_exec_fn("Eterm -f yellow --shade 100 --term-name xterm
--double-buffer -L 500000 --font
-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1")),
kpress("Mod1+XF86PowerOff", make_exec_fn("xterm")),
kpress("XF86Start", make_exec_fn("emacs")),
kpress("XF86Search", make_exec_fn("mozilla")),
kpress("Print", make_bigmenu_fn("mainmenu")),
-- kpress(DEFAULT_MOD.."Shift+D", function() lookup_workspace("dock").attach_tagged,
-- -- Create a new workspace with a default name.
-- kpress(DEFAULT_MOD.."F9",
-- function(scr)
-- scr:attach_new({ type=default_ws_type, switchto=true })
-- end),
mpress("Button2", make_pmenu_fn("windowlist")),
mpress("Button3", make_pmenu_fn("mainmenu")),
}
mplex_bindings{
kpress_waitrel(DEFAULT_MOD.."Return",
make_mplex_clientwin_fn(WClientWin.toggle_fullscreen)),
kpress_waitrel(DEFAULT_MOD.."W", WMPlex.close_sub_or_self),
}
genframe_bindings{
kpress(DEFAULT_MOD.."Shift+A", WGenFrame.attach_tagged),
-- Tag viewed object
kpress(DEFAULT_MOD.."T", make_mplex_sub_fn(WRegion.toggle_tag)),
kpress("KP_6", WGenFrame.switch_next),
kpress("KP_4", WGenFrame.switch_prev),
kpress("KP_Right", WGenFrame.switch_next), -- Sun
kpress("KP_Left", WGenFrame.switch_prev), -- Sun
kpress(DEFAULT_MOD.."A", querylib.query_attachclient),
kpress(DEFAULT_MOD.."G", querylib.query_gotoclient),
kpress(DEFAULT_MOD.."F3", querylib.query_exec),
kpress(DEFAULT_MOD.."F4", querylib.query_ssh),
kpress(DEFAULT_MOD.."F5", querylib.query_editfile),
kpress(DEFAULT_MOD.."F6", querylib.query_runfile),
kpress(DEFAULT_MOD.."F7", querylib.query_lua),
kpress(DEFAULT_MOD.."F9", querylib.query_workspace),
kpress(DEFAULT_MOD.."M", make_menu_fn("ctxmenu")),
mpress("Button3", make_pmenu_fn("ctxmenu"), "tab"),
}
ionws_bindings{
kpress("KP_5", WIonWS.goto_left),
kpress("F31", WIonWS.goto_left), -- Sun
kpress("KP_Down", WIonWS.goto_below),
kpress("KP_Up", WIonWS.goto_above),
kpress(DEFAULT_MOD.."Tab", WIonWS.goto_right),
}
ionframe_bindings{
kpress(DEFAULT_MOD.."Pause", function(frame) frame:split_empty("bottom") end),
kpress("Pause", function(frame) frame:split_empty("right") end),
kpress("Shift+Pause", function(frame) frame:close("right") end),
kpress(DEFAULT_MOD.."F21", function(frame) frame:split_empty("bottom") end), -- Sun
kpress("F21", function(frame) frame:split_empty("right") end), -- Sun
kpress("Shift+F21", function(frame) frame:close() end), -- Sun
mclick("Button1", WGenFrame.p_switch_tab, "tab"),
mdblclick("Button1", WIonFrame.toggle_shade, "tab"),
mdrag("Button1", WGenFrame.p_tabdrag, "tab"),
mdrag("Button1", WGenFrame.p_resize, "border"),
mclick("Button2", WGenFrame.p_switch_tab, "tab"),
mdrag("Button2", WGenFrame.p_tabdrag, "tab"),
mdrag(DEFAULT_MOD.."Button3", WGenFrame.p_resize),
}
ionframe_moveres_bindings{
kpress("AnyModifier+Escape", WIonFrame.cancel_resize),
kpress("AnyModifier+Return", WIonFrame.end_resize),
kpress("Left", function(f) f:do_resize( 1, 0, 0, 0) end),
kpress("Right",function(f) f:do_resize( 0, 1, 0, 0) end),
kpress("Up", function(f) f:do_resize( 0, 0, 1, 0) end),
kpress("Down", function(f) f:do_resize( 0, 0, 0, 1) end),
kpress("F", function(f) f:do_resize( 1, 0, 0, 0) end),
kpress("B", function(f) f:do_resize( 0, 1, 0, 0) end),
kpress("P", function(f) f:do_resize( 0, 0, 1, 0) end),
kpress("N", function(f) f:do_resize( 0, 0, 0, 1) end),
kpress("Shift+Left", function(f) f:do_resize(-1, 0, 0, 0) end),
kpress("Shift+Right",function(f) f:do_resize( 0,-1, 0, 0) end),
kpress("Shift+Up", function(f) f:do_resize( 0, 0,-1, 0) end),
kpress("Shift+Down", function(f) f:do_resize( 0, 0, 0,-1) end),
kpress("Shift+F", function(f) f:do_resize(-1, 0, 0, 0) end),
kpress("Shift+B", function(f) f:do_resize( 0,-1, 0, 0) end),
kpress("Shift+P", function(f) f:do_resize( 0, 0,-1, 0) end),
kpress("Shift+N", function(f) f:do_resize( 0, 0, 0,-1) end),
}