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
373
.config/awesome/rc.lua
Normal file
373
.config/awesome/rc.lua
Normal file
@ -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)
|
||||
-- }}}
|
13
.config/obmenugen/exclusions
Normal file
13
.config/obmenugen/exclusions
Normal file
@ -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'.
|
||||
|
35
.config/obmenugen/obmenugen.cfg
Normal file
35
.config/obmenugen/obmenugen.cfg
Normal file
@ -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
|
||||
|
43
.config/obmenugen/obmenugen.schema
Normal file
43
.config/obmenugen/obmenugen.schema
Normal file
@ -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
|
||||
|
1
.config/openbox/autostart.sh
Executable file
1
.config/openbox/autostart.sh
Executable file
@ -0,0 +1 @@
|
||||
#!/bin/bash
|
91
.config/openbox/menu.xml
Normal file
91
.config/openbox/menu.xml
Normal file
@ -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>
|
732
.config/openbox/rc.xml
Normal file
732
.config/openbox/rc.xml
Normal file
@ -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
|
||||
;; 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
|
||||
(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))
|
||||
|
||||
;; 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
|
||||
(setq linum-format
|
||||
@ -64,7 +95,7 @@
|
||||
'face 'linum)))
|
||||
|
||||
;; 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-mode-with-hooks (lambda () (linum-mode 1)) code-modes)
|
||||
@ -72,6 +103,12 @@
|
||||
;; activate flyspell-prog-mode for all buffers used for programming
|
||||
(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
|
||||
;; load color-theme and initialize
|
||||
;;(require 'color-theme)
|
||||
@ -105,7 +142,7 @@
|
||||
(autoload 'ibuffer "ibuffer" "List buffers." t)
|
||||
|
||||
;; 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 "^\\*Completions\\*$")
|
||||
(add-to-list 'ibuffer-never-show-predicates "^\\*tramp/.*\\*$")
|
||||
@ -125,22 +162,35 @@
|
||||
(name . "^\\.xmobarrc")
|
||||
(name . "^\\.Xdefaults$")
|
||||
(name . "^\\.screenrc$")
|
||||
(name . "^\\.xbindkeysrc$")))
|
||||
(name . "^\\.xbindkeysrc$")
|
||||
(name . "^\\.racketrc$")
|
||||
(name . "^\\.ghci")))
|
||||
("code" (or
|
||||
(mode . c-mode)
|
||||
(mode . c++-mode)
|
||||
(mode . perl-mode)
|
||||
(mode . lua-mode)
|
||||
(mode . clojure-mode)
|
||||
(mode . java-mode)
|
||||
(mode . python-mode)
|
||||
(mode . ruby-mode)
|
||||
(mode . emacs-lisp-mode)
|
||||
(mode . lisp-mode)
|
||||
(mode . sh-mode)
|
||||
(mode . scheme-mode)
|
||||
(mode . haskell-mode)
|
||||
(mode . php-mode)
|
||||
(mode . xml-mode)))
|
||||
("REPL" (or
|
||||
(mode . geiser-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 . "^\\* Racket REPL \\*$")))
|
||||
("planner" (or
|
||||
@ -150,6 +200,10 @@
|
||||
("emacs" (or
|
||||
(name . "^\\*scratch\\*$")
|
||||
(name . "^\\*Messages\\*$")))
|
||||
("org" (or
|
||||
(mode . org-mode)
|
||||
(name . "^\\.org$")
|
||||
(name . "^\\.org.gpg$")))
|
||||
("gnus" (or
|
||||
(mode . message-mode)
|
||||
(mode . bbdb-mode)
|
||||
@ -164,21 +218,32 @@
|
||||
(lambda ()
|
||||
(ibuffer-switch-to-saved-filter-groups "default")))
|
||||
|
||||
;; setup html renderer w3m
|
||||
(require 'w3m-load)
|
||||
(setq browse-url-browser-function 'w3m-browse-url)
|
||||
;; Setup oauth2 (required by google-contacts)
|
||||
;;(add-to-list 'load-path "/home/collin/.emacs.d/elpa/oauth2-0.5")
|
||||
(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)
|
||||
|
||||
;; setup magit for git *DISABLED*
|
||||
;; setup magit for git (being used though elpa [auto-loaded])
|
||||
;;(autoload 'magit-status magit nil t)
|
||||
;;(require 'magit)
|
||||
;;(require 'magit) ;; ELPA
|
||||
(global-set-key "\C-xS" 'magit-status)
|
||||
|
||||
;; Setup PKGBUILD mode
|
||||
(autoload 'pkgbuild-mode "pkgbuild-mode.el" "PKGBUILD mode." t)
|
||||
(setq auto-mode-alist (append '(("/PKGBUILD$" . pkgbuild-mode)) auto-mode-alist))
|
||||
|
||||
;; 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))
|
||||
|
||||
;; Set default lisp program
|
||||
@ -188,7 +253,7 @@
|
||||
(defun run-kawa ()
|
||||
"Run Kawa Scheme in an Emacs buffer."
|
||||
(interactive)
|
||||
(require 'cmuscheme)
|
||||
(require 'cmuscheme) ;; Built-in
|
||||
(let ((scheme-program-name "/usr/bin/kawa"))
|
||||
(run-scheme scheme-program-name)))
|
||||
|
||||
@ -200,29 +265,27 @@
|
||||
|
||||
;; Function to start and/or connect to slime
|
||||
(defun start-slime ()
|
||||
(interactive)
|
||||
(unless (slime-connected-p)
|
||||
(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/")
|
||||
(require 'slime)
|
||||
(require 'slime) ;; AUR: emacs-slime-cvs
|
||||
(slime-setup '(slime-fancy))
|
||||
|
||||
;; Setup clojure mode
|
||||
(add-to-list 'load-path "/usr/share/emacs/site-lisp/clojure-mode")
|
||||
(require 'clojure-mode)
|
||||
|
||||
;; Setup swank-clojure-mode
|
||||
;; Setup swank-clojure-mode *TODO* drop in version from ELPA
|
||||
(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
|
||||
'(lambda ()
|
||||
(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)))
|
||||
|
||||
(eval-after-load "slime"
|
||||
`(progn
|
||||
(require 'assoc)
|
||||
(require 'assoc) ;; Built-in
|
||||
(setq swank-clojure-classpath
|
||||
(list "/usr/share/clojure/clojure.jar"
|
||||
"/usr/share/clojure/clojure-contrib.jar"
|
||||
@ -233,11 +296,13 @@
|
||||
;; Setup emacs-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
|
||||
(setq org-return-follows-link t)
|
||||
(setq org-log-done 'time)
|
||||
(global-set-key "\C-cl" 'org-store-link)
|
||||
(global-set-key "\C-ca" 'org-agenda)
|
||||
(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")
|
||||
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
|
||||
(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
|
||||
@ -248,33 +313,38 @@
|
||||
(setq haskell-program-name "/usr/bin/ghci")
|
||||
|
||||
;; 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))
|
||||
|
||||
;; 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)
|
||||
|
||||
;; Setup emacs-erlang-mode
|
||||
;; Setup emacs-erlang-mode (ELPA)
|
||||
(setq erlang-root-dir "/usr/lib/erlang")
|
||||
(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
|
||||
(require 'geiser-install)
|
||||
;(require 'quack)
|
||||
(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))
|
||||
;; Setup geiser
|
||||
(require 'geiser-install) ;; AUR: geiser-git
|
||||
|
||||
;; Paredit binds to C-j globally and thus disables the binding to
|
||||
;; eval-print-last-sexp in *scratch*; this is more of a temporary
|
||||
;; fix because it creates a global binding and thus can be run in
|
||||
;; not only any emacs-lisp-mode buffer but any buffer
|
||||
(global-set-key "\C-xj" 'eval-print-last-sexp)
|
||||
;; Setup quack *DISABLED*
|
||||
;(require 'quack)
|
||||
|
||||
;; Setup paredit
|
||||
(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
|
||||
(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)]
|
||||
(activate-mode-with-hooks (lambda () (show-paren-mode 1)) paredit-hooks)
|
||||
|
||||
@ -291,10 +361,13 @@
|
||||
(setq geiser-active-implementations '(racket))
|
||||
|
||||
;; 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
|
||||
;; nicely with one another due to a conflict with the context of their tab binding *TODO*
|
||||
;; yasnippet, auto-complete-mode and flyspell do not play nicely with one another due to
|
||||
;; 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
|
||||
;;(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)
|
||||
|
||||
;; Setup fancy auto-complete
|
||||
(add-to-list 'load-path "/usr/share/emacs/site-lisp/auto-complete")
|
||||
(require 'auto-complete-config)
|
||||
(add-to-list 'ac-dictionary-directories "/usr/share/emacs/site-lisp/auto-complete/ac-dict")
|
||||
(require 'auto-complete-config) ;; ELPA
|
||||
;;(add-to-list 'ac-dictionary-directories "/usr/share/emacs/site-lisp/auto-complete/ac-dict")
|
||||
(ac-config-default)
|
||||
|
||||
;; Setup yasnippet-mode *TODO* - in conflict (see comment where hs-org/minor-mode is required)
|
||||
;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/yas")
|
||||
;; (require 'yasnippet) ;; not yasnippet-bundle
|
||||
;; (yas/initialize)
|
||||
;; (yas/load-directory "/usr/share/emacs/site-lisp/yas/snippets")
|
||||
;; Setup yasnippet-mode (not yasnippet-bundle)
|
||||
(require 'yasnippet) ;; ELPA
|
||||
(yas/initialize)
|
||||
(yas/load-directory "~/.emacs.d/elpa/yasnippet-0.6.1/snippets")
|
||||
|
||||
;; Enable flyspell-mode
|
||||
(ac-flyspell-workaround)
|
||||
@ -328,7 +399,7 @@
|
||||
;;(flyspell-mode)
|
||||
|
||||
;; Enable autoinsert feature to automagically insert
|
||||
(require 'autoinsert)
|
||||
(require 'autoinsert) ;; Built-in
|
||||
(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-query nil) ;;; If you don't want to be prompted before insertion
|
||||
@ -339,6 +410,9 @@
|
||||
(setq auto-insert-alist
|
||||
'(("\\.c$" . ["c-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])
|
||||
("\\.rkt$" . ["racket-template.rkt" auto-update-generic-template])
|
||||
("\\.scm$" . ["scheme-template.scm" auto-update-generic-template])
|
||||
@ -346,6 +420,7 @@
|
||||
("\\.lisp$" . ["lisp-template.lisp" auto-update-generic-template])
|
||||
("\\.el$" . ["emacs-lisp-template.el" 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])))
|
||||
(setq auto-insert 'other)
|
||||
|
||||
@ -463,7 +538,7 @@
|
||||
(let ((inhibit-read-only t))
|
||||
(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?
|
||||
;; ;; Setup el-get
|
||||
@ -487,15 +562,20 @@
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; 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-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")))
|
||||
'(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 was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; 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")))))
|
||||
|
108
.pekwm/config
Normal file
108
.pekwm/config
Normal file
@ -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"
|
||||
}
|
||||
}
|
315
.pekwm/keys
Normal file
315
.pekwm/keys
Normal file
@ -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" }
|
||||
}
|
||||
|
147
.pekwm/menu
Normal file
147
.pekwm/menu
Normal file
@ -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" } }
|
||||
}
|
182
.pekwm/mouse
Normal file
182
.pekwm/mouse
Normal file
@ -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" }
|
||||
}
|
18
.pekwm/start
Normal file
18
.pekwm/start
Normal file
@ -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
|
1
.pekwm/vars
Normal file
1
.pekwm/vars
Normal file
@ -0,0 +1 @@
|
||||
$TERM="xterm -fn fixed +sb -bg white -fg black"
|
@ -20,7 +20,7 @@
|
||||
Config { font = "-*-terminus-*-*-*-*-35-*-*-*-*-*-*-u"
|
||||
, bgColor = "#000000"
|
||||
, fgColor = "#00FFFF"
|
||||
, position = TopW L 96
|
||||
, position = TopW L 100
|
||||
, lowerOnStart = True
|
||||
, commands = [ Run Network "eth0" ["-L","0","-H","32","-l","green","--normal","orange","--high","red"] 40
|
||||
-- , Run Com "/home/collin/.bin/vol.sh" [] "vol" 15
|
||||
|
@ -329,7 +329,7 @@ myLayout = smartBorders . avoidStruts $
|
||||
toggleLayouts (noBorders Full) $
|
||||
-- for sublayouts but not currently used..see myGenericBindings above
|
||||
-- windowNavigation $ subTabbed $ boringWindows $
|
||||
-- to get tabbed layout add simple
|
||||
-- to get tabbed layout add simpleTabbed
|
||||
rztiled ||| Mirror rztiled ||| Grid
|
||||
where
|
||||
-- default tiling algorithm partitions the screen into two panes
|
||||
|
Reference in New Issue
Block a user