Various minor changes; see details below.
.config/awesome/rc.lua * added awesome configuration (currently default) .config/obmenugen/* * added obmenygen configuration (menu generator for openbox from the AUR) .config/openbox/* * added openbox configuration .emacs * noticed .emacs was out of date and unlinked (see link-conf/confmgr) * switched to ELPA packages over AUR or pacman (distro) packages (where possible) * code cleanup .pekwm/* * added pekwm configuration (currently default) .xmobarrc * extended the bar because trayer is no longer being used from .xinitrc .xmonad/xmonad.hs * fixed a typo Signed-off-by: Collin Doering <rekahsoft@gmail.com>
This commit is contained in:
parent
bc065dda7a
commit
5cd2b23713
|
@ -0,0 +1,373 @@
|
||||||
|
-- Standard awesome library
|
||||||
|
require("awful")
|
||||||
|
require("awful.autofocus")
|
||||||
|
require("awful.rules")
|
||||||
|
-- Theme handling library
|
||||||
|
require("beautiful")
|
||||||
|
-- Notification library
|
||||||
|
require("naughty")
|
||||||
|
|
||||||
|
-- {{{ Error handling
|
||||||
|
-- Check if awesome encountered an error during startup and fell back to
|
||||||
|
-- another config (This code will only ever execute for the fallback config)
|
||||||
|
if awesome.startup_errors then
|
||||||
|
naughty.notify({ preset = naughty.config.presets.critical,
|
||||||
|
title = "Oops, there were errors during startup!",
|
||||||
|
text = awesome.startup_errors })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Handle runtime errors after startup
|
||||||
|
do
|
||||||
|
local in_error = false
|
||||||
|
awesome.add_signal("debug::error", function (err)
|
||||||
|
-- Make sure we don't go into an endless error loop
|
||||||
|
if in_error then return end
|
||||||
|
in_error = true
|
||||||
|
|
||||||
|
naughty.notify({ preset = naughty.config.presets.critical,
|
||||||
|
title = "Oops, an error happened!",
|
||||||
|
text = err })
|
||||||
|
in_error = false
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Variable definitions
|
||||||
|
-- Themes define colours, icons, and wallpapers
|
||||||
|
beautiful.init("/usr/share/awesome/themes/default/theme.lua")
|
||||||
|
|
||||||
|
-- This is used later as the default terminal and editor to run.
|
||||||
|
terminal = "xterm"
|
||||||
|
editor = os.getenv("EDITOR") or "nano"
|
||||||
|
editor_cmd = terminal .. " -e " .. editor
|
||||||
|
|
||||||
|
-- Default modkey.
|
||||||
|
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||||
|
-- If you do not like this or do not have such a key,
|
||||||
|
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||||
|
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||||
|
modkey = "Mod4"
|
||||||
|
|
||||||
|
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||||
|
layouts =
|
||||||
|
{
|
||||||
|
awful.layout.suit.floating,
|
||||||
|
awful.layout.suit.tile,
|
||||||
|
awful.layout.suit.tile.left,
|
||||||
|
awful.layout.suit.tile.bottom,
|
||||||
|
awful.layout.suit.tile.top,
|
||||||
|
awful.layout.suit.fair,
|
||||||
|
awful.layout.suit.fair.horizontal,
|
||||||
|
awful.layout.suit.spiral,
|
||||||
|
awful.layout.suit.spiral.dwindle,
|
||||||
|
awful.layout.suit.max,
|
||||||
|
awful.layout.suit.max.fullscreen,
|
||||||
|
awful.layout.suit.magnifier
|
||||||
|
}
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Tags
|
||||||
|
-- Define a tag table which hold all screen tags.
|
||||||
|
tags = {}
|
||||||
|
for s = 1, screen.count() do
|
||||||
|
-- Each screen has its own tag table.
|
||||||
|
tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
|
||||||
|
end
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Menu
|
||||||
|
-- Create a laucher widget and a main menu
|
||||||
|
myawesomemenu = {
|
||||||
|
{ "manual", terminal .. " -e man awesome" },
|
||||||
|
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||||
|
{ "restart", awesome.restart },
|
||||||
|
{ "quit", awesome.quit }
|
||||||
|
}
|
||||||
|
|
||||||
|
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||||
|
{ "open terminal", terminal }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
|
||||||
|
menu = mymainmenu })
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Wibox
|
||||||
|
-- Create a textclock widget
|
||||||
|
mytextclock = awful.widget.textclock({ align = "right" })
|
||||||
|
|
||||||
|
-- Create a systray
|
||||||
|
mysystray = widget({ type = "systray" })
|
||||||
|
|
||||||
|
-- Create a wibox for each screen and add it
|
||||||
|
mywibox = {}
|
||||||
|
mypromptbox = {}
|
||||||
|
mylayoutbox = {}
|
||||||
|
mytaglist = {}
|
||||||
|
mytaglist.buttons = awful.util.table.join(
|
||||||
|
awful.button({ }, 1, awful.tag.viewonly),
|
||||||
|
awful.button({ modkey }, 1, awful.client.movetotag),
|
||||||
|
awful.button({ }, 3, awful.tag.viewtoggle),
|
||||||
|
awful.button({ modkey }, 3, awful.client.toggletag),
|
||||||
|
awful.button({ }, 4, awful.tag.viewnext),
|
||||||
|
awful.button({ }, 5, awful.tag.viewprev)
|
||||||
|
)
|
||||||
|
mytasklist = {}
|
||||||
|
mytasklist.buttons = awful.util.table.join(
|
||||||
|
awful.button({ }, 1, function (c)
|
||||||
|
if c == client.focus then
|
||||||
|
c.minimized = true
|
||||||
|
else
|
||||||
|
if not c:isvisible() then
|
||||||
|
awful.tag.viewonly(c:tags()[1])
|
||||||
|
end
|
||||||
|
-- This will also un-minimize
|
||||||
|
-- the client, if needed
|
||||||
|
client.focus = c
|
||||||
|
c:raise()
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.button({ }, 3, function ()
|
||||||
|
if instance then
|
||||||
|
instance:hide()
|
||||||
|
instance = nil
|
||||||
|
else
|
||||||
|
instance = awful.menu.clients({ width=250 })
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.button({ }, 4, function ()
|
||||||
|
awful.client.focus.byidx(1)
|
||||||
|
if client.focus then client.focus:raise() end
|
||||||
|
end),
|
||||||
|
awful.button({ }, 5, function ()
|
||||||
|
awful.client.focus.byidx(-1)
|
||||||
|
if client.focus then client.focus:raise() end
|
||||||
|
end))
|
||||||
|
|
||||||
|
for s = 1, screen.count() do
|
||||||
|
-- Create a promptbox for each screen
|
||||||
|
mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
|
||||||
|
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
|
||||||
|
-- We need one layoutbox per screen.
|
||||||
|
mylayoutbox[s] = awful.widget.layoutbox(s)
|
||||||
|
mylayoutbox[s]:buttons(awful.util.table.join(
|
||||||
|
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
|
||||||
|
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
|
||||||
|
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
|
||||||
|
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
|
||||||
|
-- Create a taglist widget
|
||||||
|
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
|
||||||
|
|
||||||
|
-- Create a tasklist widget
|
||||||
|
mytasklist[s] = awful.widget.tasklist(function(c)
|
||||||
|
return awful.widget.tasklist.label.currenttags(c, s)
|
||||||
|
end, mytasklist.buttons)
|
||||||
|
|
||||||
|
-- Create the wibox
|
||||||
|
mywibox[s] = awful.wibox({ position = "top", screen = s })
|
||||||
|
-- Add widgets to the wibox - order matters
|
||||||
|
mywibox[s].widgets = {
|
||||||
|
{
|
||||||
|
mylauncher,
|
||||||
|
mytaglist[s],
|
||||||
|
mypromptbox[s],
|
||||||
|
layout = awful.widget.layout.horizontal.leftright
|
||||||
|
},
|
||||||
|
mylayoutbox[s],
|
||||||
|
mytextclock,
|
||||||
|
s == 1 and mysystray or nil,
|
||||||
|
mytasklist[s],
|
||||||
|
layout = awful.widget.layout.horizontal.rightleft
|
||||||
|
}
|
||||||
|
end
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Mouse bindings
|
||||||
|
root.buttons(awful.util.table.join(
|
||||||
|
awful.button({ }, 3, function () mymainmenu:toggle() end),
|
||||||
|
awful.button({ }, 4, awful.tag.viewnext),
|
||||||
|
awful.button({ }, 5, awful.tag.viewprev)
|
||||||
|
))
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Key bindings
|
||||||
|
globalkeys = awful.util.table.join(
|
||||||
|
awful.key({ modkey, }, "Left", awful.tag.viewprev ),
|
||||||
|
awful.key({ modkey, }, "Right", awful.tag.viewnext ),
|
||||||
|
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
|
||||||
|
|
||||||
|
awful.key({ modkey, }, "j",
|
||||||
|
function ()
|
||||||
|
awful.client.focus.byidx( 1)
|
||||||
|
if client.focus then client.focus:raise() end
|
||||||
|
end),
|
||||||
|
awful.key({ modkey, }, "k",
|
||||||
|
function ()
|
||||||
|
awful.client.focus.byidx(-1)
|
||||||
|
if client.focus then client.focus:raise() end
|
||||||
|
end),
|
||||||
|
awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end),
|
||||||
|
|
||||||
|
-- Layout manipulation
|
||||||
|
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
|
||||||
|
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
|
||||||
|
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
|
||||||
|
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
|
||||||
|
awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
|
||||||
|
awful.key({ modkey, }, "Tab",
|
||||||
|
function ()
|
||||||
|
awful.client.focus.history.previous()
|
||||||
|
if client.focus then
|
||||||
|
client.focus:raise()
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
|
||||||
|
-- Standard program
|
||||||
|
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
|
||||||
|
awful.key({ modkey, "Control" }, "r", awesome.restart),
|
||||||
|
awful.key({ modkey, "Shift" }, "q", awesome.quit),
|
||||||
|
|
||||||
|
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
|
||||||
|
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
|
||||||
|
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
|
||||||
|
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
|
||||||
|
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
|
||||||
|
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
|
||||||
|
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
|
||||||
|
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
|
||||||
|
|
||||||
|
awful.key({ modkey, "Control" }, "n", awful.client.restore),
|
||||||
|
|
||||||
|
-- Prompt
|
||||||
|
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "x",
|
||||||
|
function ()
|
||||||
|
awful.prompt.run({ prompt = "Run Lua code: " },
|
||||||
|
mypromptbox[mouse.screen].widget,
|
||||||
|
awful.util.eval, nil,
|
||||||
|
awful.util.getdir("cache") .. "/history_eval")
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
clientkeys = awful.util.table.join(
|
||||||
|
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
|
||||||
|
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
|
||||||
|
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
|
||||||
|
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
|
||||||
|
awful.key({ modkey, }, "o", awful.client.movetoscreen ),
|
||||||
|
awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end),
|
||||||
|
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
|
||||||
|
awful.key({ modkey, }, "n",
|
||||||
|
function (c)
|
||||||
|
-- The client currently has the input focus, so it cannot be
|
||||||
|
-- minimized, since minimized clients can't have the focus.
|
||||||
|
c.minimized = true
|
||||||
|
end),
|
||||||
|
awful.key({ modkey, }, "m",
|
||||||
|
function (c)
|
||||||
|
c.maximized_horizontal = not c.maximized_horizontal
|
||||||
|
c.maximized_vertical = not c.maximized_vertical
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Compute the maximum number of digit we need, limited to 9
|
||||||
|
keynumber = 0
|
||||||
|
for s = 1, screen.count() do
|
||||||
|
keynumber = math.min(9, math.max(#tags[s], keynumber));
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Bind all key numbers to tags.
|
||||||
|
-- Be careful: we use keycodes to make it works on any keyboard layout.
|
||||||
|
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||||
|
for i = 1, keynumber do
|
||||||
|
globalkeys = awful.util.table.join(globalkeys,
|
||||||
|
awful.key({ modkey }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
local screen = mouse.screen
|
||||||
|
if tags[screen][i] then
|
||||||
|
awful.tag.viewonly(tags[screen][i])
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.key({ modkey, "Control" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
local screen = mouse.screen
|
||||||
|
if tags[screen][i] then
|
||||||
|
awful.tag.viewtoggle(tags[screen][i])
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.key({ modkey, "Shift" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
if client.focus and tags[client.focus.screen][i] then
|
||||||
|
awful.client.movetotag(tags[client.focus.screen][i])
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
if client.focus and tags[client.focus.screen][i] then
|
||||||
|
awful.client.toggletag(tags[client.focus.screen][i])
|
||||||
|
end
|
||||||
|
end))
|
||||||
|
end
|
||||||
|
|
||||||
|
clientbuttons = awful.util.table.join(
|
||||||
|
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
|
||||||
|
awful.button({ modkey }, 1, awful.mouse.client.move),
|
||||||
|
awful.button({ modkey }, 3, awful.mouse.client.resize))
|
||||||
|
|
||||||
|
-- Set keys
|
||||||
|
root.keys(globalkeys)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Rules
|
||||||
|
awful.rules.rules = {
|
||||||
|
-- All clients will match this rule.
|
||||||
|
{ rule = { },
|
||||||
|
properties = { border_width = beautiful.border_width,
|
||||||
|
border_color = beautiful.border_normal,
|
||||||
|
focus = true,
|
||||||
|
keys = clientkeys,
|
||||||
|
buttons = clientbuttons } },
|
||||||
|
{ rule = { class = "MPlayer" },
|
||||||
|
properties = { floating = true } },
|
||||||
|
{ rule = { class = "pinentry" },
|
||||||
|
properties = { floating = true } },
|
||||||
|
{ rule = { class = "gimp" },
|
||||||
|
properties = { floating = true } },
|
||||||
|
-- Set Firefox to always map on tags number 2 of screen 1.
|
||||||
|
-- { rule = { class = "Firefox" },
|
||||||
|
-- properties = { tag = tags[1][2] } },
|
||||||
|
}
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Signals
|
||||||
|
-- Signal function to execute when a new client appears.
|
||||||
|
client.add_signal("manage", function (c, startup)
|
||||||
|
-- Add a titlebar
|
||||||
|
-- awful.titlebar.add(c, { modkey = modkey })
|
||||||
|
|
||||||
|
-- Enable sloppy focus
|
||||||
|
c:add_signal("mouse::enter", function(c)
|
||||||
|
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
|
||||||
|
and awful.client.focus.filter(c) then
|
||||||
|
client.focus = c
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not startup then
|
||||||
|
-- Set the windows at the slave,
|
||||||
|
-- i.e. put it at the end of others instead of setting it master.
|
||||||
|
-- awful.client.setslave(c)
|
||||||
|
|
||||||
|
-- Put windows in a smart way, only if they does not set an initial position.
|
||||||
|
if not c.size_hints.user_position and not c.size_hints.program_position then
|
||||||
|
awful.placement.no_overlap(c)
|
||||||
|
awful.placement.no_offscreen(c)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
|
||||||
|
client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
|
||||||
|
-- }}}
|
|
@ -0,0 +1,13 @@
|
||||||
|
# OpenBox Menu Generator exclusions file
|
||||||
|
#
|
||||||
|
# Lines starting with a '#' character and empty lines are ignored.
|
||||||
|
# Put one exclusion per line.
|
||||||
|
# Exclusions are case sensitive and are matched against
|
||||||
|
# the 'Name' of the entry (the text that appears in menuitems).
|
||||||
|
#
|
||||||
|
# Exclusions format examples:
|
||||||
|
# ^example$ exact match with 'example'.
|
||||||
|
# ^example match any string that begins whith 'example'.
|
||||||
|
# example$ match any string that ends with 'example'.
|
||||||
|
# example match any string containing 'example'.
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
# OpenBox Menu Generator config file
|
||||||
|
#
|
||||||
|
# Lines starting with a '#' character and empty lines are ignored.
|
||||||
|
# Keys and values are case sensitive. Keep all keys lowercase.
|
||||||
|
# Removing or commenting any config line will cause an error.
|
||||||
|
|
||||||
|
# Top Menu section
|
||||||
|
# 'terminal' and 'editor' are REQUIRED
|
||||||
|
# 'filemanager', 'webbrowser' and 'run command' are optional.
|
||||||
|
# Leaving optional values empty causes the corresponding
|
||||||
|
# menu item to be hidden, no matter what show/hide option says.
|
||||||
|
terminal = urxvt
|
||||||
|
editor = emacs
|
||||||
|
filemanager = urxvt -e mc
|
||||||
|
webbrowser = firefox
|
||||||
|
instant messaging =
|
||||||
|
run command = gmrun
|
||||||
|
|
||||||
|
# Lock Screen menuitem
|
||||||
|
# Also leaving it empty causes menuitem to be hidden
|
||||||
|
lock command = xscreensaver-command -lock
|
||||||
|
|
||||||
|
# Exit menuitem
|
||||||
|
# Giving this an empty value don't hides the menuitem
|
||||||
|
# but uses the default OpenBox action "Exit"
|
||||||
|
exit command =
|
||||||
|
|
||||||
|
# OnlyShowIn Exclusions
|
||||||
|
# There is a 'OnlyShowIn' directive in .desktop files.
|
||||||
|
# This directive is self-descriptive :)
|
||||||
|
# You can put here (in lowercase) any directive's posible value
|
||||||
|
# you want to be excluded from the menu, comma-separeted.
|
||||||
|
# Leaving this value empty won't exclude any entry by this criteria.
|
||||||
|
exclude onlyshowin = kde,gnome
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
# OpenBox Menu Generator Schema file
|
||||||
|
|
||||||
|
# Each (non-empty or non-comment) line of this file must be in the form:
|
||||||
|
# 'type:options'
|
||||||
|
#
|
||||||
|
# 'type' could be one of the following values:
|
||||||
|
# 'item', 'submenu', 'sep', 'cat', 'raw', 'file'
|
||||||
|
#
|
||||||
|
# Posible values for each of this types are:
|
||||||
|
# For 'item': 'terminal', 'filemanager', 'webbrowser', 'instantmessaging', 'editor', 'runcommand', 'lock', 'exit'
|
||||||
|
# For 'submenu': 'windowsanddesktops', 'openbox'
|
||||||
|
# For 'sep': A string representing the LABEL for the separator or none
|
||||||
|
# For 'cat': Any of the posible categories. See obmenugen --help
|
||||||
|
# For 'raw': A hardcoded XML line in the OpenBox's menu.xml file format
|
||||||
|
# Example: raw:<item label="Linux Breakout 2"><action name="Execute"><execute>lbreakout2</execute></action></item>
|
||||||
|
# For file: The name of a file with a chunk of XML in the OpenBox's menu.xml file format.
|
||||||
|
# The file must be in ~/.config/obmenugen/
|
||||||
|
# Example: file:extras.xml
|
||||||
|
#
|
||||||
|
# Comments are lines begining with a # character, to the end of the line.
|
||||||
|
item:terminal
|
||||||
|
item:filemanager
|
||||||
|
item:webbrowser
|
||||||
|
item:instantmessaging
|
||||||
|
item:editor
|
||||||
|
item:runcommand
|
||||||
|
submenu:windowsanddesktops
|
||||||
|
sep:Applications
|
||||||
|
cat:accesories
|
||||||
|
cat:graphics
|
||||||
|
cat:audiovideo
|
||||||
|
cat:education
|
||||||
|
cat:office
|
||||||
|
cat:games
|
||||||
|
cat:network
|
||||||
|
cat:development
|
||||||
|
cat:settings
|
||||||
|
cat:system
|
||||||
|
submenu:openbox
|
||||||
|
sep:
|
||||||
|
item:lock
|
||||||
|
item:exit
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
#!/bin/bash
|
|
@ -0,0 +1,91 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<openbox_menu xmlns="http://openbox.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openbox.org/ file:///usr/X11R6/share/openbox/menu.xsd">
|
||||||
|
<menu id="root-menu" label="openbox3">
|
||||||
|
<item label="Terminal"><action name="Execute"><execute>urxvt</execute></action></item>
|
||||||
|
<item label="File Manager"><action name="Execute"><execute>urxvt -e mc</execute></action></item>
|
||||||
|
<item label="Web Browser"><action name="Execute"><execute>firefox</execute></action></item>
|
||||||
|
<item label="Editor"><action name="Execute"><execute>emacs</execute></action></item>
|
||||||
|
<item label="Run Command"><action name="Execute"><execute>gmrun</execute></action></item>
|
||||||
|
<separator />
|
||||||
|
<menu id="client-list-combined-menu" />
|
||||||
|
<separator label="Applications"/>
|
||||||
|
<menu id="Accesories" label="Accesories">
|
||||||
|
<item label="File Manager"><action name="Execute"><execute>pcmanfm</execute></action></item>
|
||||||
|
<item label="Graveman"><action name="Execute"><execute>graveman</execute></action></item>
|
||||||
|
<item label="Parcellite"><action name="Execute"><execute>parcellite</execute></action></item>
|
||||||
|
<item label="SpeedCrunch"><action name="Execute"><execute>speedcrunch</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="Graphics" label="Graphics">
|
||||||
|
<item label="GNU Image Manipulation Program"><action name="Execute"><execute>gimp-2.6</execute></action></item>
|
||||||
|
<item label="Image Viewer"><action name="Execute"><execute>gpicview</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="Audio & Video" label="Audio & Video">
|
||||||
|
<item label="EasyTAG"><action name="Execute"><execute>easytag</execute></action></item>
|
||||||
|
<item label="Enqueue in SMPlayer"><action name="Execute"><execute>smplayer -add-to-playlist</execute></action></item>
|
||||||
|
<item label="MPlayer Media Player"><action name="Execute"><execute>mplayer -really-quiet</execute></action></item>
|
||||||
|
<item label="SMPlayer"><action name="Execute"><execute>smplayer</execute></action></item>
|
||||||
|
<item label="VLC media player"><action name="Execute"><execute>vlc</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="Office" label="Office">
|
||||||
|
<item label="HTMLDOC"><action name="Execute"><execute>htmldoc</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3 Base"><action name="Execute"><execute>openoffice -base</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3 Calc"><action name="Execute"><execute>openoffice -calc</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3 Draw"><action name="Execute"><execute>openoffice -draw</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3 Impress"><action name="Execute"><execute>openoffice -impress</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3 Math"><action name="Execute"><execute>openoffice -math</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3 Printer Administration"><action name="Execute"><execute>openoffice-printeradmin</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3 Writer"><action name="Execute"><execute>openoffice -writer</execute></action></item>
|
||||||
|
<item label="OpenOffice.org 3.3"><action name="Execute"><execute>openoffice</execute></action></item>
|
||||||
|
<item label="Zathura"><action name="Execute"><execute>zathura</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="Games" label="Games">
|
||||||
|
<item label="DOOM III"><action name="Execute"><execute>/usr/bin/doom3</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="Network" label="Network">
|
||||||
|
<item label="Avahi SSH Server Browser"><action name="Execute"><execute>/usr/bin/bssh</execute></action></item>
|
||||||
|
<item label="Avahi VNC Server Browser"><action name="Execute"><execute>/usr/bin/bvnc</execute></action></item>
|
||||||
|
<item label="Deluge BitTorrent Client"><action name="Execute"><execute>deluge-gtk</execute></action></item>
|
||||||
|
<item label="Firefox - Safe Mode"><action name="Execute"><execute>firefox -safe-mode</execute></action></item>
|
||||||
|
<item label="Firefox Beta - Safe Mode"><action name="Execute"><execute>firefox-beta-bin -safe-mode</execute></action></item>
|
||||||
|
<item label="Firefox Beta"><action name="Execute"><execute>firefox-beta-bin</execute></action></item>
|
||||||
|
<item label="Firefox"><action name="Execute"><execute>firefox</execute></action></item>
|
||||||
|
<item label="Zenmap (as root)"><action name="Execute"><execute>/usr/share/zenmap/su-to-zenmap.sh</execute></action></item>
|
||||||
|
<item label="Zenmap"><action name="Execute"><execute>zenmap</execute></action></item>
|
||||||
|
<item label="unison"><action name="Execute"><execute>unison-x11</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="Development" label="Development">
|
||||||
|
<item label="CMake"><action name="Execute"><execute>cmake-gui</execute></action></item>
|
||||||
|
<item label="DrRacket"><action name="Execute"><execute>drracket</execute></action></item>
|
||||||
|
<item label="Emacs Text Editor"><action name="Execute"><execute>emacs</execute></action></item>
|
||||||
|
<item label="Qt Assistant"><action name="Execute"><execute>/usr/bin/assistant</execute></action></item>
|
||||||
|
<item label="Qt Designer"><action name="Execute"><execute>/usr/bin/designer</execute></action></item>
|
||||||
|
<item label="Qt Linguist"><action name="Execute"><execute>/usr/bin/linguist</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="Settings" label="Settings">
|
||||||
|
<item label="NVIDIA X Server Settings"><action name="Execute"><execute>/usr/bin/nvidia-settings</execute></action></item>
|
||||||
|
<item label="Preferred Applications"><action name="Execute"><execute>libfm-pref-apps</execute></action></item>
|
||||||
|
<item label="Qt Config"><action name="Execute"><execute>/usr/bin/qtconfig</execute></action></item>
|
||||||
|
<item label="Screensaver"><action name="Execute"><execute>xscreensaver-demo</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<menu id="System Tools" label="System Tools">
|
||||||
|
<item label="Avahi Zeroconf Browser"><action name="Execute"><execute>/usr/bin/avahi-discover</execute></action></item>
|
||||||
|
<item label="Htop"><action name="Execute"><execute>urxvt -e htop</execute></action></item>
|
||||||
|
<item label="Ophcrack"><action name="Execute"><execute>ophcrack</execute></action></item>
|
||||||
|
<item label="Oracle VM VirtualBox"><action name="Execute"><execute>VirtualBox</execute></action></item>
|
||||||
|
<item label="rxvt-unicode"><action name="Execute"><execute>urxvt</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<separator />
|
||||||
|
<menu id="Openbox Settings" label="Openbox Settings">
|
||||||
|
<item label="Reconfigure Openbox"><action name="Reconfigure" /></item>
|
||||||
|
<item label="Configure Autostarted Applications"><action name="Execute"><execute>emacs /home/collin/.config/openbox/autostart.sh</execute></action></item>
|
||||||
|
<item label="Edit rc.xml"><action name="Execute"><execute>emacs /home/collin/.config/openbox/rc.xml</execute></action></item>
|
||||||
|
<separator label="obmenugen settings"/>
|
||||||
|
<item label="Edit obmenugen configuration"><action name="Execute"><execute>emacs /home/collin/.config/obmenugen/obmenugen.cfg</execute></action></item>
|
||||||
|
<item label="Edit obmenugen exclusions"><action name="Execute"><execute>emacs /home/collin/.config/obmenugen/exclusions</execute></action></item>
|
||||||
|
<item label="Edit obmenugen schema"><action name="Execute"><execute>emacs /home/collin/.config/obmenugen/obmenugen.schema</execute></action></item>
|
||||||
|
</menu>
|
||||||
|
<separator />
|
||||||
|
<item label="Lock Screen"><action name="Execute"><execute>xscreensaver-command -lock</execute></action></item>
|
||||||
|
<item label="Exit"><action name="Exit" /></item>
|
||||||
|
</menu>
|
||||||
|
</openbox_menu>
|
|
@ -0,0 +1,732 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- Do not edit this file, it will be overwritten on install.
|
||||||
|
Copy the file to $HOME/.config/openbox/ instead. -->
|
||||||
|
|
||||||
|
<openbox_config xmlns="http://openbox.org/3.4/rc">
|
||||||
|
|
||||||
|
<resistance>
|
||||||
|
<strength>10</strength>
|
||||||
|
<screen_edge_strength>20</screen_edge_strength>
|
||||||
|
</resistance>
|
||||||
|
|
||||||
|
<focus>
|
||||||
|
<focusNew>yes</focusNew>
|
||||||
|
<!-- always try to focus new windows when they appear. other rules do
|
||||||
|
apply -->
|
||||||
|
<followMouse>no</followMouse>
|
||||||
|
<!-- move focus to a window when you move the mouse into it -->
|
||||||
|
<focusLast>yes</focusLast>
|
||||||
|
<!-- focus the last used window when changing desktops, instead of the one
|
||||||
|
under the mouse pointer. when followMouse is enabled -->
|
||||||
|
<underMouse>no</underMouse>
|
||||||
|
<!-- move focus under the mouse, even when the mouse is not moving -->
|
||||||
|
<focusDelay>200</focusDelay>
|
||||||
|
<!-- when followMouse is enabled, the mouse must be inside the window for
|
||||||
|
this many milliseconds (1000 = 1 sec) before moving focus to it -->
|
||||||
|
<raiseOnFocus>no</raiseOnFocus>
|
||||||
|
<!-- when followMouse is enabled, and a window is given focus by moving the
|
||||||
|
mouse into it, also raise the window -->
|
||||||
|
</focus>
|
||||||
|
|
||||||
|
<placement>
|
||||||
|
<policy>Smart</policy>
|
||||||
|
<!-- 'Smart' or 'UnderMouse' -->
|
||||||
|
<center>yes</center>
|
||||||
|
<!-- whether to place windows in the center of the free area found or
|
||||||
|
the top left corner -->
|
||||||
|
<monitor>Active</monitor>
|
||||||
|
<!-- with Smart placement on a multi-monitor system, try to place new windows
|
||||||
|
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
|
||||||
|
the active window is -->
|
||||||
|
<primaryMonitor>1</primaryMonitor>
|
||||||
|
<!-- The monitor where Openbox should place popup dialogs such as the
|
||||||
|
focus cycling popup, or the desktop switch popup. It can be an index
|
||||||
|
from 1, specifying a particular monitor. Or it can be one of the
|
||||||
|
following: 'Mouse' - where the mouse is, or
|
||||||
|
'Active' - where the active window is -->
|
||||||
|
</placement>
|
||||||
|
|
||||||
|
<theme>
|
||||||
|
<name>Clearlooks</name>
|
||||||
|
<titleLayout>NLIMC</titleLayout>
|
||||||
|
<!--
|
||||||
|
available characters are NDSLIMC, each can occur at most once.
|
||||||
|
N: window icon
|
||||||
|
L: window label (AKA title).
|
||||||
|
I: iconify
|
||||||
|
M: maximize
|
||||||
|
C: close
|
||||||
|
S: shade (roll up/down)
|
||||||
|
D: omnipresent (on all desktops).
|
||||||
|
-->
|
||||||
|
<keepBorder>yes</keepBorder>
|
||||||
|
<animateIconify>yes</animateIconify>
|
||||||
|
<font place="ActiveWindow">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>bold</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="InactiveWindow">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>bold</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="MenuHeader">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>9</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="MenuItem">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>9</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="OnScreenDisplay">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>9</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>bold</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
</theme>
|
||||||
|
|
||||||
|
<desktops>
|
||||||
|
<!-- this stuff is only used at startup, pagers allow you to change them
|
||||||
|
during a session
|
||||||
|
|
||||||
|
these are default values to use when other ones are not already set
|
||||||
|
by other applications, or saved in your session
|
||||||
|
|
||||||
|
use obconf if you want to change these without having to log out
|
||||||
|
and back in -->
|
||||||
|
<number>4</number>
|
||||||
|
<firstdesk>1</firstdesk>
|
||||||
|
<names>
|
||||||
|
<!-- set names up here if you want to, like this:
|
||||||
|
<name>desktop 1</name>
|
||||||
|
<name>desktop 2</name>
|
||||||
|
-->
|
||||||
|
</names>
|
||||||
|
<popupTime>875</popupTime>
|
||||||
|
<!-- The number of milliseconds to show the popup for when switching
|
||||||
|
desktops. Set this to 0 to disable the popup. -->
|
||||||
|
</desktops>
|
||||||
|
|
||||||
|
<resize>
|
||||||
|
<drawContents>yes</drawContents>
|
||||||
|
<popupShow>Nonpixel</popupShow>
|
||||||
|
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
|
||||||
|
<popupPosition>Center</popupPosition>
|
||||||
|
<!-- 'Center', 'Top', or 'Fixed' -->
|
||||||
|
<popupFixedPosition>
|
||||||
|
<!-- these are used if popupPosition is set to 'Fixed' -->
|
||||||
|
|
||||||
|
<x>10</x>
|
||||||
|
<!-- positive number for distance from left edge, negative number for
|
||||||
|
distance from right edge, or 'Center' -->
|
||||||
|
<y>10</y>
|
||||||
|
<!-- positive number for distance from top edge, negative number for
|
||||||
|
distance from bottom edge, or 'Center' -->
|
||||||
|
</popupFixedPosition>
|
||||||
|
</resize>
|
||||||
|
|
||||||
|
<!-- You can reserve a portion of your screen where windows will not cover when
|
||||||
|
they are maximized, or when they are initially placed.
|
||||||
|
Many programs reserve space automatically, but you can use this in other
|
||||||
|
cases. -->
|
||||||
|
<margins>
|
||||||
|
<top>0</top>
|
||||||
|
<bottom>0</bottom>
|
||||||
|
<left>0</left>
|
||||||
|
<right>0</right>
|
||||||
|
</margins>
|
||||||
|
|
||||||
|
<dock>
|
||||||
|
<position>TopLeft</position>
|
||||||
|
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
|
||||||
|
<floatingX>0</floatingX>
|
||||||
|
<floatingY>0</floatingY>
|
||||||
|
<noStrut>no</noStrut>
|
||||||
|
<stacking>Above</stacking>
|
||||||
|
<!-- 'Above', 'Normal', or 'Below' -->
|
||||||
|
<direction>Vertical</direction>
|
||||||
|
<!-- 'Vertical' or 'Horizontal' -->
|
||||||
|
<autoHide>no</autoHide>
|
||||||
|
<hideDelay>300</hideDelay>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<showDelay>300</showDelay>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<moveButton>Middle</moveButton>
|
||||||
|
<!-- 'Left', 'Middle', 'Right' -->
|
||||||
|
</dock>
|
||||||
|
|
||||||
|
<keyboard>
|
||||||
|
<chainQuitKey>C-g</chainQuitKey>
|
||||||
|
|
||||||
|
<!-- GMRun keybinding -->
|
||||||
|
<keybind key="A-F2">
|
||||||
|
<action name="execute"><execute>gmrun</execute></action>
|
||||||
|
</keybind>
|
||||||
|
|
||||||
|
<!-- Keybindings for desktop switching -->
|
||||||
|
<keybind key="C-A-Left">
|
||||||
|
<action name="DesktopLeft"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Right">
|
||||||
|
<action name="DesktopRight"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Up">
|
||||||
|
<action name="DesktopUp"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Down">
|
||||||
|
<action name="DesktopDown"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Left">
|
||||||
|
<action name="SendToDesktopLeft"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Right">
|
||||||
|
<action name="SendToDesktopRight"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Up">
|
||||||
|
<action name="SendToDesktopUp"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Down">
|
||||||
|
<action name="SendToDesktopDown"><dialog>no</dialog><wrap>no</wrap></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F1">
|
||||||
|
<action name="Desktop"><desktop>1</desktop></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F2">
|
||||||
|
<action name="Desktop"><desktop>2</desktop></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F3">
|
||||||
|
<action name="Desktop"><desktop>3</desktop></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F4">
|
||||||
|
<action name="Desktop"><desktop>4</desktop></action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-d">
|
||||||
|
<action name="ToggleShowDesktop"/>
|
||||||
|
</keybind>
|
||||||
|
|
||||||
|
<!-- Keybindings for windows -->
|
||||||
|
<keybind key="A-F4">
|
||||||
|
<action name="Close"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Escape">
|
||||||
|
<action name="Lower"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-space">
|
||||||
|
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||||
|
</keybind>
|
||||||
|
|
||||||
|
<!-- Keybindings for window switching -->
|
||||||
|
<keybind key="A-Tab">
|
||||||
|
<action name="NextWindow"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-S-Tab">
|
||||||
|
<action name="PreviousWindow"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Tab">
|
||||||
|
<action name="NextWindow">
|
||||||
|
<panels>yes</panels><desktop>yes</desktop>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
|
||||||
|
<!-- Keybindings for running applications -->
|
||||||
|
<keybind key="W-e">
|
||||||
|
<action name="Execute">
|
||||||
|
<startupnotify>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<name>Konqueror</name>
|
||||||
|
</startupnotify>
|
||||||
|
<command>kfmclient openProfile filemanagement</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
</keyboard>
|
||||||
|
|
||||||
|
<mouse>
|
||||||
|
<dragThreshold>8</dragThreshold>
|
||||||
|
<!-- number of pixels the mouse must move before a drag begins -->
|
||||||
|
<doubleClickTime>200</doubleClickTime>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<screenEdgeWarpTime>400</screenEdgeWarpTime>
|
||||||
|
<!-- Time before changing desktops when the pointer touches the edge of the
|
||||||
|
screen while moving a window, in milliseconds (1000 = 1 second).
|
||||||
|
Set this to 0 to disable warping -->
|
||||||
|
|
||||||
|
<context name="Frame">
|
||||||
|
<mousebind button="A-Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Left" action="Click">
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Left" action="Drag">
|
||||||
|
<action name="Move"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="A-Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Right" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="A-Middle" action="Press">
|
||||||
|
<action name="Lower"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="A-Up" action="Click">
|
||||||
|
<action name="DesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Down" action="Click">
|
||||||
|
<action name="DesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Up" action="Click">
|
||||||
|
<action name="DesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Down" action="Click">
|
||||||
|
<action name="DesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-S-Up" action="Click">
|
||||||
|
<action name="SendToDesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-S-Down" action="Click">
|
||||||
|
<action name="SendToDesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Titlebar">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Move"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="DoubleClick">
|
||||||
|
<action name="ToggleMaximizeFull"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Lower"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Up" action="Click">
|
||||||
|
<action name="Shade"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
<action name="Lower"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Down" action="Click">
|
||||||
|
<action name="Unshade"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Top">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"><edge>top</edge></action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Left">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"><edge>left</edge></action>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Right">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"><edge>right</edge></action>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Bottom">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"><edge>bottom</edge></action>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Lower"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="BLCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="BRCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="TLCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="TRCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Client">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Icon">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="AllDesktops">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleOmnipresent"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Shade">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleShade"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Iconify">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Iconify"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Maximize">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleMaximizeFull"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Click">
|
||||||
|
<action name="ToggleMaximizeVert"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Click">
|
||||||
|
<action name="ToggleMaximizeHorz"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Close">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Close"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Desktop">
|
||||||
|
<mousebind button="Up" action="Click">
|
||||||
|
<action name="DesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Down" action="Click">
|
||||||
|
<action name="DesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="A-Up" action="Click">
|
||||||
|
<action name="DesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Down" action="Click">
|
||||||
|
<action name="DesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Up" action="Click">
|
||||||
|
<action name="DesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Down" action="Click">
|
||||||
|
<action name="DesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Root">
|
||||||
|
<!-- Menus -->
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="ShowMenu"><menu>root-menu</menu></action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="MoveResize">
|
||||||
|
<mousebind button="Up" action="Click">
|
||||||
|
<action name="DesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Down" action="Click">
|
||||||
|
<action name="DesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Up" action="Click">
|
||||||
|
<action name="DesktopPrevious"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Down" action="Click">
|
||||||
|
<action name="DesktopNext"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
</mouse>
|
||||||
|
|
||||||
|
<menu>
|
||||||
|
<!-- You can specify more than one menu file in here and they are all loaded,
|
||||||
|
just don't make menu ids clash or, well, it'll be kind of pointless -->
|
||||||
|
|
||||||
|
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
|
||||||
|
<file>menu.xml</file>
|
||||||
|
<hideDelay>200</hideDelay>
|
||||||
|
<!-- if a press-release lasts longer than this setting (in milliseconds), the
|
||||||
|
menu is hidden again -->
|
||||||
|
<middle>no</middle>
|
||||||
|
<!-- center submenus vertically about the parent entry -->
|
||||||
|
<submenuShowDelay>100</submenuShowDelay>
|
||||||
|
<!-- time to delay before showing a submenu after hovering over the parent
|
||||||
|
entry.
|
||||||
|
if this is a negative value, then the delay is infinite and the
|
||||||
|
submenu will not be shown until it is clicked on -->
|
||||||
|
<submenuHideDelay>400</submenuHideDelay>
|
||||||
|
<!-- time to delay before hiding a submenu when selecting another
|
||||||
|
entry in parent menu -->
|
||||||
|
if this is a negative value, then the delay is infinite and the
|
||||||
|
submenu will not be hidden until a different submenu is opened -->
|
||||||
|
<applicationIcons>yes</applicationIcons>
|
||||||
|
<!-- controls if icons appear in the client-list-(combined-)menu -->
|
||||||
|
<manageDesktops>yes</manageDesktops>
|
||||||
|
<!-- show the manage desktops section in the client-list-(combined-)menu -->
|
||||||
|
</menu>
|
||||||
|
|
||||||
|
<applications>
|
||||||
|
<!--
|
||||||
|
# this is an example with comments through out. use these to make your
|
||||||
|
# own rules, but without the comments of course.
|
||||||
|
|
||||||
|
<application name="the window's _OB_APP_NAME property (see obxprop)"
|
||||||
|
class="the window's _OB_APP_CLASS property (see obxprop)"
|
||||||
|
role="the window's _OB_APP_ROLE property (see obxprop)"
|
||||||
|
type="the window's _OB_APP_TYPE property (see obxprob)..
|
||||||
|
(if unspecified, then it is 'dialog' for child windows)">
|
||||||
|
# you may set only one of name/class/role/type, or you may use more than one
|
||||||
|
# together to restrict your matches.
|
||||||
|
|
||||||
|
# the name, class, and role use simple wildcard matching such as those
|
||||||
|
# used by a shell. you can use * to match any characters and ? to match
|
||||||
|
# any single character.
|
||||||
|
|
||||||
|
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
|
||||||
|
# or desktop
|
||||||
|
|
||||||
|
# when multiple rules match a window, they will all be applied, in the
|
||||||
|
# order that they appear in this list
|
||||||
|
|
||||||
|
|
||||||
|
# each rule element can be left out or set to 'default' to specify to not
|
||||||
|
# change that attribute of the window
|
||||||
|
|
||||||
|
<decor>yes</decor>
|
||||||
|
# enable or disable window decorations
|
||||||
|
|
||||||
|
<shade>no</shade>
|
||||||
|
# make the window shaded when it appears, or not
|
||||||
|
|
||||||
|
<position force="no">
|
||||||
|
# the position is only used if both an x and y coordinate are provided
|
||||||
|
# (and not set to 'default')
|
||||||
|
# when force is "yes", then the window will be placed here even if it
|
||||||
|
# says you want it placed elsewhere. this is to override buggy
|
||||||
|
# applications who refuse to behave
|
||||||
|
<x>center</x>
|
||||||
|
# a number like 50, or 'center' to center on screen. use a negative number
|
||||||
|
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
|
||||||
|
# right edge (or bottom).
|
||||||
|
<y>200</y>
|
||||||
|
<monitor>1</monitor>
|
||||||
|
# specifies the monitor in a xinerama setup.
|
||||||
|
# 1 is the first head, or 'mouse' for wherever the mouse is
|
||||||
|
</position>
|
||||||
|
|
||||||
|
<focus>yes</focus>
|
||||||
|
# if the window should try be given focus when it appears. if this is set
|
||||||
|
# to yes it doesn't guarantee the window will be given focus. some
|
||||||
|
# restrictions may apply, but Openbox will try to
|
||||||
|
|
||||||
|
<desktop>1</desktop>
|
||||||
|
# 1 is the first desktop, 'all' for all desktops
|
||||||
|
|
||||||
|
<layer>normal</layer>
|
||||||
|
# 'above', 'normal', or 'below'
|
||||||
|
|
||||||
|
<iconic>no</iconic>
|
||||||
|
# make the window iconified when it appears, or not
|
||||||
|
|
||||||
|
<skip_pager>no</skip_pager>
|
||||||
|
# asks to not be shown in pagers
|
||||||
|
|
||||||
|
<skip_taskbar>no</skip_taskbar>
|
||||||
|
# asks to not be shown in taskbars. window cycling actions will also
|
||||||
|
# skip past such windows
|
||||||
|
|
||||||
|
<fullscreen>yes</fullscreen>
|
||||||
|
# make the window in fullscreen mode when it appears
|
||||||
|
|
||||||
|
<maximized>true</maximized>
|
||||||
|
# 'Horizontal', 'Vertical' or boolean (yes/no)
|
||||||
|
</application>
|
||||||
|
|
||||||
|
# end of the example
|
||||||
|
-->
|
||||||
|
</applications>
|
||||||
|
|
||||||
|
</openbox_config>
|
180
.emacs
180
.emacs
|
@ -2,6 +2,37 @@
|
||||||
;; Author: Collin J. Doering
|
;; Author: Collin J. Doering
|
||||||
;; Description: Emacs configuration file (in emacs lisp)
|
;; Description: Emacs configuration file (in emacs lisp)
|
||||||
|
|
||||||
|
;; TODO: clean up backages (prefer ELPA to AUR and archlinux packages); also denote which
|
||||||
|
;; source is being used after require or autoload sexp's.
|
||||||
|
;; E.g (require 'pkg) ;; PKG_SRC
|
||||||
|
;; (autoload ...) ;; PKG_SRC
|
||||||
|
;; For packages that are installed through the ELPA (and thus they are loaded
|
||||||
|
;; auto-magically) that do not require any changes to this file (.emacs) and/or
|
||||||
|
;; are changed using customize simply note (in a comment) at the beginning of this file
|
||||||
|
;; the package
|
||||||
|
|
||||||
|
;; ELPA packages that do not require modification of this file other then Customize
|
||||||
|
;; * caml (required by tuareg)
|
||||||
|
;; * tuareg
|
||||||
|
;; * project-mode
|
||||||
|
|
||||||
|
;; ELPA packages configured explicitly below:
|
||||||
|
;; * php-mode
|
||||||
|
;; * python-mode
|
||||||
|
;; * lua-mode
|
||||||
|
;; * erlang
|
||||||
|
;; * clojure-mode
|
||||||
|
|
||||||
|
;; This needs to be a the start of ~/.emacs since package-initialize is run after the user
|
||||||
|
;; init file is read but before after-init-hook. It autoloads packages installed by
|
||||||
|
;; package.el including updating the load-path and running/loading/requiring
|
||||||
|
;; pkgname-autoload.el for all packages (where pkgname is replaced with the appropriate
|
||||||
|
;; package name). To disable package.el's autoloading functionality use:
|
||||||
|
;; (setq package-enabled-at-startup nil)
|
||||||
|
;; The reason to use package-initialize here is so one can modify the installed modules
|
||||||
|
;; later in this .emacs file but still retain the autoloading functionality of package.el
|
||||||
|
(package-initialize)
|
||||||
|
|
||||||
;; stop renaming of saved files to filename~ which ends up breaking hardlinks
|
;; stop renaming of saved files to filename~ which ends up breaking hardlinks
|
||||||
(setq backup-by-copying-when-linked t)
|
(setq backup-by-copying-when-linked t)
|
||||||
|
|
||||||
|
@ -51,7 +82,7 @@
|
||||||
;;(activate-mode-with-hooks 'pretty-lambdas '(scheme-mode-hook lisp-mode-hook lisp-interaction-mode geiser-repl-mode python-mode emacs-lisp-mode))
|
;;(activate-mode-with-hooks 'pretty-lambdas '(scheme-mode-hook lisp-mode-hook lisp-interaction-mode geiser-repl-mode python-mode emacs-lisp-mode))
|
||||||
|
|
||||||
;; linum mode for pretty line numbering
|
;; linum mode for pretty line numbering
|
||||||
(require 'linum)
|
(require 'linum) ;; Built-in
|
||||||
|
|
||||||
;; right justify the numbers and add a space between them and the text in the given buffer
|
;; right justify the numbers and add a space between them and the text in the given buffer
|
||||||
(setq linum-format
|
(setq linum-format
|
||||||
|
@ -64,7 +95,7 @@
|
||||||
'face 'linum)))
|
'face 'linum)))
|
||||||
|
|
||||||
;; code-modes is a list of mode hooks (for programming langs only)
|
;; code-modes is a list of mode hooks (for programming langs only)
|
||||||
(defvar code-modes '(scheme-mode-hook emacs-lisp-mode-hook c-mode-hook c++-mode-hook python-mode-hook lua-mode-hook haskell-mode-hook php-mode-hook perl-mode-hook lisp-mode-hook clojure-mode-hook ruby-mode-hook sh-mode-hook))
|
(defvar code-modes '(scheme-mode-hook emacs-lisp-mode-hook c-mode-hook c++-mode-hook python-mode-hook lua-mode-hook python-mode-hook haskell-mode-hook php-mode-hook perl-mode-hook lisp-mode-hook clojure-mode-hook ruby-mode-hook erlang-mode-hook sh-mode-hook))
|
||||||
|
|
||||||
;; activate linum-mode in all buffers used for programming
|
;; activate linum-mode in all buffers used for programming
|
||||||
(activate-mode-with-hooks (lambda () (linum-mode 1)) code-modes)
|
(activate-mode-with-hooks (lambda () (linum-mode 1)) code-modes)
|
||||||
|
@ -72,6 +103,12 @@
|
||||||
;; activate flyspell-prog-mode for all buffers used for programming
|
;; activate flyspell-prog-mode for all buffers used for programming
|
||||||
(activate-mode-with-hooks 'flyspell-prog-mode code-modes)
|
(activate-mode-with-hooks 'flyspell-prog-mode code-modes)
|
||||||
|
|
||||||
|
;; use flyspell-mode in org-mode and magit-log-edit-mode buffers
|
||||||
|
(activate-mode-with-hooks 'flyspell-mode '(org-mode-hook magit-log-edit-mode-hook))
|
||||||
|
|
||||||
|
;; Enjoy a game of Sudoku on some downtime
|
||||||
|
(require 'sudoku) ;; ELPA
|
||||||
|
|
||||||
;; *DEPRECIATED* as of emacs24; when it goes live remove this as well as package emacs-color-theme
|
;; *DEPRECIATED* as of emacs24; when it goes live remove this as well as package emacs-color-theme
|
||||||
;; load color-theme and initialize
|
;; load color-theme and initialize
|
||||||
;;(require 'color-theme)
|
;;(require 'color-theme)
|
||||||
|
@ -105,7 +142,7 @@
|
||||||
(autoload 'ibuffer "ibuffer" "List buffers." t)
|
(autoload 'ibuffer "ibuffer" "List buffers." t)
|
||||||
|
|
||||||
;; Require ibuffer extentions (used for ibuffer-never-show-predicates)
|
;; Require ibuffer extentions (used for ibuffer-never-show-predicates)
|
||||||
(require 'ibuf-ext)
|
(require 'ibuf-ext) ;; Built-in
|
||||||
(add-to-list 'ibuffer-never-show-predicates "^\\*slime-events\\*$")
|
(add-to-list 'ibuffer-never-show-predicates "^\\*slime-events\\*$")
|
||||||
(add-to-list 'ibuffer-never-show-predicates "^\\*Completions\\*$")
|
(add-to-list 'ibuffer-never-show-predicates "^\\*Completions\\*$")
|
||||||
(add-to-list 'ibuffer-never-show-predicates "^\\*tramp/.*\\*$")
|
(add-to-list 'ibuffer-never-show-predicates "^\\*tramp/.*\\*$")
|
||||||
|
@ -125,22 +162,35 @@
|
||||||
(name . "^\\.xmobarrc")
|
(name . "^\\.xmobarrc")
|
||||||
(name . "^\\.Xdefaults$")
|
(name . "^\\.Xdefaults$")
|
||||||
(name . "^\\.screenrc$")
|
(name . "^\\.screenrc$")
|
||||||
(name . "^\\.xbindkeysrc$")))
|
(name . "^\\.xbindkeysrc$")
|
||||||
|
(name . "^\\.racketrc$")
|
||||||
|
(name . "^\\.ghci")))
|
||||||
("code" (or
|
("code" (or
|
||||||
(mode . c-mode)
|
(mode . c-mode)
|
||||||
(mode . c++-mode)
|
(mode . c++-mode)
|
||||||
(mode . perl-mode)
|
(mode . perl-mode)
|
||||||
|
(mode . lua-mode)
|
||||||
|
(mode . clojure-mode)
|
||||||
|
(mode . java-mode)
|
||||||
(mode . python-mode)
|
(mode . python-mode)
|
||||||
(mode . ruby-mode)
|
(mode . ruby-mode)
|
||||||
(mode . emacs-lisp-mode)
|
(mode . emacs-lisp-mode)
|
||||||
(mode . lisp-mode)
|
(mode . lisp-mode)
|
||||||
(mode . sh-mode)
|
(mode . sh-mode)
|
||||||
(mode . scheme-mode)
|
(mode . scheme-mode)
|
||||||
|
(mode . haskell-mode)
|
||||||
(mode . php-mode)
|
(mode . php-mode)
|
||||||
(mode . xml-mode)))
|
(mode . xml-mode)))
|
||||||
("REPL" (or
|
("REPL" (or
|
||||||
(mode . geiser-mode)
|
(mode . geiser-mode)
|
||||||
(mode . slime-repl-mode)
|
(mode . slime-repl-mode)
|
||||||
|
(mode . inferior-python-mode)
|
||||||
|
(mode . inferior-haskell-mode)
|
||||||
|
(mode . inferior-lisp-mode)
|
||||||
|
(mode . eshell-mode)
|
||||||
|
(mode . inferior-scheme-mode)
|
||||||
|
(mode . inferior-tcl)
|
||||||
|
(mode . erlang-shell-mode)
|
||||||
(name . "^\\*inferior-lisp\\*$")
|
(name . "^\\*inferior-lisp\\*$")
|
||||||
(name . "^\\* Racket REPL \\*$")))
|
(name . "^\\* Racket REPL \\*$")))
|
||||||
("planner" (or
|
("planner" (or
|
||||||
|
@ -150,6 +200,10 @@
|
||||||
("emacs" (or
|
("emacs" (or
|
||||||
(name . "^\\*scratch\\*$")
|
(name . "^\\*scratch\\*$")
|
||||||
(name . "^\\*Messages\\*$")))
|
(name . "^\\*Messages\\*$")))
|
||||||
|
("org" (or
|
||||||
|
(mode . org-mode)
|
||||||
|
(name . "^\\.org$")
|
||||||
|
(name . "^\\.org.gpg$")))
|
||||||
("gnus" (or
|
("gnus" (or
|
||||||
(mode . message-mode)
|
(mode . message-mode)
|
||||||
(mode . bbdb-mode)
|
(mode . bbdb-mode)
|
||||||
|
@ -164,21 +218,32 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(ibuffer-switch-to-saved-filter-groups "default")))
|
(ibuffer-switch-to-saved-filter-groups "default")))
|
||||||
|
|
||||||
;; setup html renderer w3m
|
;; Setup oauth2 (required by google-contacts)
|
||||||
(require 'w3m-load)
|
;;(add-to-list 'load-path "/home/collin/.emacs.d/elpa/oauth2-0.5")
|
||||||
(setq browse-url-browser-function 'w3m-browse-url)
|
(require 'oauth2-autoloads) ;; ELPA
|
||||||
|
|
||||||
|
;; Setup google-contact
|
||||||
|
(require 'google-contacts) ;; AUR: emacs-google-contacts
|
||||||
|
(require 'google-contacts-gnus) ;; AUR: emacs-google-contacts
|
||||||
|
|
||||||
|
;; setup html renderer w3m and external browser conkeror
|
||||||
|
(require 'w3m-load) ;; AUR: emacs-w3m-cvs
|
||||||
|
(setq browse-url-browser-function 'w3m-browse-url
|
||||||
|
browse-url-generic-program "conkeror"
|
||||||
|
w3m-use-cookies t)
|
||||||
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
|
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
|
||||||
|
|
||||||
;; setup magit for git *DISABLED*
|
;; setup magit for git (being used though elpa [auto-loaded])
|
||||||
;;(autoload 'magit-status magit nil t)
|
;;(autoload 'magit-status magit nil t)
|
||||||
;;(require 'magit)
|
;;(require 'magit) ;; ELPA
|
||||||
|
(global-set-key "\C-xS" 'magit-status)
|
||||||
|
|
||||||
;; Setup PKGBUILD mode
|
;; Setup PKGBUILD mode
|
||||||
(autoload 'pkgbuild-mode "pkgbuild-mode.el" "PKGBUILD mode." t)
|
(autoload 'pkgbuild-mode "pkgbuild-mode.el" "PKGBUILD mode." t)
|
||||||
(setq auto-mode-alist (append '(("/PKGBUILD$" . pkgbuild-mode)) auto-mode-alist))
|
(setq auto-mode-alist (append '(("/PKGBUILD$" . pkgbuild-mode)) auto-mode-alist))
|
||||||
|
|
||||||
;; setup php-mode
|
;; setup php-mode
|
||||||
(autoload 'php-mode "php-mode.el" "Php mode." t)
|
(autoload 'php-mode "php-mode.el" "Php mode." t) ;; ELPA
|
||||||
(setq auto-mode-alist (append '(("/*.\.php[345]?$" . php-mode)) auto-mode-alist))
|
(setq auto-mode-alist (append '(("/*.\.php[345]?$" . php-mode)) auto-mode-alist))
|
||||||
|
|
||||||
;; Set default lisp program
|
;; Set default lisp program
|
||||||
|
@ -188,7 +253,7 @@
|
||||||
(defun run-kawa ()
|
(defun run-kawa ()
|
||||||
"Run Kawa Scheme in an Emacs buffer."
|
"Run Kawa Scheme in an Emacs buffer."
|
||||||
(interactive)
|
(interactive)
|
||||||
(require 'cmuscheme)
|
(require 'cmuscheme) ;; Built-in
|
||||||
(let ((scheme-program-name "/usr/bin/kawa"))
|
(let ((scheme-program-name "/usr/bin/kawa"))
|
||||||
(run-scheme scheme-program-name)))
|
(run-scheme scheme-program-name)))
|
||||||
|
|
||||||
|
@ -200,29 +265,27 @@
|
||||||
|
|
||||||
;; Function to start and/or connect to slime
|
;; Function to start and/or connect to slime
|
||||||
(defun start-slime ()
|
(defun start-slime ()
|
||||||
|
(interactive)
|
||||||
(unless (slime-connected-p)
|
(unless (slime-connected-p)
|
||||||
(save-excursion (slime))))
|
(save-excursion (slime))))
|
||||||
|
|
||||||
;; Setup slime mode
|
;; Setup slime mode *TODO* drop in slime from ELPA
|
||||||
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
|
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
|
||||||
(require 'slime)
|
(require 'slime) ;; AUR: emacs-slime-cvs
|
||||||
(slime-setup '(slime-fancy))
|
(slime-setup '(slime-fancy))
|
||||||
|
|
||||||
;; Setup clojure mode
|
;; Setup swank-clojure-mode *TODO* drop in version from ELPA
|
||||||
(add-to-list 'load-path "/usr/share/emacs/site-lisp/clojure-mode")
|
|
||||||
(require 'clojure-mode)
|
|
||||||
|
|
||||||
;; Setup swank-clojure-mode
|
|
||||||
(add-to-list 'load-path "/usr/share/emacs/site-lisp/swank-clojure")
|
(add-to-list 'load-path "/usr/share/emacs/site-lisp/swank-clojure")
|
||||||
(require 'swank-clojure)
|
(require 'swank-clojure) ;; AUR: swank-clojure-git
|
||||||
|
|
||||||
(add-hook 'clojure-mode-hook
|
(add-hook 'clojure-mode-hook
|
||||||
'(lambda ()
|
'(lambda ()
|
||||||
(define-key clojure-mode-map "\C-c\C-e" 'lisp-eval-last-sexp)
|
(define-key clojure-mode-map "\C-c\C-e" 'lisp-eval-last-sexp)
|
||||||
(define-key clojure-mode-map "\C-x\C-e" 'lisp-eval-last-sexp)))
|
(define-key clojure-mode-map "\C-x\C-e" 'lisp-eval-last-sexp)))
|
||||||
|
|
||||||
(eval-after-load "slime"
|
(eval-after-load "slime"
|
||||||
`(progn
|
`(progn
|
||||||
(require 'assoc)
|
(require 'assoc) ;; Built-in
|
||||||
(setq swank-clojure-classpath
|
(setq swank-clojure-classpath
|
||||||
(list "/usr/share/clojure/clojure.jar"
|
(list "/usr/share/clojure/clojure.jar"
|
||||||
"/usr/share/clojure/clojure-contrib.jar"
|
"/usr/share/clojure/clojure-contrib.jar"
|
||||||
|
@ -233,11 +296,13 @@
|
||||||
;; Setup emacs-org-mode
|
;; Setup emacs-org-mode
|
||||||
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
|
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
|
||||||
(add-hook 'org-mode-hook 'turn-on-font-lock) ; not needed when global-font-lock-mode is on
|
(add-hook 'org-mode-hook 'turn-on-font-lock) ; not needed when global-font-lock-mode is on
|
||||||
|
(setq org-return-follows-link t)
|
||||||
|
(setq org-log-done 'time)
|
||||||
(global-set-key "\C-cl" 'org-store-link)
|
(global-set-key "\C-cl" 'org-store-link)
|
||||||
(global-set-key "\C-ca" 'org-agenda)
|
(global-set-key "\C-ca" 'org-agenda)
|
||||||
(global-set-key "\C-cb" 'org-iswitchb)
|
(global-set-key "\C-cb" 'org-iswitchb)
|
||||||
|
|
||||||
;; Setup emacs-haskell-mode
|
;; Setup emacs-haskell-mode *TODO* drop in ELPA version
|
||||||
(load "/usr/share/emacs/site-lisp/haskell-mode/haskell-site-file")
|
(load "/usr/share/emacs/site-lisp/haskell-mode/haskell-site-file")
|
||||||
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
|
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
|
||||||
(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
|
(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
|
||||||
|
@ -248,33 +313,38 @@
|
||||||
(setq haskell-program-name "/usr/bin/ghci")
|
(setq haskell-program-name "/usr/bin/ghci")
|
||||||
|
|
||||||
;; Setup emacs-python-mode
|
;; Setup emacs-python-mode
|
||||||
(autoload 'python-mode "/usr/share/emacs/site-lisp/python-mode.el" "Python mode." t)
|
(autoload 'python-mode "python-mode.el" "Python mode." t) ;; ELPA
|
||||||
(setq auto-mode-alist (append '(("/*.\.py$" . python-mode)) auto-mode-alist))
|
(setq auto-mode-alist (append '(("/*.\.py$" . python-mode)) auto-mode-alist))
|
||||||
|
|
||||||
;; Setup emacs-lua-mode
|
;; Setup emacs-lua-mode
|
||||||
(setq auto-mode-alist (cons '("\.lua$" . lua-mode) auto-mode-alist))
|
(setq auto-mode-alist (cons '("\.lua$" . lua-mode) auto-mode-alist)) ;; ELPA
|
||||||
(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
|
(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
|
||||||
|
|
||||||
;; Setup emacs-erlang-mode
|
;; Setup emacs-erlang-mode (ELPA)
|
||||||
(setq erlang-root-dir "/usr/lib/erlang")
|
(setq erlang-root-dir "/usr/lib/erlang")
|
||||||
(setq exec-path (cons "/usr/lib/erlang/bin" exec-path))
|
(setq exec-path (cons "/usr/lib/erlang/bin" exec-path))
|
||||||
(require 'erlang-start)
|
(setq auto-mode-alist (append '(("\.erl$" . erlang-mode)) auto-mode-alist))
|
||||||
|
|
||||||
;; Setup enhanced scheme/racket mode consisting of geiser, quack and paredit
|
;; Setup enhanced scheme/racket mode consisting of geiser, quack and paredit
|
||||||
(require 'geiser-install)
|
;; Setup geiser
|
||||||
;(require 'quack)
|
(require 'geiser-install) ;; AUR: geiser-git
|
||||||
(require 'paredit)
|
|
||||||
(defvar paredit-hooks '(lisp-mode-hook lisp-interaction-mode-hook emacs-lisp-mode scheme-mode-hook c-mode-hook c++-mode-hook python-mode-hook))
|
|
||||||
|
|
||||||
;; Paredit binds to C-j globally and thus disables the binding to
|
;; Setup quack *DISABLED*
|
||||||
;; eval-print-last-sexp in *scratch*; this is more of a temporary
|
;(require 'quack)
|
||||||
;; fix because it creates a global binding and thus can be run in
|
|
||||||
;; not only any emacs-lisp-mode buffer but any buffer
|
;; Setup paredit
|
||||||
(global-set-key "\C-xj" 'eval-print-last-sexp)
|
(require 'paredit) ;; ELPA
|
||||||
|
(defvar paredit-hooks '(lisp-mode-hook lisp-interaction-mode-hook emacs-lisp-mode-hook scheme-mode-hook c-mode-hook c++-mode-hook python-mode-hook))
|
||||||
|
|
||||||
;; Apply paredit-mode to modes listed in paredit-hooks
|
;; Apply paredit-mode to modes listed in paredit-hooks
|
||||||
(activate-mode-with-hooks (lambda () (paredit-mode 1)) paredit-hooks)
|
(activate-mode-with-hooks (lambda () (paredit-mode 1)) paredit-hooks)
|
||||||
|
|
||||||
|
;; Paredit binds to C-j globally and thus disables the binding to
|
||||||
|
;; eval-print-last-sexp in emacs-lisp-mode (e.g *scratch*, etc..)
|
||||||
|
(add-hook 'emacs-lisp-mode-hook
|
||||||
|
'(lambda ()
|
||||||
|
(define-key emacs-lisp-mode-map "\C-xj" 'eval-print-last-sexp)))
|
||||||
|
|
||||||
;; Highlight paren's in given modes [to apply globally do (show-paren-mode 1)]
|
;; Highlight paren's in given modes [to apply globally do (show-paren-mode 1)]
|
||||||
(activate-mode-with-hooks (lambda () (show-paren-mode 1)) paredit-hooks)
|
(activate-mode-with-hooks (lambda () (show-paren-mode 1)) paredit-hooks)
|
||||||
|
|
||||||
|
@ -291,10 +361,13 @@
|
||||||
(setq geiser-active-implementations '(racket))
|
(setq geiser-active-implementations '(racket))
|
||||||
|
|
||||||
;; setup pastebin.el for use with pastebin.com
|
;; setup pastebin.el for use with pastebin.com
|
||||||
(require 'pastebin)
|
(require 'pastebin) ;; ELPA
|
||||||
|
|
||||||
;; hs-org/minor-mode, yasnippet, auto-complete-mode and flyspell do not play
|
;; yasnippet, auto-complete-mode and flyspell do not play nicely with one another due to
|
||||||
;; nicely with one another due to a conflict with the context of their tab binding *TODO*
|
;; a conflict with the context of their tab binding *OLD*
|
||||||
|
|
||||||
|
;; hideshow-org being depreciated in my config due to conflicting key bindings with yasnippet
|
||||||
|
;; and flyspell *TODO*
|
||||||
|
|
||||||
;; Make hs-minor-mode act like org-mode for code folding
|
;; Make hs-minor-mode act like org-mode for code folding
|
||||||
;;(add-to-list 'load-path "/usr/share/emacs/site-lisp/hideshow-org")
|
;;(add-to-list 'load-path "/usr/share/emacs/site-lisp/hideshow-org")
|
||||||
|
@ -311,16 +384,14 @@
|
||||||
;; (add-hook 'scheme-mode-hook 'hs-org/minor-mode)
|
;; (add-hook 'scheme-mode-hook 'hs-org/minor-mode)
|
||||||
|
|
||||||
;; Setup fancy auto-complete
|
;; Setup fancy auto-complete
|
||||||
(add-to-list 'load-path "/usr/share/emacs/site-lisp/auto-complete")
|
(require 'auto-complete-config) ;; ELPA
|
||||||
(require 'auto-complete-config)
|
;;(add-to-list 'ac-dictionary-directories "/usr/share/emacs/site-lisp/auto-complete/ac-dict")
|
||||||
(add-to-list 'ac-dictionary-directories "/usr/share/emacs/site-lisp/auto-complete/ac-dict")
|
|
||||||
(ac-config-default)
|
(ac-config-default)
|
||||||
|
|
||||||
;; Setup yasnippet-mode *TODO* - in conflict (see comment where hs-org/minor-mode is required)
|
;; Setup yasnippet-mode (not yasnippet-bundle)
|
||||||
;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/yas")
|
(require 'yasnippet) ;; ELPA
|
||||||
;; (require 'yasnippet) ;; not yasnippet-bundle
|
(yas/initialize)
|
||||||
;; (yas/initialize)
|
(yas/load-directory "~/.emacs.d/elpa/yasnippet-0.6.1/snippets")
|
||||||
;; (yas/load-directory "/usr/share/emacs/site-lisp/yas/snippets")
|
|
||||||
|
|
||||||
;; Enable flyspell-mode
|
;; Enable flyspell-mode
|
||||||
(ac-flyspell-workaround)
|
(ac-flyspell-workaround)
|
||||||
|
@ -328,7 +399,7 @@
|
||||||
;;(flyspell-mode)
|
;;(flyspell-mode)
|
||||||
|
|
||||||
;; Enable autoinsert feature to automagically insert
|
;; Enable autoinsert feature to automagically insert
|
||||||
(require 'autoinsert)
|
(require 'autoinsert) ;; Built-in
|
||||||
(auto-insert-mode) ;;; Adds hook to find-files-hook
|
(auto-insert-mode) ;;; Adds hook to find-files-hook
|
||||||
(setq auto-insert-directory "~/.emacs.d/templates/") ;;; Or use custom, *NOTE* Trailing slash important
|
(setq auto-insert-directory "~/.emacs.d/templates/") ;;; Or use custom, *NOTE* Trailing slash important
|
||||||
(setq auto-insert-query nil) ;;; If you don't want to be prompted before insertion
|
(setq auto-insert-query nil) ;;; If you don't want to be prompted before insertion
|
||||||
|
@ -339,6 +410,9 @@
|
||||||
(setq auto-insert-alist
|
(setq auto-insert-alist
|
||||||
'(("\\.c$" . ["c-template.c" auto-update-generic-template])
|
'(("\\.c$" . ["c-template.c" auto-update-generic-template])
|
||||||
("\\.\(cc\|cpp\)$" . ["cpp-template.c" auto-update-generic-template])
|
("\\.\(cc\|cpp\)$" . ["cpp-template.c" auto-update-generic-template])
|
||||||
|
("\\.php$" . ["php-template.php" auto-update-generic-template])
|
||||||
|
("\\.lua$" . ["lua-template.lua" auto-update-generic-template])
|
||||||
|
("\\.erl$" . ["erlang-template.erl" auto-update-generic-template])
|
||||||
("\\.sh$" . ["shell-template.sh" auto-update-generic-template])
|
("\\.sh$" . ["shell-template.sh" auto-update-generic-template])
|
||||||
("\\.rkt$" . ["racket-template.rkt" auto-update-generic-template])
|
("\\.rkt$" . ["racket-template.rkt" auto-update-generic-template])
|
||||||
("\\.scm$" . ["scheme-template.scm" auto-update-generic-template])
|
("\\.scm$" . ["scheme-template.scm" auto-update-generic-template])
|
||||||
|
@ -346,6 +420,7 @@
|
||||||
("\\.lisp$" . ["lisp-template.lisp" auto-update-generic-template])
|
("\\.lisp$" . ["lisp-template.lisp" auto-update-generic-template])
|
||||||
("\\.el$" . ["emacs-lisp-template.el" auto-update-generic-template])
|
("\\.el$" . ["emacs-lisp-template.el" auto-update-generic-template])
|
||||||
("\\.hs$" . ["haskell-template.hs" auto-update-generic-template])
|
("\\.hs$" . ["haskell-template.hs" auto-update-generic-template])
|
||||||
|
("\\.ml$" . ["ocaml-template.ml" auto-update-generic-template])
|
||||||
("\\.py$" . ["python-template.py" auto-update-generic-template])))
|
("\\.py$" . ["python-template.py" auto-update-generic-template])))
|
||||||
(setq auto-insert 'other)
|
(setq auto-insert 'other)
|
||||||
|
|
||||||
|
@ -463,7 +538,7 @@
|
||||||
(let ((inhibit-read-only t))
|
(let ((inhibit-read-only t))
|
||||||
(erase-buffer)))
|
(erase-buffer)))
|
||||||
|
|
||||||
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
|
;; (add-to-list 'load-path "~/.emacs.d/el-get/el-get")
|
||||||
|
|
||||||
;; *BROKEN*..can't connect to dbus for some reason?
|
;; *BROKEN*..can't connect to dbus for some reason?
|
||||||
;; ;; Setup el-get
|
;; ;; Setup el-get
|
||||||
|
@ -487,15 +562,20 @@
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
;; Your init file should contain only one such instance.
|
;; Your init file should contain only one such instance.
|
||||||
;; If there is more than one, they won't work right.
|
;; If there is more than one, they won't work right.
|
||||||
'(org-agenda-files nil)
|
'(highlight-current-line-globally t nil (highlight-current-line))
|
||||||
|
'(highlight-current-line-ignore-regexp "Faces\\|Colors\\| \\*Mini\\|\\**\\*")
|
||||||
|
'(magit-commit-signoff t)
|
||||||
|
'(org-agenda-files (quote ("~/.org/tech/notes.org" "~/.org/todo/rekahsoft-mini-todo.org" "~/.org/todo/rekahsoft-todo.org" "~/.org/todo/general.org" "~/.org/todo/work.org")))
|
||||||
'(quack-default-program "racket")
|
'(quack-default-program "racket")
|
||||||
'(quack-fontify-style (quote plt))
|
'(quack-fontify-style (quote plt))
|
||||||
'(quack-programs (quote ("mzscheme" "bigloo" "csi" "csi -hygienic" "gosh" "gracket" "gsi" "gsi ~~/syntax-case.scm -" "guile" "kawa" "mit-scheme" "racket" "racket -il typed/racket" "rs" "scheme" "scheme48" "scsh" "sisc" "stklos" "sxi")))
|
'(quack-programs (quote ("mzscheme" "bigloo" "csi" "csi -hygienic" "gosh" "gracket" "gsi" "gsi ~~/syntax-case.scm -" "guile" "kawa" "mit-scheme" "racket" "racket -il typed/racket" "rs" "scheme" "scheme48" "scsh" "sisc" "stklos" "sxi")))
|
||||||
'(scroll-bar-mode nil)
|
'(scroll-bar-mode nil)
|
||||||
'(show-paren-mode t))
|
'(show-paren-mode t)
|
||||||
|
'(w3m-content-type-alist (quote (("text/plain" "\\.\\(?:txt\\|tex\\|el\\)\\'" nil nil) ("text/html" "\\.s?html?\\'" ("conkeror" file) nil) ("text/sgml" "\\.sgml?\\'" nil "text/plain") ("text/xml" "\\.xml\\'" nil "text/plain") ("image/jpeg" "\\.jpe?g\\'" ("/usr/bin/display" file) nil) ("image/png" "\\.png\\'" ("/usr/bin/display" file) nil) ("image/gif" "\\.gif\\'" ("/usr/bin/display" file) nil) ("image/tiff" "\\.tif?f\\'" ("/usr/bin/display" file) nil) ("image/x-xwd" "\\.xwd\\'" ("/usr/bin/display" file) nil) ("image/x-xbm" "\\.xbm\\'" ("/usr/bin/display" file) nil) ("image/x-xpm" "\\.xpm\\'" ("/usr/bin/display" file) nil) ("image/x-bmp" "\\.bmp\\'" ("/usr/bin/display" file) nil) ("video/mpeg" "\\.mpe?g\\'" nil nil) ("video/quicktime" "\\.mov\\'" nil nil) ("application/dvi" "\\.dvi\\'" ("xdvi" file) nil) ("application/postscript" "\\.e?ps\\'" ("gs" file) nil) ("application/pdf" "\\.pdf\\'" nil nil) ("application/x-pdf" "\\.pdf\\'" nil nil) ("application/xml" "\\.xml\\'" nil w3m-detect-xml-type) ("application/rdf+xml" "\\.rdf\\'" nil "text/plain") ("application/rss+xml" "\\.rss\\'" nil "text/plain") ("application/xhtml+xml" nil nil "text/html")))))
|
||||||
(custom-set-faces
|
(custom-set-faces
|
||||||
;; custom-set-faces was added by Custom.
|
;; custom-set-faces was added by Custom.
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
;; Your init file should contain only one such instance.
|
;; Your init file should contain only one such instance.
|
||||||
;; If there is more than one, they won't work right.
|
;; If there is more than one, they won't work right.
|
||||||
)
|
'(font-lock-function-name-face ((t (:foreground "mediumspringgreen" :weight bold :height 1.0))))
|
||||||
|
'(highlight-current-line-face ((t (:background "gray10")))))
|
||||||
|
|
|
@ -0,0 +1,108 @@
|
||||||
|
Files {
|
||||||
|
Keys = "~/.pekwm/keys"
|
||||||
|
Mouse = "~/.pekwm/mouse"
|
||||||
|
Menu = "~/.pekwm/menu"
|
||||||
|
Start = "~/.pekwm/start"
|
||||||
|
AutoProps = "~/.pekwm/autoproperties"
|
||||||
|
Theme = "$_PEKWM_THEME_PATH/<THEME>"
|
||||||
|
Icons = "~/.pekwm/icons/"
|
||||||
|
}
|
||||||
|
|
||||||
|
MoveResize {
|
||||||
|
EdgeAttract = "10"
|
||||||
|
EdgeResist = "10"
|
||||||
|
WindowAttract = "5"
|
||||||
|
WindowResist = "5"
|
||||||
|
OpaqueMove = "True"
|
||||||
|
OpaqueResize = "False"
|
||||||
|
}
|
||||||
|
|
||||||
|
Screen {
|
||||||
|
Workspaces = "9"
|
||||||
|
WorkspacesPerRow = "3"
|
||||||
|
WorkspaceNames = "Main;Web;E-mail;Music;Work 05;Work 06;Work 07;Work 08;Work 09"
|
||||||
|
ShowFrameList = "True"
|
||||||
|
ShowStatusWindow = "True"
|
||||||
|
ShowStatusWindowCenteredOnRoot = "False"
|
||||||
|
ShowClientID = "False"
|
||||||
|
ShowWorkspaceIndicator = "500"
|
||||||
|
PlaceNew = "True"
|
||||||
|
FocusNew = "True"
|
||||||
|
|
||||||
|
ReportAllClients = "False"
|
||||||
|
|
||||||
|
TrimTitle = "..."
|
||||||
|
FullscreenAbove = "True"
|
||||||
|
FullscreenDetect = "True"
|
||||||
|
HonourRandr = "True"
|
||||||
|
HonourAspectRatio = "True"
|
||||||
|
EdgeSize = "1 1 1 1"
|
||||||
|
EdgeIndent = "False"
|
||||||
|
PixmapCacheSize = "20"
|
||||||
|
DoubleClickTime = "250"
|
||||||
|
|
||||||
|
Placement {
|
||||||
|
Model = "CenteredOnParent Smart MouseNotUnder"
|
||||||
|
Smart {
|
||||||
|
Row = "True"
|
||||||
|
TopToBottom = "True"
|
||||||
|
LeftToRight = "True"
|
||||||
|
OffsetX = "0"
|
||||||
|
OffsetY = "0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UniqueNames {
|
||||||
|
SetUnique = "False"
|
||||||
|
Pre = " #"
|
||||||
|
Post = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Menu {
|
||||||
|
DisplayIcons = "True"
|
||||||
|
|
||||||
|
Icons = "DEFAULT" {
|
||||||
|
Minimum = "16x16"
|
||||||
|
Maximum = "16x16"
|
||||||
|
}
|
||||||
|
|
||||||
|
# To enable make separate window have other icon size restrictions,
|
||||||
|
# for example wallpaper menu found in pekwm_menu_tools, set the following
|
||||||
|
# for each menu you want to "free".
|
||||||
|
|
||||||
|
# Icons = "Wallpaper" {
|
||||||
|
# Minimum = "64x64"
|
||||||
|
# Maximum = "64x64"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Defines how menus act on mouse input.
|
||||||
|
# Possible values are: "ButtonPress ButtonRelease DoubleClick Motion"
|
||||||
|
# To make submenus open on mouse over, comment the default Enter,
|
||||||
|
# uncomment the alternative, and reload pekwm.
|
||||||
|
|
||||||
|
Select = "Motion MotionPressed"
|
||||||
|
Enter = "MotionPressed ButtonPress"
|
||||||
|
# Enter = "Motion"
|
||||||
|
Exec = "ButtonRelease"
|
||||||
|
}
|
||||||
|
|
||||||
|
CmdDialog {
|
||||||
|
HistoryUnique = "True"
|
||||||
|
HistorySize = "1024"
|
||||||
|
HistoryFile = "~/.pekwm/history"
|
||||||
|
HistorySaveInterval = "16"
|
||||||
|
}
|
||||||
|
|
||||||
|
Harbour {
|
||||||
|
OnTop = "True"
|
||||||
|
MaximizeOver = "False"
|
||||||
|
Placement = "Right"
|
||||||
|
Orientation = "TopToBottom"
|
||||||
|
Head = "0"
|
||||||
|
|
||||||
|
DockApp {
|
||||||
|
SideMin = "64"
|
||||||
|
SideMax = "0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,315 @@
|
||||||
|
INCLUDE = "vars"
|
||||||
|
|
||||||
|
Global {
|
||||||
|
# - - ----------------------------------------------- - -
|
||||||
|
# Simple bindings to most frequently used actions.
|
||||||
|
#
|
||||||
|
# Adding your own frequently used actions is easy -
|
||||||
|
# just copy it over from CHAINS and edit the keypress!
|
||||||
|
# Moving in frames
|
||||||
|
KeyPress = "Mod1 Tab" { Actions = "NextFrame EndRaise" }
|
||||||
|
KeyPress = "Mod1 Shift Tab" { Actions = "PrevFrame EndRaise" }
|
||||||
|
KeyPress = "Mod1 Ctrl Tab" { Actions = "NextFrameMRU EndRaise" }
|
||||||
|
KeyPress = "Mod1 Ctrl Shift Tab" { Actions = "PrevFrameMRU EndRaise" }
|
||||||
|
KeyPress = "Mod4 Tab" { Actions = "ActivateClientRel 1" }
|
||||||
|
KeyPress = "Mod4 Shift Tab" { Actions = "ActivateClientRel -1" }
|
||||||
|
KeyPress = "Mod4 Ctrl Right" { Actions = "MoveClientRel 1" }
|
||||||
|
KeyPress = "Mod4 Ctrl Left" { Actions = "MoveClientRel -1" }
|
||||||
|
KeyPress = "Mod4 Left" { Actions = "FocusDirectional Left" }
|
||||||
|
KeyPress = "Mod4 Right" { Actions = "FocusDirectional Right" }
|
||||||
|
KeyPress = "Mod4 Up" { Actions = "FocusDirectional Up" }
|
||||||
|
KeyPress = "Mod4 Down" { Actions = "FocusDirectional Down" }
|
||||||
|
# Moving in workspaces
|
||||||
|
KeyPress = "Ctrl Mod1 Left" { Actions = "GotoWorkspace Left" }
|
||||||
|
KeyPress = "Ctrl Mod1 Right" { Actions = "GotoWorkspace Right" }
|
||||||
|
KeyPress = "Ctrl Mod1 Up" { Actions = "GotoWorkspace Up" }
|
||||||
|
KeyPress = "Ctrl Mod1 Down" { Actions = "GotoWorkspace Down" }
|
||||||
|
KeyPress = "Mod4 1" { Actions = "GotoWorkspace 1" }
|
||||||
|
KeyPress = "Mod4 2" { Actions = "GotoWorkspace 2" }
|
||||||
|
KeyPress = "Mod4 3" { Actions = "GotoWorkspace 3" }
|
||||||
|
KeyPress = "Mod4 4" { Actions = "GotoWorkspace 4" }
|
||||||
|
KeyPress = "Mod4 5" { Actions = "GotoWorkspace 5" }
|
||||||
|
KeyPress = "Mod4 6" { Actions = "GotoWorkspace 6" }
|
||||||
|
KeyPress = "Mod4 7" { Actions = "GotoWorkspace 7" }
|
||||||
|
KeyPress = "Mod4 8" { Actions = "GotoWorkspace 8" }
|
||||||
|
KeyPress = "Mod4 9" { Actions = "GotoWorkspace 9" }
|
||||||
|
KeyPress = "Ctrl Mod1 Shift Left" { Actions = "SendToWorkspace Next; GoToWorkspace Next" }
|
||||||
|
KeyPress = "Ctrl Mod1 Shift Right" { Actions = "SendToWorkspace Prev; GoToWorkspace Prev" }
|
||||||
|
KeyPress = "Ctrl Mod1 Shift Up" { Actions = "SendToWorkspace NextV; GoToWorkspace NextV" }
|
||||||
|
KeyPress = "Ctrl Mod1 Shift Down" { Actions = "SendToWorkspace PrevV; GoToWorkspace PrevV" }
|
||||||
|
KeyPress = "Mod4 F1" { Actions = "SendToWorkspace 1" }
|
||||||
|
KeyPress = "Mod4 F2" { Actions = "SendToWorkspace 2" }
|
||||||
|
KeyPress = "Mod4 F3" { Actions = "SendToWorkspace 3" }
|
||||||
|
KeyPress = "Mod4 F4" { Actions = "SendToWorkspace 4" }
|
||||||
|
KeyPress = "Mod4 F5" { Actions = "SendToWorkspace 5" }
|
||||||
|
KeyPress = "Mod4 F6" { Actions = "SendToWorkspace 6" }
|
||||||
|
KeyPress = "Mod4 F7" { Actions = "SendToWorkspace 7" }
|
||||||
|
KeyPress = "Mod4 F8" { Actions = "SendToWorkspace 8" }
|
||||||
|
KeyPress = "Mod4 F9" { Actions = "SendToWorkspace 9" }
|
||||||
|
# Simple window management
|
||||||
|
KeyPress = "Mod4 M" { Actions = "Toggle Maximized True True" }
|
||||||
|
KeyPress = "Mod4 G" { Actions = "Maxfill True True" }
|
||||||
|
KeyPress = "Mod4 F" { Actions = "Toggle FullScreen" }
|
||||||
|
KeyPress = "Mod4 Return" { Actions = "MoveResize" }
|
||||||
|
KeyPress = "Mod4 Q" { Actions = "Close" }
|
||||||
|
KeyPress = "Mod4 S" { Actions = "Toggle Shaded" }
|
||||||
|
KeyPress = "Mod4 I" { Actions = "Toggle Iconified" }
|
||||||
|
# Marking
|
||||||
|
KeyPress = "Mod4 Z" { Actions = "Toggle Marked" }
|
||||||
|
KeyPress = "Mod4 A" { Actions = "AttachMarked" }
|
||||||
|
# Tagging
|
||||||
|
KeyPress = "Mod4 T" { Actions = "Toggle Tagged False" }
|
||||||
|
# Menus
|
||||||
|
KeyPress = "Mod4 R" { Actions = "ShowMenu Root" }
|
||||||
|
KeyPress = "Mod4 W" { Actions = "ShowMenu Window" }
|
||||||
|
KeyPress = "Mod4 L" { Actions = "ShowMenu Goto" }
|
||||||
|
KeyPress = "Mod4 C" { Actions = "ShowMenu GotoClient" }
|
||||||
|
KeyPress = "Mod4 Shift I" { Actions = "ShowMenu Icon" }
|
||||||
|
KeyPress = "Mod4 X" { Actions = "HideAllMenus" }
|
||||||
|
# External Commands
|
||||||
|
KeyPress = "Mod4 E" { Actions = "Exec $TERM" }
|
||||||
|
# Pekwm control
|
||||||
|
KeyPress = "Ctrl Mod1 Delete" { Actions = "Reload" }
|
||||||
|
KeyPress = "Mod4 D" { Actions = "ShowCmdDialog" }
|
||||||
|
KeyPress = "Mod4 V" { Actions = "ShowSearchDialog" }
|
||||||
|
KeyPress = "Mod4 H" { Actions = "Toggle HarbourHidden" }
|
||||||
|
|
||||||
|
# - - ----------------------------------------------- - -
|
||||||
|
# CHAINS. These give you access to just about everything.
|
||||||
|
# Move to Corner
|
||||||
|
Chain = "Ctrl Mod1 C" {
|
||||||
|
KeyPress = "Q" { Actions = "MoveToEdge TopLeft" }
|
||||||
|
KeyPress = "Y" { Actions = "MoveToEdge TopCenterEdge" }
|
||||||
|
KeyPress = "W" { Actions = "MoveToEdge TopCenterEdge" }
|
||||||
|
KeyPress = "Shift Y" { Actions = "MoveToEdge TopEdge" }
|
||||||
|
KeyPress = "Shift W" { Actions = "MoveToEdge TopEdge" }
|
||||||
|
KeyPress = "P" { Actions = "MoveToEdge TopRight" }
|
||||||
|
KeyPress = "E" { Actions = "MoveToEdge TopRight" }
|
||||||
|
KeyPress = "A" { Actions = "MoveToEdge LeftCenterEdge" }
|
||||||
|
KeyPress = "Shift A" { Actions = "MoveToEdge LeftEdge" }
|
||||||
|
KeyPress = "L" { Actions = "MoveToEdge RightCenterEdge" }
|
||||||
|
KeyPress = "D" { Actions = "MoveToEdge RightCenterEdge" }
|
||||||
|
KeyPress = "Shift L" { Actions = "MoveToEdge RightEdge" }
|
||||||
|
KeyPress = "Shift D" { Actions = "MoveToEdge RightEdge" }
|
||||||
|
KeyPress = "Z" { Actions = "MoveToEdge BottomLeft" }
|
||||||
|
KeyPress = "B" { Actions = "MoveToEdge BottomCenterEdge" }
|
||||||
|
KeyPress = "X" { Actions = "MoveToEdge BottomCenterEdge" }
|
||||||
|
KeyPress = "Shift B" { Actions = "MoveToEdge BottomEdge" }
|
||||||
|
KeyPress = "Shift X" { Actions = "MoveToEdge BottomEdge" }
|
||||||
|
KeyPress = "M" { Actions = "MoveToEdge BottomRight" }
|
||||||
|
KeyPress = "C" { Actions = "MoveToEdge BottomRight" }
|
||||||
|
KeyPress = "H" { Actions = "MoveToEdge Center" }
|
||||||
|
KeyPress = "S" { Actions = "MoveToEdge Center" }
|
||||||
|
}
|
||||||
|
# Menus
|
||||||
|
Chain = "Ctrl Mod1 M" {
|
||||||
|
KeyPress = "R" { Actions = "ShowMenu Root" }
|
||||||
|
KeyPress = "W" { Actions = "ShowMenu Window" }
|
||||||
|
KeyPress = "I" { Actions = "ShowMenu Icon" }
|
||||||
|
KeyPress = "G" { Actions = "ShowMenu Goto" }
|
||||||
|
KeyPress = "C" { Actions = "ShowMenu GotoClient" }
|
||||||
|
KeyPress = "D" { Actions = "ShowMenu Decor" }
|
||||||
|
KeyPress = "A" { Actions = "ShowMenu AttachClientInFrame" }
|
||||||
|
KeyPress = "F" { Actions = "ShowMenu AttachFrameInFrame" }
|
||||||
|
Keypress = "Shift A" { Actions = "ShowMenu AttachClient" }
|
||||||
|
Keypress = "Shift F" { Actions = "ShowMenu AttachFrame" }
|
||||||
|
KeyPress = "X" { Actions = "HideAllMenus" }
|
||||||
|
}
|
||||||
|
# Grouping
|
||||||
|
Chain = "Ctrl Mod1 T" {
|
||||||
|
KeyPress = "T" { Actions = "Toggle Tagged False" }
|
||||||
|
KeyPress = "B" { Actions = "Toggle Tagged True" }
|
||||||
|
KeyPress = "C" { Actions = "Unset Tagged" }
|
||||||
|
KeyPress = "G" { Actions = "Toggle GlobalGrouping" }
|
||||||
|
KeyPress = "M" { Actions = "Toggle Marked" }
|
||||||
|
KeyPress = "A" { Actions = "AttachMarked" }
|
||||||
|
KeyPress = "D" { Actions = "Detach" }
|
||||||
|
Keypress = "P" { Actions = "AttachClientInNextFrame" }
|
||||||
|
KeyPress = "O" { Actions = "AttachClientInPrevFrame" }
|
||||||
|
Keypress = "I" { Actions = "AttachFrameInNextFrame" }
|
||||||
|
KeyPress = "U" { Actions = "AttachFrameInPrevFrame" }
|
||||||
|
}
|
||||||
|
# Decor Toggles
|
||||||
|
Chain = "Ctrl Mod1 D" {
|
||||||
|
KeyPress = "B" { Actions = "Toggle DecorBorder" }
|
||||||
|
KeyPress = "T" { Actions = "Toggle DecorTitlebar" }
|
||||||
|
KeyPress = "D" { Actions = "Toggle DecorBorder; Toggle DecorTitlebar" }
|
||||||
|
}
|
||||||
|
# Window Actions
|
||||||
|
Chain = "Ctrl Mod1 A" {
|
||||||
|
Chain = "G" {
|
||||||
|
KeyPress = "G" { Actions = "MaxFill True True" }
|
||||||
|
KeyPress = "V" { Actions = "MaxFill False True" }
|
||||||
|
KeyPress = "H" { Actions = "MaxFill True False" }
|
||||||
|
}
|
||||||
|
Chain = "M" {
|
||||||
|
KeyPress = "M" { Actions = "Toggle Maximized True True" }
|
||||||
|
KeyPress = "V" { Actions = "Toggle Maximized False True" }
|
||||||
|
KeyPress = "H" { Actions = "Toggle Maximized True False" }
|
||||||
|
}
|
||||||
|
Chain = "Q" {
|
||||||
|
KeyPress = "Q" { Actions = "Close" }
|
||||||
|
KeyPress = "F" { Actions = "CloseFrame" }
|
||||||
|
KeyPress = "K" { Actions = "Kill" }
|
||||||
|
}
|
||||||
|
KeyPress = "S" { Actions = "Toggle Shaded" }
|
||||||
|
KeyPress = "A" { Actions = "Toggle Sticky" }
|
||||||
|
KeyPress = "O" { Actions = "Toggle AlwaysOnTop" }
|
||||||
|
KeyPress = "B" { Actions = "Toggle AlwaysBelow" }
|
||||||
|
KeyPress = "I" { Actions = "Set Iconified" }
|
||||||
|
KeyPress = "R" { Actions = "Raise" }
|
||||||
|
KeyPress = "Shift R" { Actions = "Raise True" }
|
||||||
|
KeyPress = "L" { Actions = "Lower" }
|
||||||
|
KeyPress = "Shift L" { Actions = "Lower True" }
|
||||||
|
KeyPress = "X" { Actions = "ActivateOrRaise" }
|
||||||
|
KeyPress = "Return" { Actions = "MoveResize" }
|
||||||
|
KeyPress = "F" { Actions = "Toggle Fullscreen" }
|
||||||
|
KeyPress = "Left" { Actions = "GrowDirection Left" }
|
||||||
|
KeyPress = "Right" { Actions = "GrowDirection Right" }
|
||||||
|
KeyPress = "Up" { Actions = "GrowDirection Up" }
|
||||||
|
KeyPress = "Down" { Actions = "GrowDirection Down" }
|
||||||
|
}
|
||||||
|
# Moving in Frames
|
||||||
|
Chain = "Ctrl Mod1 F" {
|
||||||
|
KeyPress = "P" { Actions = "NextFrame AlwaysRaise" }
|
||||||
|
KeyPress = "O" { Actions = "PrevFrame AlwaysRaise" }
|
||||||
|
KeyPress = "Shift P" { Actions = "NextFrameMRU EndRaise" }
|
||||||
|
KeyPress = "Shift O" { Actions = "PrevFrameMRU EndRaise" }
|
||||||
|
KeyPress = "I" { Actions = "ActivateClientRel 1" }
|
||||||
|
KeyPress = "U" { Actions = "ActivateClientRel -1" }
|
||||||
|
KeyPress = "Shift I" { Actions = "MoveClientRel 1" }
|
||||||
|
KeyPress = "Shift U" { Actions = "MoveClientRel -1" }
|
||||||
|
KeyPress = "Up" { Actions = "FocusDirectional Up" }
|
||||||
|
KeyPress = "Down" { Actions = "FocusDirectional Down" }
|
||||||
|
KeyPress = "Left" { Actions = "FocusDirectional Left" }
|
||||||
|
Keypress = "Right" { Actions = "FocusDirectional Right" }
|
||||||
|
KeyPress = "1" { Actions = "ActivateClientNum 1" }
|
||||||
|
KeyPress = "2" { Actions = "ActivateClientNum 2" }
|
||||||
|
KeyPress = "3" { Actions = "ActivateClientNum 3" }
|
||||||
|
KeyPress = "4" { Actions = "ActivateClientNum 4" }
|
||||||
|
KeyPress = "5" { Actions = "ActivateClientNum 5" }
|
||||||
|
KeyPress = "6" { Actions = "ActivateClientNum 6" }
|
||||||
|
KeyPress = "7" { Actions = "ActivateClientNum 7" }
|
||||||
|
KeyPress = "8" { Actions = "ActivateClientNum 8" }
|
||||||
|
KeyPress = "9" { Actions = "ActivateClientNum 9" }
|
||||||
|
KeyPress = "0" { Actions = "ActivateClientNum 10" }
|
||||||
|
KeyPress = "C" { Actions = "ShowCmdDialog GotoClientID " }
|
||||||
|
}
|
||||||
|
# Workspaces
|
||||||
|
Chain = "Ctrl Mod1 W" {
|
||||||
|
KeyPress = "Right" { Actions = "GoToWorkspace Right" }
|
||||||
|
KeyPress = "Left" { Actions = "GoToWorkspace Left" }
|
||||||
|
KeyPress = "N" { Actions = "GoToWorkspace Next" }
|
||||||
|
KeyPress = "P" { Actions = "GoToWorkspace Prev" }
|
||||||
|
KeyPress = "1" { Actions = "GoToWorkspace 1" }
|
||||||
|
KeyPress = "2" { Actions = "GoToWorkspace 2" }
|
||||||
|
KeyPress = "3" { Actions = "GoToWorkspace 3" }
|
||||||
|
KeyPress = "4" { Actions = "GoToWorkspace 4" }
|
||||||
|
KeyPress = "5" { Actions = "GoToWorkspace 5" }
|
||||||
|
KeyPress = "6" { Actions = "GoToWorkspace 6" }
|
||||||
|
KeyPress = "7" { Actions = "GoToWorkspace 7" }
|
||||||
|
KeyPress = "8" { Actions = "GoToWorkspace 8" }
|
||||||
|
KeyPress = "9" { Actions = "GoToWorkspace 9" }
|
||||||
|
KeyPress = "Up" { Actions = "SendToWorkspace Next; GoToWorkspace Next" }
|
||||||
|
KeyPress = "Down" { Actions = "SendToWorkspace Prev; GoToWorkspace Prev" }
|
||||||
|
KeyPress = "F1" { Actions = "SendToWorkspace 1" }
|
||||||
|
KeyPress = "F2" { Actions = "SendToWorkspace 2" }
|
||||||
|
KeyPress = "F3" { Actions = "SendToWorkspace 3" }
|
||||||
|
KeyPress = "F4" { Actions = "SendToWorkspace 4" }
|
||||||
|
KeyPress = "F5" { Actions = "SendToWorkspace 5" }
|
||||||
|
KeyPress = "F6" { Actions = "SendToWorkspace 6" }
|
||||||
|
KeyPress = "F7" { Actions = "SendToWorkspace 7" }
|
||||||
|
KeyPress = "F8" { Actions = "SendToWorkspace 8" }
|
||||||
|
KeyPress = "F9" { Actions = "SendToWorkspace 9" }
|
||||||
|
}
|
||||||
|
# External commands
|
||||||
|
Chain = "Ctrl Mod1 E" {
|
||||||
|
KeyPress = "E" { Actions = "Exec $TERM" }
|
||||||
|
KeyPress = "L" { Actions = "Exec xlock -mode blank &" }
|
||||||
|
KeyPress = "S" { Actions = "Exec scrot &" }
|
||||||
|
KeyPress = "C" { Actions = "ShowCmdDialog" }
|
||||||
|
}
|
||||||
|
# Wm actions
|
||||||
|
Chain = "Ctrl Mod1 P" {
|
||||||
|
KeyPress = "Delete" { Actions = "Reload" }
|
||||||
|
KeyPress = "Next" { Actions = "Restart" }
|
||||||
|
KeyPress = "End" { Actions = "Exit" }
|
||||||
|
KeyPress = "Prior" { Actions = "RestartOther twm" }
|
||||||
|
KeyPress = "D" { Actions = "ShowCmdDialog" }
|
||||||
|
KeyPress = "H" { Actions = "Toggle HarbourHidden" }
|
||||||
|
}
|
||||||
|
# Skipping
|
||||||
|
Chain = "Ctrl Mod1 S" {
|
||||||
|
Keypress = "M" { Actions = "Toggle Skip Menus" }
|
||||||
|
Keypress = "F" { Actions = "Toggle Skip FocusToggle" }
|
||||||
|
Keypress = "S" { Actions = "Toggle Skip Snap" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keys when MoveResize is active
|
||||||
|
MoveResize {
|
||||||
|
KeyPress = "Left" { Actions = "MoveHorizontal -10" }
|
||||||
|
KeyPress = "Right" { Actions = "MoveHorizontal 10" }
|
||||||
|
KeyPress = "Up" { Actions = "MoveVertical -10" }
|
||||||
|
KeyPress = "Down" { Actions = "MoveVertical 10" }
|
||||||
|
Keypress = "Shift Left" { Actions = "MoveHorizontal -1" }
|
||||||
|
Keypress = "Shift Right" { Actions = "MoveHorizontal 1" }
|
||||||
|
Keypress = "Shift Up" { Actions = "MoveVertical -1" }
|
||||||
|
Keypress = "Shift Down" { Actions = "MoveVertical 1" }
|
||||||
|
Keypress = "Mod4 Left" { Actions = "ResizeHorizontal -10" }
|
||||||
|
Keypress = "Mod4 Right" { Actions = "ResizeHorizontal 10" }
|
||||||
|
Keypress = "Mod4 Up" { Actions = "ResizeVertical -10" }
|
||||||
|
Keypress = "Mod4 Down" { Actions = "ResizeVertical 10" }
|
||||||
|
Keypress = "Mod1 Left" { Actions = "ResizeHorizontal -10" }
|
||||||
|
Keypress = "Mod1 Right" { Actions = "ResizeHorizontal 10" }
|
||||||
|
Keypress = "Mod1 Up" { Actions = "ResizeVertical -10" }
|
||||||
|
Keypress = "Mod1 Down" { Actions = "ResizeVertical 10" }
|
||||||
|
Keypress = "Shift Mod4 Left" { Actions = "ResizeHorizontal -1" }
|
||||||
|
Keypress = "Shift Mod4 Right" { Actions = "ResizeHorizontal 1" }
|
||||||
|
Keypress = "Shift Mod4 Up" { Actions = "ResizeVertical -1" }
|
||||||
|
Keypress = "Shift Mod4 Down" { Actions = "ResizeVertical 1" }
|
||||||
|
Keypress = "Shift Mod1 Left" { Actions = "ResizeHorizontal -1" }
|
||||||
|
Keypress = "Shift Mod1 Right" { Actions = "ResizeHorizontal 1" }
|
||||||
|
Keypress = "Shift Mod1 Up" { Actions = "ResizeVertical -1" }
|
||||||
|
Keypress = "Shift Mod1 Down" { Actions = "ResizeVertical 1" }
|
||||||
|
Keypress = "s" { Actions = "MoveSnap" }
|
||||||
|
Keypress = "Escape" { Actions = "Cancel" }
|
||||||
|
Keypress = "q" { Actions = "Cancel" }
|
||||||
|
Keypress = "Return" { Actions = "End" }
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keys for CmdDialog editing
|
||||||
|
InputDialog {
|
||||||
|
KeyPress = "Left" { Actions = "CursPrev" }
|
||||||
|
KeyPress = "Right" { Actions = "CursNext" }
|
||||||
|
KeyPress = "Ctrl A" { Actions = "CursBegin" }
|
||||||
|
KeyPress = "Ctrl E" { Actions = "CursEnd" }
|
||||||
|
KeyPress = "BackSpace" { Actions = "Erase;CompleteAbort" }
|
||||||
|
KeyPress = "Ctrl K" { Actions = "ClearFromCursor" }
|
||||||
|
KeyPress = "Ctrl C" { Actions = "Clear" }
|
||||||
|
KeyPress = "Return" { Actions = "Exec" }
|
||||||
|
KeyPress = "Escape" { Actions = "Close" }
|
||||||
|
KeyPress = "Up" { Actions = "HistPrev" }
|
||||||
|
KeyPress = "Down" { Actions = "HistNext" }
|
||||||
|
KeyPress = "Ctrl P" { Actions = "HistPrev" }
|
||||||
|
KeyPress = "Ctrl N" { Actions = "HistNext" }
|
||||||
|
KeyPress = "Ctrl B" { Actions = "CursPrev" }
|
||||||
|
KeyPress = "Ctrl F" { Actions = "CursNext" }
|
||||||
|
KeyPress = "Tab" { Actions = "Complete" }
|
||||||
|
KeyPress = "Any Any" { Actions = "Insert" }
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keys working in menus
|
||||||
|
Menu {
|
||||||
|
KeyPress = "Down" { Actions = "NextItem" }
|
||||||
|
KeyPress = "Up" { Actions = "PrevItem" }
|
||||||
|
KeyPress = "Ctrl N" { Actions = "NextItem" }
|
||||||
|
KeyPress = "Ctrl P" { Actions = "PrevItem" }
|
||||||
|
KeyPress = "Left" { Actions = "LeaveSubmenu" }
|
||||||
|
KeyPress = "Right" { Actions = "EnterSubmenu" }
|
||||||
|
KeyPress = "Return" { Actions = "Select" }
|
||||||
|
KeyPress = "space" { Actions = "Select" }
|
||||||
|
KeyPress = "Escape" { Actions = "Close" }
|
||||||
|
KeyPress = "Q" { Actions = "Close" }
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,147 @@
|
||||||
|
# Menu config for pekwm
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
INCLUDE = "vars"
|
||||||
|
|
||||||
|
RootMenu = "Pekwm" {
|
||||||
|
Entry = "Terminal" { Actions = "Exec $TERM &" }
|
||||||
|
Entry = "Run.." { Actions = "ShowCmdDialog" }
|
||||||
|
|
||||||
|
Separator {}
|
||||||
|
|
||||||
|
Submenu = "Editors" {
|
||||||
|
Entry = "vim" { Actions = "Exec $TERM -title vim -e vim &" }
|
||||||
|
Entry = "gvim" { Actions = "Exec gvim &" }
|
||||||
|
Entry = "Emacs" { Actions = "Exec emacs &" }
|
||||||
|
Entry = "Emacs Terminal" { Actions = "Exec $TERM -title emacs -e emacs -nw &" }
|
||||||
|
Entry = "Kate" { Actions = "Exec kate &" }
|
||||||
|
}
|
||||||
|
Submenu = "Graphics" {
|
||||||
|
Entry = "display" { Actions = "Exec display &" }
|
||||||
|
Entry = "Gimp" { Actions = "Exec gimp &" }
|
||||||
|
Entry = "Gv" { Actions = "Exec gv &" }
|
||||||
|
Entry = "Xpdf" { Actions = "Exec xpdf &" }
|
||||||
|
Entry = "gqview" { Actions = "Exec gqview &" }
|
||||||
|
}
|
||||||
|
Submenu = "Multimedia" {
|
||||||
|
Entry = "Amarok" { Actions = "Exec amarok &" }
|
||||||
|
Entry = "Quod Libet" { Actions = "Exec quodlibet &" }
|
||||||
|
Entry = "Xmms" { Actions = "Exec xmms &" }
|
||||||
|
Entry = "MPlayer" { Actions = "Exec gnome-mplayer &" }
|
||||||
|
Entry = "Xine" { Actions = "Exec xine &" }
|
||||||
|
Entry = "xawtv" { Actions = "Exec xawtv &" }
|
||||||
|
Entry = "Totem" { actions = "exec totem &" }
|
||||||
|
Entry = "alsamixer" { Actions = "Exec $TERM -title alsamixer -e alsamixer &" }
|
||||||
|
}
|
||||||
|
Submenu = "Utils" {
|
||||||
|
Entry = "Calculator" { Actions = "Exec gcalctool &" }
|
||||||
|
Entry = "Xpdf" { Actions = "Exec xpdf &" }
|
||||||
|
Entry = "Evince" { Actions = "Exec evince &" }
|
||||||
|
Entry = "gucharmap" { Actions = "Exec gucharmap &" }
|
||||||
|
Entry = "Gkrellm" { Actions = "Exec gkrellm &" }
|
||||||
|
}
|
||||||
|
Submenu = "WWW" {
|
||||||
|
Entry = "Dillo" { Actions = "Exec dillo &" }
|
||||||
|
Entry = "Konqueror" { Actions = "Exec konqueror &" }
|
||||||
|
Entry = "Firefox" { Actions = "Exec firefox &" }
|
||||||
|
}
|
||||||
|
Submenu = "FTP" {
|
||||||
|
Entry = "gftp" { Actions = "Exec gftp &" }
|
||||||
|
Entry = "lftp" { Actions = "Exec $TERM -title lftp -e lftp &" }
|
||||||
|
}
|
||||||
|
Submenu = "Communication" {
|
||||||
|
Entry = "Mutt" { Actions = "Exec $TERM -title mutt -e mutt &" }
|
||||||
|
Entry = "Alpine" { Actions = "Exec $TERM -title alpine -e alpine &" }
|
||||||
|
Entry = "Thunderbird" { Actions = "Exec thunderbird &" }
|
||||||
|
Entry = "Evolution" { Actions = "Exec evolution &" }
|
||||||
|
Entry = "KMail" { Actions = "Exec kmail &" }
|
||||||
|
Entry = "Pidgin" { Actions = "Exec pidgin &" }
|
||||||
|
Entry = "Irssi" { Actions = "Exec $TERM -title irssi -e irssi &" }
|
||||||
|
Entry = "Kopete" { Actions = "Exec kopete &" }
|
||||||
|
}
|
||||||
|
Submenu = "Office" {
|
||||||
|
Entry = "KOffice Workspace" { Actions = "Exec koshell &" }
|
||||||
|
Entry = "OpenOffice" { Actions = "Exec ooffice &" }
|
||||||
|
}
|
||||||
|
Submenu = "Development" {
|
||||||
|
Entry = "Anjuta" { Actions = "Exec anjuta &" }
|
||||||
|
Entry = "Eclipse" { Actions = "Exec eclipse &" }
|
||||||
|
Entry = "KDevelop" { Actions = "Exec kdevelop &" }
|
||||||
|
}
|
||||||
|
|
||||||
|
Separator {}
|
||||||
|
|
||||||
|
Submenu = "Go to" {
|
||||||
|
SubMenu = "Workspace" {
|
||||||
|
# Create goto menu once per pekwm config reload. The fast way that
|
||||||
|
# will work for most if not all users.
|
||||||
|
COMMAND = "$_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh goto"
|
||||||
|
# Create goto menu every time the menu is opened. The slow way.
|
||||||
|
# This is what you want if you are using external tools to make
|
||||||
|
# the amount of workspaces something else than what you define in
|
||||||
|
# ~/.pekwm/config. You will know if you want this.
|
||||||
|
# Entry = "" { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh goto dynamic" }
|
||||||
|
}
|
||||||
|
Entry = "Window.." { Actions = "ShowMenu GotoClient True" }
|
||||||
|
}
|
||||||
|
Submenu = "Pekwm" {
|
||||||
|
Submenu = "Themes" {
|
||||||
|
Entry { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_themeset.sh $_PEKWM_THEME_PATH" }
|
||||||
|
Entry { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_themeset.sh ~/.pekwm/themes" }
|
||||||
|
}
|
||||||
|
Entry = "Reload" { Actions = "Reload" }
|
||||||
|
Entry = "Restart" { Actions = "Restart" }
|
||||||
|
Entry = "Exit" { Actions = "Exit" }
|
||||||
|
Submenu = "Exit to" {
|
||||||
|
Entry = "Xterm" { Actions = "RestartOther xterm" }
|
||||||
|
Entry = "TWM" { Actions = "RestartOther twm" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WindowMenu = "Window Menu" {
|
||||||
|
Entry = "(Un)Stick" { Actions = "Toggle Sticky" }
|
||||||
|
Entry = "(Un)Shade" { Actions = "Toggle Shaded" }
|
||||||
|
Entry = "Iconify" { Actions = "Set Iconified" }
|
||||||
|
Entry = "Command.." { Actions = "ShowCmdDialog" }
|
||||||
|
|
||||||
|
Submenu = "Maximize" {
|
||||||
|
Entry = "Toggle Full" { Actions = "Toggle Maximized True True" }
|
||||||
|
Entry = "Toggle Horizontal" { Actions = "Toggle Maximized True False" }
|
||||||
|
Entry = "Toggle Vertical" { Actions = "Toggle Maximized False True" }
|
||||||
|
}
|
||||||
|
Submenu = "Fill" {
|
||||||
|
Entry = "Full" { Actions = "MaxFill True True" }
|
||||||
|
Entry = "Horizontal" { Actions = "MaxFill True False" }
|
||||||
|
Entry = "Vertical" { Actions = "MaxFill False True" }
|
||||||
|
}
|
||||||
|
Submenu = "Stacking" {
|
||||||
|
Entry = "Raise" { Actions = "Raise" }
|
||||||
|
Entry = "Lower" { Actions = "Lower" }
|
||||||
|
Entry = "Toggle Always On Top" { Actions = "Toggle AlwaysOnTop" }
|
||||||
|
Entry = "Toggle Always Below" { Actions = "Toggle AlwaysBelow" }
|
||||||
|
}
|
||||||
|
Submenu = "Decorations" {
|
||||||
|
Entry = "Toggle Decorations" { Actions = "Toggle DecorBorder; Toggle DecorTitlebar" }
|
||||||
|
Entry = "Toggle Borders" { Actions = "Toggle DecorBorder" }
|
||||||
|
Entry = "Toggle Titlebar" { Actions = "Toggle DecorTitlebar" }
|
||||||
|
}
|
||||||
|
Submenu = "Skip" {
|
||||||
|
Entry = "Toggle showing this frame in menus" { Actions = "Toggle Skip Menus" }
|
||||||
|
Entry = "Toggle including this frame in focus toggle" { Actions = "Toggle Skip FocusToggle" }
|
||||||
|
Entry = "Toggle if this frame snaps to other windows" { Actions = "Toggle Skip Snap" }
|
||||||
|
}
|
||||||
|
SubMenu = "Send To" {
|
||||||
|
# Create sendto menu once per pekwm config reload. The fast way that
|
||||||
|
# will work for most if not all users.
|
||||||
|
COMMAND = "$_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh send"
|
||||||
|
# Create sendto menu every time the menu is opened. The slow way.
|
||||||
|
# This is what you want if you are using external tools to make
|
||||||
|
# the amount of workspaces something else than what you define in
|
||||||
|
# ~/.pekwm/config. You will know if you want this.
|
||||||
|
# Entry = "" { Actions = "Dynamic $_PEKWM_SCRIPT_PATH/pekwm_ws_menu.sh send dynamic" }
|
||||||
|
}
|
||||||
|
Separator {}
|
||||||
|
Entry = "Close" { Actions = "Close" }
|
||||||
|
Submenu = "Kill" { Entry = "Kill application" { Actions = "Kill" } }
|
||||||
|
}
|
|
@ -0,0 +1,182 @@
|
||||||
|
FrameTitle {
|
||||||
|
ButtonRelease = "1" { Actions = "Raise; Focus; ActivateClient" }
|
||||||
|
ButtonRelease = "Mod1 1" { Actions = "Focus; Raise" }
|
||||||
|
ButtonRelease = "Mod4 1" { Actions = "Focus; Raise" }
|
||||||
|
ButtonRelease = "2" { Actions = "ActivateClient" }
|
||||||
|
ButtonRelease = "Mod4 3" { Actions = "Close" }
|
||||||
|
ButtonRelease = "3" { Actions = "ShowMenu Window" }
|
||||||
|
ButtonRelease = "4" { Actions = "ActivateClientRel 1" }
|
||||||
|
ButtonRelease = "5" { Actions = "ActivateClientRel -1" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "SendToWorkspace Next; GotoWorkspace Next" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "SendToWorkspace Prev; GotoWorkspace Prev" }
|
||||||
|
ButtonRelease = "Mod1 Shift 4" { Actions = "SendToWorkspace PrevV; GotoWorkspace PrevV" }
|
||||||
|
ButtonRelease = "Mod1 Shift 5" { Actions = "SendToWorkspace NextV; GotoWorkspace NextV" }
|
||||||
|
ButtonRelease = "Ctrl 4" { Actions = "MoveClientRel 1" }
|
||||||
|
ButtonRelease = "Ctrl 5" { Actions = "MoveClientRel -1" }
|
||||||
|
ButtonRelease = "Ctrl Mod1 1" { Actions = "Focus; Raise True" }
|
||||||
|
DoubleClick = "2" { Actions = "Toggle Shaded" }
|
||||||
|
DoubleClick = "Mod1 2" { Actions = "Toggle Shaded" }
|
||||||
|
DoubleClick = "1" { Actions = "MaxFill True True" }
|
||||||
|
DoubleClick = "Mod1 1" { Actions = "Toggle Maximized True True" }
|
||||||
|
Motion = "1" { Threshold = "4"; Actions = "Raise; Move" }
|
||||||
|
Motion = "Mod1 1" { Threshold = "4"; Actions = "Raise; Move" }
|
||||||
|
Motion = "Mod4 1" { Threshold = "4"; Actions = "Raise; Move" }
|
||||||
|
Motion = "2" { Threshold = "4"; Actions = "GroupingDrag True" }
|
||||||
|
Motion = "Mod1 3" { Actions = "Resize" }
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
}
|
||||||
|
|
||||||
|
OtherTitle {
|
||||||
|
ButtonRelease = "1" { Actions = "Raise; Focus" }
|
||||||
|
ButtonRelease = "2" { Actions = "Focus" }
|
||||||
|
ButtonRelease = "3" { Actions = "Close" }
|
||||||
|
ButtonRelease = "Mod4 3" { Actions = "ShowMenu Window" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "SendToWorkspace Next; GotoWorkspace Next" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "SendToWorkspace Prev; GotoWorkspace Prev" }
|
||||||
|
ButtonRelease = "Mod1 Shift 4" { Actions = "SendToWorkspace PrevV; GotoWorkspace PrevV" }
|
||||||
|
ButtonRelease = "Mod1 Shift 5" { Actions = "SendToWorkspace NextV; GotoWorkspace NextV" }
|
||||||
|
Motion = "1" { Threshold = "4"; Actions = "Raise; Move" }
|
||||||
|
Motion = "Mod1 1" { Threshold = "4"; Actions = "Raise; Move" }
|
||||||
|
Motion = "Mod4 1" { Threshold = "4"; Actions = "Raise; Move" }
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
}
|
||||||
|
|
||||||
|
Border {
|
||||||
|
TopLeft {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize TopLeft" } }
|
||||||
|
Top {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize Top" } }
|
||||||
|
TopRight {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize TopRight" } }
|
||||||
|
Left {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize Left" } }
|
||||||
|
Right {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize Right" } }
|
||||||
|
BottomLeft {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize BottomLeft" } }
|
||||||
|
Bottom {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize Bottom" } }
|
||||||
|
BottomRight {
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonPress = "1" { Actions = "Focus; Resize BottomRight" } }
|
||||||
|
}
|
||||||
|
|
||||||
|
ScreenEdge {
|
||||||
|
Down {
|
||||||
|
Enter = "Mod1 Any" { Actions = "GoToWorkspace Down" }
|
||||||
|
ButtonRelease = "3" { Actions = "ShowMenu Root" }
|
||||||
|
ButtonRelease = "2" { Actions = "ShowMenu Goto" }
|
||||||
|
ButtonRelease = "1" { Actions = "GoToWorkspace Down" }
|
||||||
|
ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
|
||||||
|
ButtonRelease = "4" { Actions = "GoToWorkspace Up" }
|
||||||
|
ButtonRelease = "5" { Actions = "GoToWorkspace Down" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace PrevV" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace NextV" }
|
||||||
|
EnterMoving = "Any Any" { Actions = "WarpToWorkspace Down" }
|
||||||
|
}
|
||||||
|
Up {
|
||||||
|
Enter = "Mod1 Any" { Actions = "GoToWorkspace Up" }
|
||||||
|
ButtonRelease = "3" { Actions = "ShowMenu Root" }
|
||||||
|
ButtonRelease = "2" { Actions = "ShowMenu Goto" }
|
||||||
|
ButtonRelease = "1" { Actions = "GoToWorkspace Up" }
|
||||||
|
ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
|
||||||
|
ButtonRelease = "4" { Actions = "GoToWorkspace Up" }
|
||||||
|
ButtonRelease = "5" { Actions = "GoToWorkspace Down" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace PrevV" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace NextV" }
|
||||||
|
EnterMoving = "Any Any" { Actions = "WarpToWorkspace Up" }
|
||||||
|
}
|
||||||
|
Left {
|
||||||
|
Enter = "Mod1 Any" { Actions = "GoToWorkspace Left" }
|
||||||
|
ButtonRelease = "3" { Actions = "ShowMenu Root" }
|
||||||
|
ButtonRelease = "1" { Actions = "GoToWorkspace Left" }
|
||||||
|
DoubleClick = "1" { Actions = "GoToWorkspace Left" }
|
||||||
|
ButtonRelease = "2" { Actions = "ShowMenu Goto" }
|
||||||
|
ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
|
||||||
|
ButtonRelease = "4" { Actions = "GoToWorkspace Right" }
|
||||||
|
ButtonRelease = "5" { Actions = "GoToWorkspace Left" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace Next" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace Prev" }
|
||||||
|
EnterMoving = "Any Any" { Actions = "WarpToWorkspace Left" }
|
||||||
|
}
|
||||||
|
Right {
|
||||||
|
Enter = "Mod1 Any" { Actions = "GoToWorkspace Right" }
|
||||||
|
ButtonRelease = "3" { Actions = "ShowMenu Root" }
|
||||||
|
ButtonRelease = "1" { Actions = "GoToWorkspace Right" }
|
||||||
|
DoubleClick = "1" { Actions = "GoToWorkspace Right" }
|
||||||
|
ButtonRelease = "2" { Actions = "ShowMenu Goto" }
|
||||||
|
ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
|
||||||
|
ButtonRelease = "4" { Actions = "GoToWorkspace Right" }
|
||||||
|
ButtonRelease = "5" { Actions = "GoToWorkspace Left" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace Next" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace Prev" }
|
||||||
|
EnterMoving = "Any Any" { Actions = "WarpToWorkspace Right" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Client {
|
||||||
|
# Remove the following line and uncomment the alternative if windows should raise when clicked.
|
||||||
|
ButtonPress = "1" { Actions = "Focus" }
|
||||||
|
# Uncomment the following line if windows should raise when clicked.
|
||||||
|
# ButtonPress = "1" { Actions = "Focus; Raise" }
|
||||||
|
|
||||||
|
ButtonRelease = "Mod1 1" { Actions = "Focus; Raise" }
|
||||||
|
ButtonRelease = "Mod4 1" { Actions = "Lower" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "SendToWorkspace Next; GotoWorkspace Next" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "SendToWorkspace Prev; GotoWorkspace Prev" }
|
||||||
|
ButtonRelease = "Mod1 Shift 4" { Actions = "SendToWorkspace PrevV; GotoWorkspace PrevV" }
|
||||||
|
ButtonRelease = "Mod1 Shift 5" { Actions = "SendToWorkspace NextV; GotoWorkspace NextV" }
|
||||||
|
ButtonRelease = "Ctrl Mod1 1" { Actions = "Focus; Raise True" }
|
||||||
|
Motion = "Mod1 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
|
||||||
|
Motion = "Mod4 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
|
||||||
|
Motion = "Mod1 2" { Threshold = "4"; Actions = "GroupingDrag True" }
|
||||||
|
Motion = "Mod1 3" { Actions = "Resize" }
|
||||||
|
# Remove the following line if you want to use click to focus.
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
}
|
||||||
|
|
||||||
|
Root {
|
||||||
|
ButtonRelease = "3" { Actions = "ShowMenu Root" }
|
||||||
|
ButtonRelease = "2" { Actions = "ShowMenu Goto" }
|
||||||
|
ButtonRelease = "Mod4 2" { Actions = "ShowMenu GotoClient" }
|
||||||
|
# Horizontal movement
|
||||||
|
ButtonRelease = "4" { Actions = "GoToWorkspace Right" }
|
||||||
|
ButtonRelease = "5" { Actions = "GoToWorkspace Left" }
|
||||||
|
ButtonRelease = "Mod1 4" { Actions = "GoToWorkspace Next" }
|
||||||
|
ButtonRelease = "Mod1 5" { Actions = "GoToWorkspace Prev" }
|
||||||
|
# Vertical movement
|
||||||
|
ButtonRelease = "Shift 4" { Actions = "GoToWorkspace Up" }
|
||||||
|
ButtonRelease = "Shift 5" { Actions = "GoToWorkspace Down" }
|
||||||
|
ButtonRelease = "Mod1 Shift 4" { Actions = "GoToWorkspace NextV" }
|
||||||
|
ButtonRelease = "Mod1 Shift 5" { Actions = "GoToWorkspace PrevV" }
|
||||||
|
ButtonRelease = "1" { Actions = "HideAllMenus" }
|
||||||
|
}
|
||||||
|
|
||||||
|
Menu {
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
Motion = "Mod1 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
|
||||||
|
}
|
||||||
|
|
||||||
|
Other {
|
||||||
|
Enter = "Any Any" { Actions = "Focus" }
|
||||||
|
ButtonRelease = "3" { Actions = "Close" }
|
||||||
|
Motion = "1" { Actions = "Focus; Raise; Move" }
|
||||||
|
Motion = "Mod1 1" { Threshold = "4"; Actions = "Focus; Raise; Move" }
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# PekWM start file
|
||||||
|
# This file is a simple shell script; It gets run on pekwm startup, after
|
||||||
|
# the theme and all config has loaded if it is set executable
|
||||||
|
# (chmod +x start).
|
||||||
|
#
|
||||||
|
# This is different from ~/.xinitrc because a normal configuration of
|
||||||
|
# .xinitrc you'll run all commands, then launch the window manager last.
|
||||||
|
#
|
||||||
|
# It also gets re-run every time pekwm is restarted.
|
||||||
|
#
|
||||||
|
# As for it's usefulness, well, it's up to you. I actually set my background
|
||||||
|
# from my start file; since it runs after the theme gets loaded, this
|
||||||
|
# effectively overrides whatever's in the theme.
|
||||||
|
#
|
||||||
|
# There's probably a few other good uses for it, too. I mainly pushed for it
|
||||||
|
# because when I was doing fluxbox's docs, people used to complain that there
|
||||||
|
# wasn't one, and I wanted to avoid that for pekwm. ;) --eyez
|
|
@ -0,0 +1 @@
|
||||||
|
$TERM="xterm -fn fixed +sb -bg white -fg black"
|
|
@ -20,7 +20,7 @@
|
||||||
Config { font = "-*-terminus-*-*-*-*-35-*-*-*-*-*-*-u"
|
Config { font = "-*-terminus-*-*-*-*-35-*-*-*-*-*-*-u"
|
||||||
, bgColor = "#000000"
|
, bgColor = "#000000"
|
||||||
, fgColor = "#00FFFF"
|
, fgColor = "#00FFFF"
|
||||||
, position = TopW L 96
|
, position = TopW L 100
|
||||||
, lowerOnStart = True
|
, lowerOnStart = True
|
||||||
, commands = [ Run Network "eth0" ["-L","0","-H","32","-l","green","--normal","orange","--high","red"] 40
|
, commands = [ Run Network "eth0" ["-L","0","-H","32","-l","green","--normal","orange","--high","red"] 40
|
||||||
-- , Run Com "/home/collin/.bin/vol.sh" [] "vol" 15
|
-- , Run Com "/home/collin/.bin/vol.sh" [] "vol" 15
|
||||||
|
|
|
@ -329,7 +329,7 @@ myLayout = smartBorders . avoidStruts $
|
||||||
toggleLayouts (noBorders Full) $
|
toggleLayouts (noBorders Full) $
|
||||||
-- for sublayouts but not currently used..see myGenericBindings above
|
-- for sublayouts but not currently used..see myGenericBindings above
|
||||||
-- windowNavigation $ subTabbed $ boringWindows $
|
-- windowNavigation $ subTabbed $ boringWindows $
|
||||||
-- to get tabbed layout add simple
|
-- to get tabbed layout add simpleTabbed
|
||||||
rztiled ||| Mirror rztiled ||| Grid
|
rztiled ||| Mirror rztiled ||| Grid
|
||||||
where
|
where
|
||||||
-- default tiling algorithm partitions the screen into two panes
|
-- default tiling algorithm partitions the screen into two panes
|
||||||
|
|
Reference in New Issue