Initial commit
13
.ackrc
Normal file
@@ -0,0 +1,13 @@
|
||||
--type-set
|
||||
skipjack=.tdf,.vm
|
||||
--type-set
|
||||
diff=.diff
|
||||
--type-set
|
||||
erb=.erb
|
||||
--pager=$PAGER
|
||||
--context=1
|
||||
--smart-case
|
||||
--ignore-dir=ext
|
||||
--ignore-dir=cherryonnext
|
||||
--ignore-dir=CherryOnExt
|
||||
--ignore-dir=build
|
||||
73
.bash_colors
Normal file
@@ -0,0 +1,73 @@
|
||||
# color constants
|
||||
# Reset
|
||||
Color_Off='\e[0m' # Text Reset
|
||||
|
||||
# Regular Colors
|
||||
Black='\e[0;30m' # Black
|
||||
Red='\e[0;31m' # Red
|
||||
Green='\e[0;32m' # Green
|
||||
Yellow='\e[0;33m' # Yellow
|
||||
Blue='\e[0;34m' # Blue
|
||||
Purple='\e[0;35m' # Purple
|
||||
Cyan='\e[0;36m' # Cyan
|
||||
White='\e[0;37m' # White
|
||||
|
||||
# Bold
|
||||
BBlack='\e[1;30m' # Black
|
||||
BRed='\e[1;31m' # Red
|
||||
BGreen='\e[1;32m' # Green
|
||||
BYellow='\e[1;33m' # Yellow
|
||||
BBlue='\e[1;34m' # Blue
|
||||
BPurple='\e[1;35m' # Purple
|
||||
BCyan='\e[1;36m' # Cyan
|
||||
BWhite='\e[1;37m' # White
|
||||
|
||||
# Underline
|
||||
UBlack='\e[4;30m' # Black
|
||||
URed='\e[4;31m' # Red
|
||||
UGreen='\e[4;32m' # Green
|
||||
UYellow='\e[4;33m' # Yellow
|
||||
UBlue='\e[4;34m' # Blue
|
||||
UPurple='\e[4;35m' # Purple
|
||||
UCyan='\e[4;36m' # Cyan
|
||||
UWhite='\e[4;37m' # White
|
||||
|
||||
# Background
|
||||
On_Black='\e[40m' # Black
|
||||
On_Red='\e[41m' # Red
|
||||
On_Green='\e[42m' # Green
|
||||
On_Yellow='\e[43m' # Yellow
|
||||
On_Blue='\e[44m' # Blue
|
||||
On_Purple='\e[45m' # Purple
|
||||
On_Cyan='\e[46m' # Cyan
|
||||
On_White='\e[47m' # White
|
||||
|
||||
# High Intensty
|
||||
IBlack='\e[0;90m' # Black
|
||||
IRed='\e[0;91m' # Red
|
||||
IGreen='\e[0;92m' # Green
|
||||
IYellow='\e[0;93m' # Yellow
|
||||
IBlue='\e[0;94m' # Blue
|
||||
IPurple='\e[0;95m' # Purple
|
||||
ICyan='\e[0;96m' # Cyan
|
||||
IWhite='\e[0;97m' # White
|
||||
|
||||
# Bold High Intensty
|
||||
BIBlack='\e[1;90m' # Black
|
||||
BIRed='\e[1;91m' # Red
|
||||
BIGreen='\e[1;92m' # Green
|
||||
BIYellow='\e[1;93m' # Yellow
|
||||
BIBlue='\e[1;94m' # Blue
|
||||
BIPurple='\e[1;95m' # Purple
|
||||
BICyan='\e[1;96m' # Cyan
|
||||
BIWhite='\e[1;97m' # White
|
||||
|
||||
# High Intensty backgrounds
|
||||
On_IBlack='\e[0;100m' # Black
|
||||
On_IRed='\e[0;101m' # Red
|
||||
On_IGreen='\e[0;102m' # Green
|
||||
On_IYellow='\e[0;103m' # Yellow
|
||||
On_IBlue='\e[0;104m' # Blue
|
||||
On_IPurple='\e[10;95m' # Purple
|
||||
On_ICyan='\e[0;106m' # Cyan
|
||||
On_IWhite='\e[0;107m' # White
|
||||
46
.bashrc
Normal file
@@ -0,0 +1,46 @@
|
||||
# colors
|
||||
. ~/.bash_colors
|
||||
|
||||
# bash history with time
|
||||
export HISTTIMEFORMAT="%F %T "
|
||||
|
||||
##
|
||||
## prompt games
|
||||
##
|
||||
|
||||
# DYNAMIC: first brace [ color depends on the exit code
|
||||
PS1='$(if [ $? -eq 0 ]; then echo -ne "\[$BGreen\]"; else echo -ne "\[$BRed\]"; fi)['
|
||||
|
||||
# STATIC: username color depends on UID
|
||||
if [ $UID -eq 0 ]; then
|
||||
PS1="$PS1\[$BRed\]"
|
||||
else
|
||||
PS1="$PS1\[$BGreen\]"
|
||||
fi
|
||||
PS1="$PS1\u\[$BGreen\]"
|
||||
|
||||
# STATIC: @ color depends on session (X11/console)
|
||||
if [ -z "$DISPLAY" ]; then
|
||||
PS1="$PS1\[$BRed\]"
|
||||
else
|
||||
PS1="$PS1\[$BGreen\]"
|
||||
fi
|
||||
PS1="$PS1@"
|
||||
|
||||
# STATIC: hostname depends on Xorg installed (w/o Xorg looks like headless, thus RED)
|
||||
if which X >/dev/null 2>&1; then
|
||||
PS1="$PS1\[$BGreen\]"
|
||||
else
|
||||
PS1="$PS1\[$BRed\]"
|
||||
fi
|
||||
PS1="$PS1\h "
|
||||
|
||||
# DYNAMIC: wd bg is blue for symlinks
|
||||
PS1="$PS1"'$(if [ -L "$PWD" ]; then echo -ne "\[$On_Blue\]"; fi)'
|
||||
|
||||
# DYNAMIC: wd length < 6 (/, /etc, /usr, /var, /home etc) brings red wd name
|
||||
PS1="$PS1"'$(if [ ${#PWD} -lt 6 ]; then echo -ne "\[$BRed\]"; else echo -ne "\[$BGreen\]"; fi)\W'
|
||||
|
||||
PS1="$PS1\[$Color_Off\]\[$BGreen\]]\\$\[$Color_Off\] "
|
||||
|
||||
source ~/.rc
|
||||
297
.config/awesome/externals.lua
Normal file
@@ -0,0 +1,297 @@
|
||||
externals = {}
|
||||
|
||||
--{{{ helpers
|
||||
externals.hook = {
|
||||
before = function(object, handler, hook)
|
||||
local prev_handler = object[handler]
|
||||
object[handler] = function(...)
|
||||
if hook(...) then
|
||||
prev_handler(...)
|
||||
end
|
||||
end
|
||||
end,
|
||||
after = function(object, handler, hook)
|
||||
local prev_handler = object[handler]
|
||||
object[handler] = function(...)
|
||||
hook(..., prev_handler(...))
|
||||
end
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
|
||||
-- specific
|
||||
externals.players = {}
|
||||
externals.browsers = {}
|
||||
externals.powers = {}
|
||||
externals.sounds = {}
|
||||
externals.mails = {}
|
||||
externals.displays = {}
|
||||
|
||||
--{{{ players.mpd
|
||||
require('socket')
|
||||
externals.players.mpd = {
|
||||
sock = nil,
|
||||
ping_timer = timer({ timeout = 10 }),
|
||||
exec = function(command)
|
||||
if not externals.players.mpd.sock then
|
||||
if not externals.players.mpd.reconnect() then
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
if not externals.players.mpd.sock:send(command .. "\n") then
|
||||
externals.players.mpd.disconnect()
|
||||
return externals.players.mpd.exec(command)
|
||||
end
|
||||
|
||||
local answer = {}
|
||||
local line = nil
|
||||
while line ~= 'OK' do
|
||||
line = externals.players.mpd.sock:receive()
|
||||
if not line then
|
||||
externals.players.mpd.disconnect()
|
||||
break
|
||||
end
|
||||
if line:sub(1,3) == "ACK" then
|
||||
return false
|
||||
end
|
||||
k, v = string.match(line, "([%w-]+):[%s](.*)$")
|
||||
if k ~= nil then
|
||||
answer[k] = v
|
||||
end
|
||||
end
|
||||
return answer
|
||||
end,
|
||||
|
||||
reconnect = function()
|
||||
if externals.players.mpd.sock then
|
||||
return true
|
||||
end
|
||||
|
||||
externals.players.mpd.sock = socket.connect('localhost', 6600)
|
||||
if externals.players.mpd.sock == nil then
|
||||
return false
|
||||
else
|
||||
externals.players.mpd.sock:receive()
|
||||
externals.players.mpd.sock:send('password "' .. externals.players.mpd.password .. '"\n')
|
||||
externals.players.mpd.sock:receive()
|
||||
end
|
||||
|
||||
return true
|
||||
end,
|
||||
|
||||
disconnect = function()
|
||||
if externals.players.mpd.sock then
|
||||
externals.players.mpd.sock:shutdown('both')
|
||||
externals.players.mpd.sock:close()
|
||||
end
|
||||
externals.players.mpd.sock = nil
|
||||
end,
|
||||
|
||||
manager = function()
|
||||
conexec('ncmpc')
|
||||
end,
|
||||
|
||||
stop = function()
|
||||
return externals.players.mpd.exec('stop')
|
||||
end,
|
||||
|
||||
prev = function()
|
||||
return externals.players.mpd.exec('previous')
|
||||
end,
|
||||
|
||||
next = function()
|
||||
return externals.players.mpd.exec('next')
|
||||
end,
|
||||
|
||||
update = function()
|
||||
return externals.players.mpd.exec('update')
|
||||
end,
|
||||
|
||||
toggle = function()
|
||||
if externals.players.mpd.state() == 'stop' then
|
||||
return externals.players.mpd.exec('play')
|
||||
else
|
||||
return externals.players.mpd.exec('pause')
|
||||
end
|
||||
end,
|
||||
|
||||
ping = function()
|
||||
return externals.players.mpd.exec('ping')
|
||||
end,
|
||||
|
||||
state = function()
|
||||
status = externals.players.mpd.exec('status')
|
||||
if status then
|
||||
return status.state
|
||||
else
|
||||
return false
|
||||
end
|
||||
end,
|
||||
|
||||
search = function(target)
|
||||
exec('sh -c \'mpc search any "' .. target .. '" | mpc -q insert; mpc -q next\'')
|
||||
end
|
||||
}
|
||||
externals.players.mpd.password = '56379534'
|
||||
externals.players.mpd.ping_timer:connect_signal('timeout', externals.players.mpd.ping)
|
||||
externals.players.mpd.ping_timer:start()
|
||||
--}}}
|
||||
|
||||
--{{{ browsers.firefox
|
||||
externals.browsers.firefox = {
|
||||
exec = function(command)
|
||||
awful.util.spawn('firefox ' .. command)
|
||||
end,
|
||||
|
||||
manager = function()
|
||||
awful.util.spawn('firefox')
|
||||
end,
|
||||
|
||||
search = function(term)
|
||||
externals.browsers.firefox.exec('http://www.google.com/search?q=' .. string.gsub(term, ' ', '+'))
|
||||
end,
|
||||
|
||||
browse = function(...)
|
||||
externals.browsers.firefox.exec(...)
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
|
||||
--{{{ browsers.chromium
|
||||
externals.browsers.chromium = {
|
||||
exec = function(command)
|
||||
awful.util.spawn('chromium ' .. command)
|
||||
end,
|
||||
|
||||
manager = function()
|
||||
awful.util.spawn('chromium')
|
||||
end,
|
||||
|
||||
search = function(term)
|
||||
externals.browsers.chromium.exec('http://www.google.com/search?q=' .. string.gsub(term, ' ', '+'))
|
||||
end,
|
||||
|
||||
browse = function(...)
|
||||
externals.browsers.chromium.exec(...)
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
|
||||
--{{{ sounds.alsa
|
||||
externals.sounds.alsa = {
|
||||
exec = function(command)
|
||||
exec('amixer -q ' .. command)
|
||||
end,
|
||||
|
||||
manager = function()
|
||||
conexec('alsamixer')
|
||||
end,
|
||||
|
||||
mute = function()
|
||||
externals.sounds.alsa.exec('set ' .. externals.sound.channel .. ' toggle')
|
||||
end,
|
||||
|
||||
up = function()
|
||||
externals.sounds.alsa.exec('set ' .. externals.sound.channel .. ' 2dB+')
|
||||
end,
|
||||
|
||||
down = function()
|
||||
externals.sounds.alsa.exec('set ' .. externals.sound.channel .. ' 2dB-')
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
|
||||
--{{{ powers.pm
|
||||
externals.powers.pm = {
|
||||
exec = function(command)
|
||||
awful.util.spawn('sudo ' .. command)
|
||||
end,
|
||||
|
||||
reboot = function()
|
||||
externals.powers.pm.exec('shutdown -r now -t 10')
|
||||
end,
|
||||
|
||||
halt = function()
|
||||
externals.powers.pm.exec('shutdown -h now -t 10')
|
||||
end,
|
||||
|
||||
suspend = function()
|
||||
externals.powers.pm.exec('pm-suspend')
|
||||
end,
|
||||
|
||||
hibernate = function()
|
||||
externals.powers.pm.exec('pm-hibernate')
|
||||
end,
|
||||
|
||||
switch_profile = function()
|
||||
externals.powers.pm.exec('/opt/bin/powerctl switch')
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
|
||||
--{{{ powers.ck
|
||||
externals.powers.ck = {
|
||||
exec = function(command)
|
||||
awful.util.spawn('dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.' .. command)
|
||||
end,
|
||||
|
||||
reboot = function()
|
||||
externals.powers.ck.exec('Restart')
|
||||
end,
|
||||
|
||||
halt = function()
|
||||
externals.powers.ck.exec('Stop')
|
||||
end,
|
||||
|
||||
pm_exec = function(command)
|
||||
awful.util.spawn('dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.' .. command)
|
||||
end,
|
||||
|
||||
suspend = function()
|
||||
externals.powers.ck.pm_exec('Suspend')
|
||||
end,
|
||||
|
||||
hibernate = function()
|
||||
externals.powers.ck.pm_exec('Hibernate')
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
|
||||
--{{{ mails.gmail
|
||||
externals.mails.gmail = {
|
||||
open = function(target)
|
||||
externals.browser.browse("https://gmail.com")
|
||||
end,
|
||||
|
||||
manager = function(...)
|
||||
externals.mail.open(...)
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
|
||||
-- general
|
||||
externals.player = externals.players.mpd
|
||||
|
||||
externals.browser = externals.browsers.chromium
|
||||
|
||||
externals.mail = externals.mails.gmail
|
||||
|
||||
externals.sound = externals.sounds.alsa
|
||||
externals.sound.channel = 'Speaker'
|
||||
|
||||
externals.display = {
|
||||
switch = function() exec('/opt/powerctl switch-display') end,
|
||||
screensaver = function() exec('xautolock -locknow') end,
|
||||
toggle = nil,
|
||||
turn_off = function() exec('xset dpms force off') end,
|
||||
save = function () exec("scrot -e 'mv $f ~/screenshots/'") end,
|
||||
backlight = {
|
||||
down = function() exec("sudo sh -c 'echo $[$(</sys/class/backlight/intel_backlight/brightness)-100] >/sys/class/backlight/intel_backlight/brightness'") end,
|
||||
up = function() exec("sudo sh -c 'echo $[$(</sys/class/backlight/intel_backlight/brightness)+100] >/sys/class/backlight/intel_backlight/brightness'") end
|
||||
}
|
||||
}
|
||||
|
||||
externals.power = externals.powers.ck
|
||||
|
||||
-- vim: set foldmarker=--{{{,--}}} foldmethod=marker:
|
||||
44
.config/awesome/misc/calendar.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
function calendar()
|
||||
local head = 'Su Mo Tu We Th Fr Sa'
|
||||
local title = os.date('%B %Y')
|
||||
while title:len() < head:len() do
|
||||
title = ' ' .. title .. ' '
|
||||
end
|
||||
|
||||
local calendar = title .. "\n" .. head .. "\n"
|
||||
|
||||
local today_w = tonumber(os.date('%u'))
|
||||
local today_m = tonumber(os.date('%d'))
|
||||
local day_w = (today_w - today_m + 1) % 7
|
||||
|
||||
local daysmap = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
|
||||
local year = tonumber(os.date('%Y'))
|
||||
if year % 4 == 0 and (year % 100 ~= 0 or year % 400 == 0) then
|
||||
daysmap[2] = 29
|
||||
end
|
||||
|
||||
calendar = calendar .. string.format('%' .. (day_w*3) .. 's', '')
|
||||
local month = tonumber(os.date('%m'))
|
||||
|
||||
for day_m = 1,daysmap[month] do
|
||||
if day_m > 9 then
|
||||
day_s = day_m
|
||||
else
|
||||
day_s = '0' .. day_m
|
||||
end
|
||||
|
||||
if day_m == today_m then
|
||||
day_s = '<span color="yellow"><b>' .. day_s .. '</b></span>'
|
||||
end
|
||||
|
||||
calendar = calendar .. day_s .. ' '
|
||||
|
||||
day_w = day_w + 1
|
||||
if day_w > 6 then
|
||||
day_w = 0
|
||||
calendar = calendar .. "\n"
|
||||
end
|
||||
end
|
||||
|
||||
return calendar;
|
||||
end
|
||||
49
.config/awesome/prompt.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
-- typical mpc/mpd tasks:
|
||||
-- *
|
||||
|
||||
prompt = {
|
||||
box = nil,
|
||||
exec = {
|
||||
lua = function(command)
|
||||
end,
|
||||
google = function(command)
|
||||
end,
|
||||
player = function(command)
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- Prompt
|
||||
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
|
||||
|
||||
-- TODO: unite in a single prompt with prefix (=2+2, g weather in Minsk, http://tut.by/ etc)
|
||||
|
||||
awful.key({ modkey }, "x",
|
||||
function()
|
||||
awful.prompt.run({ prompt = "Run Lua code: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
function (...)
|
||||
local result = awful.util.eval(...)
|
||||
promptbox.widget:set_text(result) -- I need a calculator :(
|
||||
end, nil,
|
||||
awful.util.getdir("cache") .. "/history_eval")
|
||||
end),
|
||||
|
||||
awful.key({ modkey }, "s",
|
||||
function()
|
||||
awful.prompt.run({ prompt = "Google: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
externals.browser.search, nil,
|
||||
awful.util.getdir("cache") .. "/history_search")
|
||||
end),
|
||||
|
||||
awful.key({ modkey }, "p",
|
||||
function()
|
||||
awful.prompt.run({ prompt = "Play: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
externals.music.search, nil,
|
||||
awful.util.getdir("cache") .. "/history_play")
|
||||
end),
|
||||
|
||||
601
.config/awesome/rc.lua
Normal file
@@ -0,0 +1,601 @@
|
||||
---- Standard awesome library
|
||||
awful = require("awful")
|
||||
awful.autofocus = require("awful.autofocus")
|
||||
awful.rules = require("awful.rules")
|
||||
-- Widget and layout library
|
||||
wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
naughty = require("naughty")
|
||||
-- External programs
|
||||
require("externals")
|
||||
|
||||
--{{{ Variable definitions
|
||||
-- Themes define colours, icons, and wallpapers
|
||||
beautiful.init(".config/awesome/theme/theme.lua")
|
||||
|
||||
-- TODO: when launching external app, make con window floating and switch to corresponding tab
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "xterm"
|
||||
editor = os.getenv("EDITOR") or "vim"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
height = 18
|
||||
|
||||
function exec(command)
|
||||
awful.util.spawn(command, false)
|
||||
end
|
||||
|
||||
function conexec(command)
|
||||
exec(terminal .. ' -e ' .. command)
|
||||
end
|
||||
|
||||
-- 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"
|
||||
altkey = "Mod1"
|
||||
menukey = "Menu"
|
||||
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
layouts =
|
||||
{
|
||||
awful.layout.suit.floating, -- 1
|
||||
awful.layout.suit.tile, -- 2
|
||||
awful.layout.suit.tile.left, -- 3
|
||||
awful.layout.suit.tile.bottom, -- 4
|
||||
awful.layout.suit.tile.top, -- 5
|
||||
awful.layout.suit.fair, -- 6
|
||||
awful.layout.suit.fair.horizontal, -- 7
|
||||
awful.layout.suit.spiral, -- 8
|
||||
awful.layout.suit.spiral.dwindle, -- 9
|
||||
awful.layout.suit.max, -- 10
|
||||
awful.layout.suit.max.fullscreen, -- 11
|
||||
awful.layout.suit.magnifier -- 12
|
||||
}
|
||||
--}}}
|
||||
|
||||
--{{{ 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:term", "2:bw", "3:vim", "4:skype", "5:mcb", "6:vbox", 7, }, s,
|
||||
{ layouts[7], layouts[10], layouts[10], layouts[7], layouts[10], layouts[10], layouts[10] }
|
||||
)
|
||||
end
|
||||
--}}}
|
||||
|
||||
--{{{ Menu
|
||||
-- Create a laucher widget and a main menu
|
||||
myawesomemenu = {
|
||||
{ "manual", terminal .. " -e man awesome" },
|
||||
{ "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
|
||||
{ "restart", awesome.restart },
|
||||
{ "quit", awesome.quit }
|
||||
}
|
||||
|
||||
mymainmenu = awful.menu({ items = {
|
||||
{ "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||
{ "open terminal", terminal },
|
||||
{ "shutdown", {
|
||||
{ "reboot", externals.power.reboot },
|
||||
{ "halt", externals.power.halt },
|
||||
{ "suspend", externals.power.suspend },
|
||||
{ "hibernate", externals.power.hibernate }
|
||||
} }
|
||||
}})
|
||||
|
||||
mylauncher = awful.widget.launcher({
|
||||
image = beautiful.awesome_icon,
|
||||
menu = mymainmenu
|
||||
})
|
||||
--}}}
|
||||
|
||||
--{{{ Wibox
|
||||
|
||||
--{{{ Reusable separator
|
||||
separator = wibox.widget.imagebox()
|
||||
separator:set_image(beautiful.widget_sep)
|
||||
--}}}
|
||||
|
||||
require('externals')
|
||||
|
||||
--require('widgets/cpu')
|
||||
--require('widgets/mem')
|
||||
--require('widgets/fs')
|
||||
--require('widgets/net')
|
||||
--require('widgets/wifi')
|
||||
--require('widgets/vol')
|
||||
--require('widgets/mpd')
|
||||
--require('widgets/wth')
|
||||
--require('widgets/gmail')
|
||||
--require('widgets/pkg')
|
||||
--require('widgets/bat')
|
||||
--require('widgets/date')
|
||||
|
||||
-- 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()
|
||||
-- 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.filter.all, mytaglist.buttons)
|
||||
|
||||
-- Create a tasklist widget
|
||||
mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
|
||||
|
||||
-- Create the wibox
|
||||
mywibox[s] = awful.wibox({ position = "top", screen = s })
|
||||
|
||||
local left_widgets = {
|
||||
mylauncher,
|
||||
mytaglist[s],
|
||||
mypromptbox[s]
|
||||
}
|
||||
local left_layout = wibox.layout.fixed.horizontal()
|
||||
for i, widget in pairs(left_widgets) do
|
||||
left_layout:add(widget)
|
||||
end
|
||||
|
||||
local right_widgets = awful.util.table.join({
|
||||
--[[
|
||||
cpuwidget.i,
|
||||
cpuwidget.g,
|
||||
cpuwidget.w,
|
||||
separator,
|
||||
|
||||
memwidget.i,
|
||||
memwidget.w,
|
||||
separator,
|
||||
|
||||
fswidget.i
|
||||
},
|
||||
fswidget.get_fs_widgets(),
|
||||
{
|
||||
|
||||
fswidget.w,
|
||||
separator,
|
||||
|
||||
volwidget.i,
|
||||
volwidget.w,
|
||||
separator,
|
||||
|
||||
mpdwidget.i,
|
||||
mpdwidget.w,
|
||||
separator,
|
||||
|
||||
netwidget.i_dn,
|
||||
netwidget.w,
|
||||
netwidget.i_up,
|
||||
wifiwidget.i,
|
||||
wifiwidget.w,
|
||||
separator,
|
||||
--]]
|
||||
|
||||
s == 1 and wibox.widget.systray() or nil,
|
||||
|
||||
--[[
|
||||
gmailwidget.i,
|
||||
gmailwidget.w,
|
||||
pkgwidget.i,
|
||||
pkgwidget.w,
|
||||
batwidget.i,
|
||||
batwidget.w,
|
||||
separator,
|
||||
|
||||
datewidget.i,
|
||||
datewidget.w,
|
||||
separator,
|
||||
--]]
|
||||
mylayoutbox[s]
|
||||
})
|
||||
local right_layout = wibox.layout.fixed.horizontal()
|
||||
for i, widget in pairs(right_widgets) do
|
||||
if widget then
|
||||
right_layout:add(widget)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local layout = wibox.layout.align.horizontal()
|
||||
layout:set_left(left_layout)
|
||||
layout:set_middle(mytasklist[s])
|
||||
layout:set_right(right_layout)
|
||||
|
||||
mywibox[s]:set_widget(layout)
|
||||
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
|
||||
-- read with 'xev' (xorg-xev)
|
||||
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),
|
||||
awful.key({ modkey }, "F12", externals.display.screensaver),
|
||||
|
||||
awful.key({ modkey, "Control" }, "Up", externals.player.toggle),
|
||||
awful.key({ modkey, "Control" }, "Down", externals.player.stop),
|
||||
awful.key({ modkey, "Control" }, "Left", externals.player.prev),
|
||||
awful.key({ modkey, "Control" }, "Right", externals.player.next),
|
||||
|
||||
awful.key({ modkey }, "Up", externals.sound.up),
|
||||
awful.key({ modkey }, "Down", externals.sound.down),
|
||||
|
||||
-- Media Keys
|
||||
awful.key({ }, 'XF86AudioPlay', externals.player.toggle),
|
||||
awful.key({ }, 'XF86AudioPrev', externals.player.prev),
|
||||
awful.key({ }, 'XF86AudioNext', externals.player.next),
|
||||
awful.key({ }, 'XF86AudioStop', externals.player.stop),
|
||||
|
||||
awful.key({ }, 'XF86AudioMute', externals.sound.mute),
|
||||
awful.key({ }, 'XF86AudioRaiseVolume', externals.sound.up),
|
||||
awful.key({ }, 'XF86AudioLowerVolume', externals.sound.down),
|
||||
|
||||
awful.key({ }, 'XF86MonBrightnessDown', externals.display.backlight.down),
|
||||
awful.key({ }, 'XF86MonBrightnessUp', externals.display.backlight.up),
|
||||
|
||||
awful.key({ }, 'XF86Search', externals.browser.search), -- this will fail. Use the same func as Meta+S does instead
|
||||
awful.key({ }, 'XF86Mail', externals.mail.manager),
|
||||
awful.key({ }, 'XF86HomePage', externals.browser.manager),
|
||||
|
||||
awful.key({ }, 'XF86Display', externals.display.switch),
|
||||
awful.key({ }, 'XF86ScreenSaver', externals.display.screensaver),
|
||||
awful.key({ }, 'XF86Launch6', externals.power.switch_profile),
|
||||
--awful.key({ }, 252, externals.display.turn_off),
|
||||
|
||||
awful.key({ }, 'XF86PowerOff', function() end),
|
||||
awful.key({ }, 'XF86WLAN', function() end),
|
||||
|
||||
awful.key({ }, "Print", externals.display.save),
|
||||
|
||||
-- Prompt
|
||||
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
|
||||
|
||||
-- TODO: unite in a single prompt with prefix (=2+2, g weather in Minsk, http://tut.by/ etc)
|
||||
|
||||
awful.key({ modkey }, "x",
|
||||
function()
|
||||
awful.prompt.run({ prompt = "Eval: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
function (s)
|
||||
local result = awful.util.eval('return ' .. s)
|
||||
mypromptbox[mouse.screen].widget:set_text('[ ' .. result .. ' ]')
|
||||
end, nil,
|
||||
awful.util.getdir("cache") .. "/history_eval")
|
||||
end),
|
||||
|
||||
awful.key({ modkey }, "s",
|
||||
function()
|
||||
awful.prompt.run({ prompt = "Google: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
externals.browser.search, nil,
|
||||
awful.util.getdir("cache") .. "/history_search")
|
||||
end),
|
||||
|
||||
awful.key({ modkey }, "p",
|
||||
function()
|
||||
awful.prompt.run({ prompt = "Play: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
externals.player.search, nil,
|
||||
awful.util.getdir("cache") .. "/history_play")
|
||||
end),
|
||||
|
||||
awful.key({ modkey }, "g",
|
||||
function()
|
||||
awful.prompt.run({ prompt = "Go: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
externals.browser.browse, nil,
|
||||
awful.util.getdir("cache") .. "/history_goto")
|
||||
end),
|
||||
|
||||
awful.key({ modkey }, "b",
|
||||
function ()
|
||||
mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
|
||||
end)
|
||||
)
|
||||
|
||||
clientkeys = awful.util.table.join(
|
||||
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
|
||||
awful.key({ modkey, }, "F4", 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
|
||||
-- get class / etc with 'xprop' (xorg-xprop)
|
||||
-- ex.:
|
||||
-- ...
|
||||
-- WM_CLASS(STRING) = "Navigator", "Swiftfox"
|
||||
-- WM_NAME(STRING) = "Problem loading page - Swiftfox"
|
||||
-- ...
|
||||
--
|
||||
-- instance = "Navigator", class = "Swiftfox", name = "Problem loading page - Swiftfox"
|
||||
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_any = { class = { "MPlayer", "pinentry", "gimp" } },
|
||||
properties = { floating = true }
|
||||
}, {
|
||||
rule_any = { instance = { "Navigator" }, class = { "Chromium" } },
|
||||
properties = { tag = tags[1][2] }
|
||||
}, {
|
||||
rule = { instance = "gvim" },
|
||||
properties = { tag = tags[1][3] }
|
||||
}, {
|
||||
rule = { class = "Skype" },
|
||||
properties = { tag = tags[1][4], size_hints_honor = false }
|
||||
}, {
|
||||
rule = { instance = "gajim" },
|
||||
properties = { tag = tags[1][5] }
|
||||
}, {
|
||||
rule = { class = "XTerm" },
|
||||
callback = function(c)
|
||||
if c.name:sub(#c.name - 9) == " - mcabber" then
|
||||
awful.client.movetotag(tags[1][5], c)
|
||||
end
|
||||
|
||||
-- see /usr/share/awesome/lib/wibox/layout/
|
||||
--
|
||||
-- eval geometry with respect to hint
|
||||
--local geom = c:geometry()
|
||||
--local hint = c.size_hints
|
||||
|
||||
--print("geom was: " .. geom.width .. "x" .. geom.height)
|
||||
|
||||
--local w_ratio = math.floor((geom.width - hint.base_width) / hint.width_inc)
|
||||
--local h_ratio = math.floor((geom.height - hint.base_height) / hint.height_inc)
|
||||
|
||||
--geom.width = hint.base_width + hint.width_inc * w_ratio
|
||||
--geom.height = hint.base_height + hint.height_inc * h_ratio
|
||||
|
||||
--print("geom is: " .. geom.width .. "x" .. geom.height)
|
||||
|
||||
--c:geometry(geom)
|
||||
end
|
||||
}, {
|
||||
rule = { class = "XTerm" },
|
||||
properties = { opacity = 0.9, size_hints_honor = false }
|
||||
}, {
|
||||
rule = { instance = "VCLSalFrame.DocumentWindow", class = "LibreOffice 3.5" },
|
||||
properties = { size_hints_honor = false }
|
||||
}, {
|
||||
rule = { class = "VirtualBox" },
|
||||
properties = { tag = tags[1][6], switchtotag = true }
|
||||
}, {
|
||||
rule = { class = "do-not-directly-run-secondlife-bin" },
|
||||
properties = {
|
||||
tag = tags[1][6],
|
||||
switchtotag = true,
|
||||
floating = true,
|
||||
geometry = { x = 0, y = 0, width = 1364, height = 700 }
|
||||
}
|
||||
}
|
||||
}
|
||||
--}}}
|
||||
|
||||
--{{{ Signals
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.connect_signal("manage", function (c, startup)
|
||||
-- Add a titlebar
|
||||
--awful.titlebar.add(c, { modkey = modkey })
|
||||
|
||||
-- Enable sloppy focus
|
||||
c:connect_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.connect_signal("focus", function(c)
|
||||
c.border_color = beautiful.border_focus
|
||||
end)
|
||||
client.connect_signal("unfocus", function(c)
|
||||
c.border_color = beautiful.border_normal
|
||||
end)
|
||||
|
||||
for s = 1, screen.count() do
|
||||
screen[s]:add_signal("tag::history::update", function()
|
||||
client.focus = client.focus
|
||||
end)
|
||||
end
|
||||
--}}}
|
||||
|
||||
-- vim: set foldmarker=--{{{,--}}} foldmethod=marker:
|
||||
12
.config/awesome/theme/icons/LICENSE
Normal file
@@ -0,0 +1,12 @@
|
||||
All 'awesome' icons in this package were created by Adrian C. (anrxc).
|
||||
They are licensed under the same terms as the awesome distribution itself
|
||||
- GNU General Public License version 2. To view a human-readable summary
|
||||
of this license, visit: http://creativecommons.org/licenses/GPL/2.0/
|
||||
|
||||
The widget icons with the exception of: 'chat', 'crypt', 'power' and
|
||||
'rss' icons (which were made by me) were originally made by 'sm4tik'
|
||||
for purposes of 'dzen', I could not find any licensing information
|
||||
attached to those original bitmaps. Assuming they are in the public
|
||||
domain I am licensing the widget icons under the terms of the
|
||||
Creative Commons Attribution-Share Alike license. To view a copy of
|
||||
this license, visit: http://creativecommons.org/licenses/by-sa/3.0/
|
||||
BIN
.config/awesome/theme/icons/awesome.png
Normal file
|
After Width: | Height: | Size: 205 B |
BIN
.config/awesome/theme/icons/bat.png
Normal file
|
After Width: | Height: | Size: 213 B |
BIN
.config/awesome/theme/icons/cal.png
Normal file
|
After Width: | Height: | Size: 219 B |
BIN
.config/awesome/theme/icons/chat.png
Normal file
|
After Width: | Height: | Size: 216 B |
BIN
.config/awesome/theme/icons/cpu.png
Normal file
|
After Width: | Height: | Size: 238 B |
BIN
.config/awesome/theme/icons/crypto.png
Normal file
|
After Width: | Height: | Size: 219 B |
BIN
.config/awesome/theme/icons/disk.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
.config/awesome/theme/icons/down.png
Normal file
|
After Width: | Height: | Size: 251 B |
BIN
.config/awesome/theme/icons/info.png
Normal file
|
After Width: | Height: | Size: 189 B |
BIN
.config/awesome/theme/icons/layouts/dwindle.png
Normal file
|
After Width: | Height: | Size: 210 B |
BIN
.config/awesome/theme/icons/layouts/fairh.png
Normal file
|
After Width: | Height: | Size: 189 B |
BIN
.config/awesome/theme/icons/layouts/fairv.png
Normal file
|
After Width: | Height: | Size: 206 B |
BIN
.config/awesome/theme/icons/layouts/floating.png
Normal file
|
After Width: | Height: | Size: 221 B |
BIN
.config/awesome/theme/icons/layouts/fullscreen.png
Normal file
|
After Width: | Height: | Size: 205 B |
BIN
.config/awesome/theme/icons/layouts/magnifier.png
Normal file
|
After Width: | Height: | Size: 201 B |
BIN
.config/awesome/theme/icons/layouts/max.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
.config/awesome/theme/icons/layouts/spiral.png
Normal file
|
After Width: | Height: | Size: 211 B |
BIN
.config/awesome/theme/icons/layouts/tile.png
Normal file
|
After Width: | Height: | Size: 188 B |
BIN
.config/awesome/theme/icons/layouts/tilebottom.png
Normal file
|
After Width: | Height: | Size: 206 B |
BIN
.config/awesome/theme/icons/layouts/tileleft.png
Normal file
|
After Width: | Height: | Size: 190 B |
BIN
.config/awesome/theme/icons/layouts/tiletop.png
Normal file
|
After Width: | Height: | Size: 207 B |
BIN
.config/awesome/theme/icons/mail.png
Normal file
|
After Width: | Height: | Size: 215 B |
BIN
.config/awesome/theme/icons/mem.png
Normal file
|
After Width: | Height: | Size: 207 B |
BIN
.config/awesome/theme/icons/music.png
Normal file
|
After Width: | Height: | Size: 192 B |
BIN
.config/awesome/theme/icons/pacman.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
.config/awesome/theme/icons/phones.png
Normal file
|
After Width: | Height: | Size: 232 B |
BIN
.config/awesome/theme/icons/power.png
Normal file
|
After Width: | Height: | Size: 222 B |
BIN
.config/awesome/theme/icons/rss.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
.config/awesome/theme/icons/sat.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
.config/awesome/theme/icons/separator.png
Normal file
|
After Width: | Height: | Size: 195 B |
BIN
.config/awesome/theme/icons/sun.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
.config/awesome/theme/icons/taglist/sel.png
Normal file
|
After Width: | Height: | Size: 152 B |
BIN
.config/awesome/theme/icons/taglist/unsel.png
Normal file
|
After Width: | Height: | Size: 154 B |
BIN
.config/awesome/theme/icons/temp.png
Normal file
|
After Width: | Height: | Size: 240 B |
BIN
.config/awesome/theme/icons/time.png
Normal file
|
After Width: | Height: | Size: 227 B |
BIN
.config/awesome/theme/icons/titlebar/close_focus.png
Normal file
|
After Width: | Height: | Size: 209 B |
BIN
.config/awesome/theme/icons/titlebar/close_normal.png
Normal file
|
After Width: | Height: | Size: 368 B |
BIN
.config/awesome/theme/icons/titlebar/floating_focus_active.png
Normal file
|
After Width: | Height: | Size: 207 B |
BIN
.config/awesome/theme/icons/titlebar/floating_focus_inactive.png
Normal file
|
After Width: | Height: | Size: 337 B |
BIN
.config/awesome/theme/icons/titlebar/floating_normal_active.png
Normal file
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 326 B |
BIN
.config/awesome/theme/icons/titlebar/maximized_focus_active.png
Normal file
|
After Width: | Height: | Size: 200 B |
|
After Width: | Height: | Size: 335 B |
BIN
.config/awesome/theme/icons/titlebar/maximized_normal_active.png
Normal file
|
After Width: | Height: | Size: 366 B |
|
After Width: | Height: | Size: 347 B |
BIN
.config/awesome/theme/icons/titlebar/ontop_focus_active.png
Normal file
|
After Width: | Height: | Size: 186 B |
BIN
.config/awesome/theme/icons/titlebar/ontop_focus_inactive.png
Normal file
|
After Width: | Height: | Size: 331 B |
BIN
.config/awesome/theme/icons/titlebar/ontop_normal_active.png
Normal file
|
After Width: | Height: | Size: 347 B |
BIN
.config/awesome/theme/icons/titlebar/ontop_normal_inactive.png
Normal file
|
After Width: | Height: | Size: 332 B |
BIN
.config/awesome/theme/icons/titlebar/sticky_focus_active.png
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
.config/awesome/theme/icons/titlebar/sticky_focus_inactive.png
Normal file
|
After Width: | Height: | Size: 328 B |
BIN
.config/awesome/theme/icons/titlebar/sticky_normal_active.png
Normal file
|
After Width: | Height: | Size: 359 B |
BIN
.config/awesome/theme/icons/titlebar/sticky_normal_inactive.png
Normal file
|
After Width: | Height: | Size: 328 B |
BIN
.config/awesome/theme/icons/up.png
Normal file
|
After Width: | Height: | Size: 275 B |
BIN
.config/awesome/theme/icons/vol.png
Normal file
|
After Width: | Height: | Size: 224 B |
BIN
.config/awesome/theme/icons/wifi.png
Normal file
|
After Width: | Height: | Size: 215 B |
116
.config/awesome/theme/theme.lua
Normal file
@@ -0,0 +1,116 @@
|
||||
theme = {}
|
||||
|
||||
theme.font = "fixed 10"
|
||||
theme.confdir = awful.util.getdir("config") .. "/theme"
|
||||
theme.wallpaper_cmd = { "hsetroot -solid '#000000'" }
|
||||
--theme.wallpaper_cmd = { "awsetbg -f media/images/Desktop/GirlGun1.jpg" }
|
||||
|
||||
theme.bg_normal = "#222222"
|
||||
theme.bg_focus = "#535d6c"
|
||||
theme.bg_urgent = "#ff0000"
|
||||
theme.bg_minimize = "#444444"
|
||||
|
||||
theme.fg_normal = "#aaaaaa"
|
||||
theme.fg_focus = "#ffffff"
|
||||
theme.fg_urgent = "#ffffff"
|
||||
theme.fg_minimize = "#ffffff"
|
||||
|
||||
theme.border_width = "1"
|
||||
theme.border_normal = "#404080"
|
||||
theme.border_focus = "#535d6c"
|
||||
theme.border_marked = "#91231c"
|
||||
|
||||
theme.fg_widget = "#AECF96"
|
||||
theme.fg_center_widget = "#88A175"
|
||||
theme.fg_end_widget = "#FF5656"
|
||||
theme.fg_off_widget = "#494B4F"
|
||||
theme.fg_netup_widget = "#7F9F7F"
|
||||
theme.fg_netdn_widget = "#CC9393"
|
||||
theme.bg_widget = "#3F3F3F"
|
||||
theme.border_widget = "#3F3F3F"
|
||||
|
||||
-- [taglist|tasklist]_[bg|fg]_[focus|urgent]
|
||||
-- titlebar_[bg|fg]_[normal|focus]
|
||||
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
|
||||
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
|
||||
|
||||
-- Display the taglist squares
|
||||
theme.taglist_squares_sel = theme.confdir .. "/icons/taglist/sel.png"
|
||||
theme.taglist_squares_unsel = theme.confdir .. "/icons/taglist/unsel.png"
|
||||
|
||||
theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/floatingw.png"
|
||||
|
||||
-- Variables set for theming the menu:
|
||||
-- menu_[bg|fg]_[normal|focus]
|
||||
-- menu_[border_color|border_width]
|
||||
theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png"
|
||||
theme.menu_height = "15"
|
||||
theme.menu_width = "100"
|
||||
|
||||
-- You can add as many variables as
|
||||
-- you wish and access them by using
|
||||
-- beautiful.variable in your rc.lua
|
||||
--theme.bg_widget = "#cc0000"
|
||||
|
||||
-- {{{ Widget icons
|
||||
theme.widget_cpu = theme.confdir .. "/icons/cpu.png"
|
||||
theme.widget_bat = theme.confdir .. "/icons/bat.png"
|
||||
theme.widget_mem = theme.confdir .. "/icons/mem.png"
|
||||
theme.widget_fs = theme.confdir .. "/icons/disk.png"
|
||||
theme.widget_net = theme.confdir .. "/icons/down.png"
|
||||
theme.widget_netup = theme.confdir .. "/icons/up.png"
|
||||
theme.widget_wifi = theme.confdir .. "/icons/wifi.png"
|
||||
theme.widget_mail = theme.confdir .. "/icons/mail.png"
|
||||
theme.widget_vol = theme.confdir .. "/icons/vol.png"
|
||||
theme.widget_org = theme.confdir .. "/icons/cal.png"
|
||||
theme.widget_date = theme.confdir .. "/icons/time.png"
|
||||
theme.widget_crypto = theme.confdir .. "/icons/crypto.png"
|
||||
theme.widget_pacman = theme.confdir .. "/icons/pacman.png"
|
||||
theme.widget_sep = theme.confdir .. "/icons/separator.png"
|
||||
theme.widget_music = theme.confdir .. "/icons/music.png"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Layout icons
|
||||
theme.layout_tile = theme.confdir .. "/icons/layouts/tile.png"
|
||||
theme.layout_tileleft = theme.confdir .. "/icons/layouts/tileleft.png"
|
||||
theme.layout_tilebottom = theme.confdir .. "/icons/layouts/tilebottom.png"
|
||||
theme.layout_tiletop = theme.confdir .. "/icons/layouts/tiletop.png"
|
||||
theme.layout_fairv = theme.confdir .. "/icons/layouts/fairv.png"
|
||||
theme.layout_fairh = theme.confdir .. "/icons/layouts/fairh.png"
|
||||
theme.layout_spiral = theme.confdir .. "/icons/layouts/spiral.png"
|
||||
theme.layout_dwindle = theme.confdir .. "/icons/layouts/dwindle.png"
|
||||
theme.layout_max = theme.confdir .. "/icons/layouts/max.png"
|
||||
theme.layout_fullscreen = theme.confdir .. "/icons/layouts/fullscreen.png"
|
||||
theme.layout_magnifier = theme.confdir .. "/icons/layouts/magnifier.png"
|
||||
theme.layout_floating = theme.confdir .. "/icons/layouts/floating.png"
|
||||
-- }}}
|
||||
|
||||
theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png"
|
||||
|
||||
-- {{{ Titlebar icons
|
||||
theme.titlebar_close_button_focus = theme.confdir .. "/icons/titlebar/close_focus.png"
|
||||
theme.titlebar_close_button_normal = theme.confdir .. "/icons/titlebar/close_normal.png"
|
||||
|
||||
theme.titlebar_ontop_button_focus_active = theme.confdir .. "/icons/titlebar/ontop_focus_active.png"
|
||||
theme.titlebar_ontop_button_normal_active = theme.confdir .. "/icons/titlebar/ontop_normal_active.png"
|
||||
theme.titlebar_ontop_button_focus_inactive = theme.confdir .. "/icons/titlebar/ontop_focus_inactive.png"
|
||||
theme.titlebar_ontop_button_normal_inactive = theme.confdir .. "/icons/titlebar/ontop_normal_inactive.png"
|
||||
|
||||
theme.titlebar_sticky_button_focus_active = theme.confdir .. "/icons/titlebar/sticky_focus_active.png"
|
||||
theme.titlebar_sticky_button_normal_active = theme.confdir .. "/icons/titlebar/sticky_normal_active.png"
|
||||
theme.titlebar_sticky_button_focus_inactive = theme.confdir .. "/icons/titlebar/sticky_focus_inactive.png"
|
||||
theme.titlebar_sticky_button_normal_inactive = theme.confdir .. "/icons/titlebar/sticky_normal_inactive.png"
|
||||
|
||||
theme.titlebar_floating_button_focus_active = theme.confdir .. "/icons/titlebar/floating_focus_active.png"
|
||||
theme.titlebar_floating_button_normal_active = theme.confdir .. "/icons/titlebar/floating_normal_active.png"
|
||||
theme.titlebar_floating_button_focus_inactive = theme.confdir .. "/icons/titlebar/floating_focus_inactive.png"
|
||||
theme.titlebar_floating_button_normal_inactive = theme.confdir .. "/icons/titlebar/floating_normal_inactive.png"
|
||||
|
||||
theme.titlebar_maximized_button_focus_active = theme.confdir .. "/icons/titlebar/maximized_focus_active.png"
|
||||
theme.titlebar_maximized_button_normal_active = theme.confdir .. "/icons/titlebar/maximized_normal_active.png"
|
||||
theme.titlebar_maximized_button_focus_inactive = theme.confdir .. "/icons/titlebar/maximized_focus_inactive.png"
|
||||
theme.titlebar_maximized_button_normal_inactive = theme.confdir .. "/icons/titlebar/maximized_normal_inactive.png"
|
||||
-- }}}
|
||||
|
||||
return theme
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
||||
33
.config/awesome/widgets/bat.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
-- {{{ OK: Battery state
|
||||
batwidget = {}
|
||||
batwidget.i = wibox.widget.imagebox()
|
||||
batwidget.w = wibox.widget.textbox()
|
||||
batwidget.t = awful.tooltip({
|
||||
objects = { batwidget.i, batwidget.w }
|
||||
})
|
||||
batwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
vicious.force({ batwidget })
|
||||
end),
|
||||
awful.button({ }, 3, function ()
|
||||
conexec("'sudo powertop'")
|
||||
end)
|
||||
)
|
||||
batwidget.w:buttons(batwidget.b)
|
||||
batwidget.i:buttons(batwidget.b)
|
||||
vicious.register(batwidget, vicious.widgets.bat, function(widget, args)
|
||||
if args[2] == 0 then
|
||||
widget.w:set_text('')
|
||||
widget.i:set_image(nil)
|
||||
else
|
||||
widget.w:set_text(args[1] .. args[2] .. '%')
|
||||
widget.i:set_image(beautiful.widget_bat)
|
||||
end
|
||||
|
||||
if args[3] == 'N/A' then
|
||||
widget.t:set_text('')
|
||||
else
|
||||
widget.t:set_text(args[3] .. ' remaining')
|
||||
end
|
||||
end, 57, "BAT0")
|
||||
-- }}}
|
||||
25
.config/awesome/widgets/cpu.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
-- {{{ OK: CPU usage and temperature
|
||||
cpuwidget = {}
|
||||
cpuwidget.i = wibox.widget.imagebox()
|
||||
cpuwidget.i:set_image(beautiful.widget_cpu)
|
||||
cpuwidget.g = awful.widget.graph()
|
||||
cpuwidget.w = wibox.widget.textbox()
|
||||
cpuwidget.g:set_width(40):set_height(height)
|
||||
cpuwidget.g:set_background_color(beautiful.fg_off_widget)
|
||||
--cpuwidget.g:set_gradient_angle(0):set_gradient_colors({
|
||||
-- beautiful.fg_end_widget, beautiful.fg_center_widget, beautiful.fg_widget
|
||||
--})
|
||||
cpuwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
vicious.force({ cpuwidget.w, cpuwidget.g })
|
||||
end),
|
||||
awful.button({ }, 3, function ()
|
||||
conexec('htop')
|
||||
end)
|
||||
)
|
||||
cpuwidget.w:buttons(cpuwidget.b)
|
||||
cpuwidget.g:buttons(cpuwidget.b)
|
||||
cpuwidget.i:buttons(cpuwidget.b)
|
||||
vicious.register(cpuwidget.g, vicious.widgets.cpu, '$1')
|
||||
vicious.register(cpuwidget.w, vicious.widgets.thermal, ' $1C', 19, 'thermal_zone0')
|
||||
-- }}}
|
||||
23
.config/awesome/widgets/date.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
require("../misc/calendar")
|
||||
|
||||
-- {{{ OK: Date and time
|
||||
datewidget = {}
|
||||
datewidget.i = wibox.widget.imagebox()
|
||||
datewidget.i:set_image(beautiful.widget_date)
|
||||
datewidget.w = wibox.widget.textbox()
|
||||
datewidget.format = '%a, %m/%d %R'
|
||||
datewidget.t = awful.tooltip({
|
||||
objects = { datewidget.w, datewidget.i },
|
||||
timer_function = function()
|
||||
return calendar();
|
||||
end
|
||||
})
|
||||
datewidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
datewidget.w:set_text(os.date(datewidget.format .. ':%S'))
|
||||
end)
|
||||
)
|
||||
datewidget.w:buttons(datewidget.b)
|
||||
datewidget.i:buttons(datewidget.b)
|
||||
vicious.register(datewidget.w, vicious.widgets.date, datewidget.format, 61)
|
||||
-- }}}
|
||||
48
.config/awesome/widgets/fs.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
-- {{{ OK: File system usage
|
||||
fswidget = {}
|
||||
fswidget.locations = { '/boot', '/', '/home' }
|
||||
fswidget.i = wibox.widget.imagebox()
|
||||
fswidget.i:set_image(beautiful.widget_fs)
|
||||
fswidget.w = wibox.widget.textbox()
|
||||
fswidget.t = awful.tooltip({
|
||||
objects = { fswidget.i, fswidget.w }
|
||||
})
|
||||
fswidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function () vicious.force({ fswidget }) end),
|
||||
awful.button({ }, 3, function () conexec('mc') end)
|
||||
)
|
||||
fswidget.w:buttons(fswidget.b)
|
||||
fswidget.i:buttons(fswidget.b)
|
||||
fswidget.fs_bars = {}
|
||||
|
||||
fswidget.get_fs_widgets = function()
|
||||
local ws = {}
|
||||
for _,v in pairs(fswidget.fs_bars) do table.insert(ws, v) end
|
||||
return ws
|
||||
end
|
||||
|
||||
for index, path in pairs(fswidget.locations) do
|
||||
local fs_w = awful.widget.progressbar()
|
||||
fs_w:set_vertical(true):set_ticks(true)
|
||||
fs_w:set_height(height):set_width(5):set_ticks_size(2)
|
||||
fs_w:set_border_color(beautiful.border_widget)
|
||||
fs_w:set_background_color(beautiful.fg_off_widget)
|
||||
-- fs_w:set_gradient_colors({ beautiful.fg_widget,
|
||||
-- beautiful.fg_center_widget, beautiful.fg_end_widget
|
||||
-- })
|
||||
fs_w:buttons(fswidget.b)
|
||||
fswidget.fs_bars[path] = fs_w
|
||||
fswidget.t:add_to_object(fs_w)
|
||||
end
|
||||
|
||||
vicious.register(fswidget, vicious.widgets.fs, function(widget, args)
|
||||
local tip = ''
|
||||
for path,w in pairs(widget.fs_bars) do
|
||||
w:set_value(args['{' .. path .. ' used_p}'] / 100)
|
||||
tip = tip .. path .. ' [' .. args['{' .. path .. ' used_p}'] .. '%] - <b>' .. args['{' .. path .. ' avail_gb}'] .. '</b> GB free\n' ..
|
||||
' ' .. args['{' .. path .. ' used_gb}'] .. ' / ' .. args['{' .. path .. ' size_gb}'] .. ' GB\n\n'
|
||||
end
|
||||
widget.t:set_text(tip)
|
||||
end, 599)
|
||||
vicious.register(fswidget.w, vicious.widgets.hddtemp, ' ${/dev/sda}C', 17)
|
||||
-- }}}
|
||||
27
.config/awesome/widgets/gmail.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
-- {{{ OK: gmail
|
||||
gmailwidget = {}
|
||||
gmailwidget.i = wibox.widget.imagebox()
|
||||
gmailwidget.w = wibox.widget.textbox()
|
||||
gmailwidget.t = awful.tooltip({ objects = { gmailwidget.i, gmailwidget.w } })
|
||||
gmailwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
vicious.force({ gmailwidget })
|
||||
end),
|
||||
awful.button({ }, 3, function ()
|
||||
externals.mail.open('Inbox')
|
||||
end)
|
||||
)
|
||||
gmailwidget.w:buttons(gmailwidget.b)
|
||||
gmailwidget.i:buttons(gmailwidget.b)
|
||||
vicious.register(gmailwidget, vicious.widgets.gmail, function(widget, args)
|
||||
local count = tonumber(args['{count}'])
|
||||
if count > 0 then
|
||||
widget.t:set_text(args['{subject}'])
|
||||
widget.w:set_text(count)
|
||||
widget.i:set_image(beautiful.widget_mail)
|
||||
else
|
||||
widget.w:set_text('')
|
||||
widget.i:set_image(nil)
|
||||
end
|
||||
end, 60 * 15 + 7)
|
||||
-- }}}
|
||||
26
.config/awesome/widgets/mem.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
-- {{{ OK: Memory usage
|
||||
memwidget = {}
|
||||
memwidget.i = wibox.widget.imagebox()
|
||||
memwidget.i:set_image(beautiful.widget_mem)
|
||||
memwidget.w = awful.widget.progressbar()
|
||||
memwidget.w:set_vertical(true):set_ticks(true)
|
||||
memwidget.w:set_height(height):set_width(8):set_ticks_size(2)
|
||||
memwidget.w:set_background_color(beautiful.fg_off_widget)
|
||||
--memwidget.w:set_gradient_colors({ beautiful.fg_widget,
|
||||
-- beautiful.fg_center_widget, beautiful.fg_end_widget
|
||||
--})
|
||||
memwidget.t = awful.tooltip({
|
||||
objects = { memwidget.i, memwidget.w }
|
||||
})
|
||||
memwidget.w:buttons(cpuwidget.b);
|
||||
memwidget.i:buttons(cpuwidget.b);
|
||||
vicious.register(memwidget, vicious.widgets.mem, function(widget, args)
|
||||
widget.t:set_text(
|
||||
'RAM [' .. args[1] .. '%] - <b>' .. args[4] .. '</b> MB free\n' ..
|
||||
' ' .. args[2] .. ' / ' .. args[3] .. ' MB\n\n' ..
|
||||
'SWAP [' .. args[5] .. '%] - <b>' .. args[8] .. '</b> MB free\n' ..
|
||||
' ' .. args[6] .. ' / ' .. args[7] .. ' MB\n\n' ..
|
||||
'mem+buf+cache: ' .. args[9] .. ' MB')
|
||||
memwidget.w:set_value(args[1] / 100)
|
||||
end, 13)
|
||||
-- }}}
|
||||
38
.config/awesome/widgets/mpd.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
-- {{{ OK: MPD
|
||||
mpdwidget = {};
|
||||
mpdwidget.i = wibox.widget.imagebox()
|
||||
mpdwidget.i:set_image(beautiful.widget_music)
|
||||
mpdwidget.w = wibox.widget.textbox();
|
||||
mpdwidget.t = awful.tooltip({ objects = { mpdwidget.i, mpdwidget.w } })
|
||||
mpdwidget.refresh = function() vicious.force({ mpdwidget }) end
|
||||
externals.hook.after(externals.player, 'update', mpdwidget.refresh)
|
||||
externals.hook.after(externals.player, 'toggle', mpdwidget.refresh)
|
||||
externals.hook.after(externals.player, 'prev', mpdwidget.refresh)
|
||||
externals.hook.after(externals.player, 'next', mpdwidget.refresh)
|
||||
externals.hook.after(externals.player, 'stop', mpdwidget.refresh)
|
||||
mpdwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
vicious.force({ mpdwidget })
|
||||
end),
|
||||
awful.button({ }, 2, externals.player.update),
|
||||
awful.button({ }, 3, externals.player.toggle),
|
||||
awful.button({ }, 4, externals.player.prev),
|
||||
awful.button({ }, 5, externals.player.next)
|
||||
)
|
||||
mpdwidget.w:buttons(mpdwidget.b);
|
||||
vicious.register(mpdwidget, vicious.widgets.mpd, function(widget, args)
|
||||
widget.t:set_text(' ' .. args["{Artist}"] .. ' - ' .. args["{Title}"] .. '\n '
|
||||
.. args["{Album}"] .. ' (' .. args["{Genre}"] .. ') ')
|
||||
|
||||
local state = args["{state}"]
|
||||
if state == "Play" then
|
||||
widget.w:set_text('>>')
|
||||
else
|
||||
if state == "Pause" then
|
||||
widget.w:set_text('||')
|
||||
else
|
||||
widget.w:set_text('[]')
|
||||
end
|
||||
end
|
||||
end, 7, { "56379534" })
|
||||
-- }}}
|
||||
49
.config/awesome/widgets/net.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
-- {{{ OK: Network usage
|
||||
netwidget = {}
|
||||
netwidget.i_dn = wibox.widget.imagebox()
|
||||
netwidget.i_up = wibox.widget.imagebox()
|
||||
netwidget.i_dn:set_image(beautiful.widget_net)
|
||||
netwidget.i_up:set_image(beautiful.widget_netup)
|
||||
netwidget.w = wibox.widget.textbox()
|
||||
netwidget.t = awful.tooltip({ objects = { netwidget.i_dn, netwidget.i_up, netwidget.w } })
|
||||
netwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
vicious.force({ netwidget })
|
||||
end),
|
||||
awful.button({ }, 3, function ()
|
||||
conexec('wicd-curses')
|
||||
end)
|
||||
)
|
||||
netwidget.w:buttons(netwidget.b)
|
||||
netwidget.i_dn:buttons(netwidget.b)
|
||||
netwidget.i_up:buttons(netwidget.b)
|
||||
vicious.register(netwidget, vicious.widgets.net, function(widget, args)
|
||||
local up, down, tip = '', '', ''
|
||||
for i=0,19 do
|
||||
local eth = 'eth' .. i
|
||||
if i > 9 then
|
||||
eth = 'wlan' .. (i-10)
|
||||
end
|
||||
if args['{' .. eth .. ' carrier}'] == 1 then
|
||||
if down ~= '' then
|
||||
down = down .. '/'
|
||||
up = up .. '/'
|
||||
end
|
||||
down = down .. args['{' .. eth .. ' down_kb}']
|
||||
up = up .. args['{' .. eth .. ' up_kb}']
|
||||
tip = tip .. eth .. '\n RX: ' .. args['{' .. eth .. ' rx_mb}'] .. ' MB' ..
|
||||
'\n TX: ' .. args['{' .. eth .. ' tx_mb}'] .. ' MB' ..
|
||||
'\n'
|
||||
end
|
||||
end
|
||||
|
||||
if down ~= '' then
|
||||
widget.w:set_markup('<span color="' ..
|
||||
beautiful.fg_netdn_widget .. '">' .. down .. '</span> <span color="' ..
|
||||
beautiful.fg_netup_widget .. '">' .. up .. '</span>')
|
||||
else
|
||||
widget.w:set_text('N/A')
|
||||
end
|
||||
widget.t:set_text(tip)
|
||||
end, 3)
|
||||
-- }}}
|
||||
25
.config/awesome/widgets/pkg.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
-- {{{ OK: Packages
|
||||
pkgwidget = {}
|
||||
pkgwidget.i = wibox.widget.imagebox()
|
||||
pkgwidget.w = wibox.widget.textbox()
|
||||
pkgwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
vicious.force({ pkgwidget })
|
||||
end),
|
||||
awful.button({ }, 3, function ()
|
||||
conexec("'yaourt -Suy --aur; read'")
|
||||
end)
|
||||
)
|
||||
pkgwidget.w:buttons(pkgwidget.b);
|
||||
pkgwidget.i:buttons(pkgwidget.b);
|
||||
vicious.register(pkgwidget, vicious.widgets.pkg, function(widget, args)
|
||||
local pkcnt = tonumber(args[1])
|
||||
if pkcnt > 0 then
|
||||
widget.i:set_image(beautiful.widget_pacman)
|
||||
widget.w:set_text(pkcnt)
|
||||
else
|
||||
widget.i:set_image(nil)
|
||||
widget.w:set_text('')
|
||||
end
|
||||
end, 60 * 60 + 13, 'Arch')
|
||||
-- }}}
|
||||
32
.config/awesome/widgets/vol.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
-- {{{ OK: Volume level
|
||||
volwidget = {}
|
||||
volwidget.i = wibox.widget.textbox()
|
||||
--volwidget.i:set_image(beautiful.widget_vol)
|
||||
volwidget.w = awful.widget.progressbar()
|
||||
volwidget.w:set_vertical(true):set_ticks(true)
|
||||
volwidget.w:set_height(height):set_width(8):set_ticks_size(2)
|
||||
volwidget.w:set_background_color(beautiful.fg_off_widget)
|
||||
--volwidget.w:set_gradient_colors({
|
||||
-- beautiful.fg_widget,
|
||||
-- beautiful.fg_center_widget,
|
||||
-- beautiful.fg_end_widget
|
||||
--})
|
||||
volwidget.t = awful.tooltip({ objects = { volwidget.i, volwidget.w } })
|
||||
volwidget.refresh = function() vicious.force({ volwidget }) end
|
||||
externals.hook.after(externals.sound, 'down', volwidget.refresh)
|
||||
externals.hook.after(externals.sound, 'up', volwidget.refresh)
|
||||
externals.hook.after(externals.sound, 'mute', volwidget.refresh)
|
||||
volwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, externals.sound.mute),
|
||||
awful.button({ }, 3, externals.sound.manager),
|
||||
awful.button({ }, 4, externals.sound.up),
|
||||
awful.button({ }, 5, externals.sound.down)
|
||||
)
|
||||
volwidget.i:buttons(volwidget.b)
|
||||
volwidget.w:buttons(volwidget.b)
|
||||
vicious.register(volwidget, vicious.widgets.volume, function(widget, args)
|
||||
widget.i:set_text(args[2] .. ' ')
|
||||
widget.w:set_value(args[1] / 100.0)
|
||||
widget.t:set_text(args[1] .. '%')
|
||||
end, 15, externals.sound.channel)
|
||||
-- }}}
|
||||
24
.config/awesome/widgets/wifi.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
-- {{{ OK: Wifi
|
||||
wifiwidget = {}
|
||||
wifiwidget.i = wibox.widget.imagebox()
|
||||
wifiwidget.w = wibox.widget.textbox()
|
||||
wifiwidget.t = awful.tooltip({ objects = { wifiwidget.w, wifiwidget.i } })
|
||||
wifiwidget.w:buttons(netwidget.b)
|
||||
wifiwidget.i:buttons(netwidget.b)
|
||||
vicious.register(wifiwidget, vicious.widgets.wifi, function(widget, args)
|
||||
if args['{ssid}'] == 'N/A' then
|
||||
widget.t:set_text('')
|
||||
widget.i:set_image(nil)
|
||||
widget.w:set_text('')
|
||||
else
|
||||
widget.t:set_text(
|
||||
'mode : ' .. args['{mode}'] .. '\n' ..
|
||||
'rate : ' .. args['{rate}'] .. ' Mbit/s\n' ..
|
||||
'channel : ' .. args['{chan}'] .. '\n' ..
|
||||
'strength: ' .. args['{sign}'] .. ' db'
|
||||
)
|
||||
widget.i:set_image(beautiful.widget_wifi)
|
||||
widget.w:set_text(' ' .. args['{ssid}'])
|
||||
end
|
||||
end, 67, 'wlan0')
|
||||
-- }}}
|
||||
25
.config/awesome/widgets/wth.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
-- {{{ OK: Weather
|
||||
wthwidget = {}
|
||||
wthwidget.w = widget({ type = "textbox" })
|
||||
wthwidget.t = awful.tooltip({
|
||||
objects = { wthwidget.w }
|
||||
})
|
||||
wthwidget.b = awful.util.table.join(
|
||||
awful.button({ }, 1, function ()
|
||||
vicious.force({ wthwidget })
|
||||
end),
|
||||
awful.button({ }, 3, function ()
|
||||
awful.util.spawn('firefox http://www.weathercity.com/by/minsk/')
|
||||
end)
|
||||
)
|
||||
wthwidget.w:buttons(wthwidget.b)
|
||||
vicious.register(wthwidget, vicious.widgets.weather, function(widget, args)
|
||||
widget.w:set_text(' ' .. args['{city}'] .. ': ' .. args['{tempc}'] .. 'C')
|
||||
widget.t:set_text(
|
||||
'Weather for ' .. args['{city}'] .. '\n' ..
|
||||
' wind : ' .. args['{wind}'] .. ' ' .. args['{windkmh}'] .. ' km/h\n' ..
|
||||
' sky : ' .. args['{sky}'] .. '\n' ..
|
||||
' humidity: ' .. args['{humid}'] .. '%\n' ..
|
||||
' pressure: ' .. args['{press}'] .. ' mm')
|
||||
end, 60 * 30 + 23, 'UMMS')
|
||||
-- }}}
|
||||
23
.config/htop/htoprc
Normal file
@@ -0,0 +1,23 @@
|
||||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||
# The parser is also very primitive, and not human-friendly.
|
||||
fields=20 0 48 38 39 2 46 47 49 1
|
||||
sort_key=46
|
||||
sort_direction=1
|
||||
hide_threads=0
|
||||
hide_kernel_threads=0
|
||||
hide_userland_threads=1
|
||||
shadow_other_users=0
|
||||
show_thread_names=0
|
||||
highlight_base_name=1
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
tree_view=1
|
||||
header_margin=0
|
||||
detailed_cpu_time=1
|
||||
cpu_count_from_zero=0
|
||||
color_scheme=0
|
||||
delay=15
|
||||
left_meters=AllCPUs Memory Swap
|
||||
left_meter_modes=1 1 1
|
||||
right_meters=Tasks LoadAverage Uptime Clock Battery
|
||||
right_meter_modes=2 2 2 2 2
|
||||
244
.dosbox/dosbox-0.74.conf
Normal file
@@ -0,0 +1,244 @@
|
||||
# This is the configurationfile for DOSBox 0.74. (Please use the latest version of DOSBox)
|
||||
# Lines starting with a # are commentlines and are ignored by DOSBox.
|
||||
# They are used to (briefly) document the effect of each option.
|
||||
|
||||
[sdl]
|
||||
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
|
||||
# fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
|
||||
# fullresolution: What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).
|
||||
# Using your monitor's native resolution with aspect=true might give the best results.
|
||||
# If you end up with small window on a large screen, try an output different from surface.
|
||||
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
|
||||
# (output=surface does not!)
|
||||
# output: What video system to use for output.
|
||||
# Possible values: surface, overlay, opengl, openglnb.
|
||||
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
|
||||
# sensitivity: Mouse sensitivity.
|
||||
# waitonerror: Wait before closing the console if dosbox has an error.
|
||||
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
|
||||
# pause is only valid for the second entry.
|
||||
# Possible values: lowest, lower, normal, higher, highest, pause.
|
||||
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the defaul value.
|
||||
# usescancodes: Avoid usage of symkeys, might not work on all operating systems.
|
||||
|
||||
fullscreen=false
|
||||
fulldouble=false
|
||||
fullresolution=original
|
||||
windowresolution=original
|
||||
output=surface
|
||||
autolock=true
|
||||
sensitivity=100
|
||||
waitonerror=true
|
||||
priority=higher,normal
|
||||
mapperfile=mapper-0.74.map
|
||||
usescancodes=true
|
||||
|
||||
[dosbox]
|
||||
# language: Select another language file.
|
||||
# machine: The type of machine tries to emulate.
|
||||
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
|
||||
# captures: Directory where things like wave, midi, screenshot get captured.
|
||||
# memsize: Amount of memory DOSBox has in megabytes.
|
||||
# This value is best left at its default to avoid problems with some games,
|
||||
# though few games might require a higher value.
|
||||
# There is generally no speed advantage when raising this value.
|
||||
|
||||
language=
|
||||
machine=svga_s3
|
||||
captures=capture
|
||||
memsize=16
|
||||
|
||||
[render]
|
||||
# frameskip: How many frames DOSBox skips before drawing one.
|
||||
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
|
||||
# scaler: Scaler used to enlarge/enhance low resolution modes.
|
||||
# If 'forced' is appended, then the scaler will be used even if the result might not be desired.
|
||||
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
|
||||
|
||||
frameskip=0
|
||||
aspect=false
|
||||
scaler=normal2x
|
||||
|
||||
[cpu]
|
||||
# core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.
|
||||
# Possible values: auto, dynamic, normal, simple.
|
||||
# cputype: CPU Type used in emulation. auto is the fastest choice.
|
||||
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
|
||||
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
|
||||
# Setting this value too high results in sound dropouts and lags.
|
||||
# Cycles can be set in 3 ways:
|
||||
# 'auto' tries to guess what a game needs.
|
||||
# It usually works, but can fail for certain games.
|
||||
# 'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.
|
||||
# (Example: fixed 4000).
|
||||
# 'max' will allocate as much cycles as your computer is able to handle.
|
||||
#
|
||||
# Possible values: auto, fixed, max.
|
||||
# cycleup: Amount of cycles to decrease/increase with keycombo.(CTRL-F11/CTRL-F12)
|
||||
# cycledown: Setting it lower than 100 will be a percentage.
|
||||
|
||||
core=auto
|
||||
cputype=auto
|
||||
cycles=auto
|
||||
cycleup=10
|
||||
cycledown=20
|
||||
|
||||
[mixer]
|
||||
# nosound: Enable silent mode, sound is still emulated though.
|
||||
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
|
||||
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
|
||||
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
|
||||
|
||||
nosound=false
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=20
|
||||
|
||||
[midi]
|
||||
# mpu401: Type of MPU-401 to emulate.
|
||||
# Possible values: intelligent, uart, none.
|
||||
# mididevice: Device that will receive the MIDI data from MPU-401.
|
||||
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
|
||||
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
|
||||
# See the README/Manual for more details.
|
||||
|
||||
mpu401=intelligent
|
||||
mididevice=default
|
||||
midiconfig=
|
||||
|
||||
[sblaster]
|
||||
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
|
||||
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
|
||||
# sbbase: The IO address of the soundblaster.
|
||||
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# irq: The IRQ number of the soundblaster.
|
||||
# Possible values: 7, 5, 3, 9, 10, 11, 12.
|
||||
# dma: The DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# hdma: The High DMA number of the soundblaster.
|
||||
# Possible values: 1, 5, 0, 3, 6, 7.
|
||||
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
|
||||
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
|
||||
# Possible values: auto, cms, opl2, dualopl2, opl3, none.
|
||||
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
|
||||
# Possible values: default, compat, fast.
|
||||
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
|
||||
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
|
||||
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=7
|
||||
dma=1
|
||||
hdma=5
|
||||
sbmixer=true
|
||||
oplmode=auto
|
||||
oplemu=default
|
||||
oplrate=44100
|
||||
|
||||
[gus]
|
||||
# gus: Enable the Gravis Ultrasound emulation.
|
||||
# gusrate: Sample rate of Ultrasound emulation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# gusbase: The IO base address of the Gravis Ultrasound.
|
||||
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
|
||||
# gusirq: The IRQ number of the Gravis Ultrasound.
|
||||
# Possible values: 5, 3, 7, 9, 10, 11, 12.
|
||||
# gusdma: The DMA channel of the Gravis Ultrasound.
|
||||
# Possible values: 3, 0, 1, 5, 6, 7.
|
||||
# ultradir: Path to Ultrasound directory. In this directory
|
||||
# there should be a MIDI directory that contains
|
||||
# the patch files for GUS playback. Patch sets used
|
||||
# with Timidity should work fine.
|
||||
|
||||
gus=false
|
||||
gusrate=44100
|
||||
gusbase=240
|
||||
gusirq=5
|
||||
gusdma=3
|
||||
ultradir=C:\ULTRASND
|
||||
|
||||
[speaker]
|
||||
# pcspeaker: Enable PC-Speaker emulation.
|
||||
# pcrate: Sample rate of the PC-Speaker sound generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
|
||||
# Possible values: auto, on, off.
|
||||
# tandyrate: Sample rate of the Tandy 3-Voice generation.
|
||||
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
|
||||
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
|
||||
|
||||
pcspeaker=true
|
||||
pcrate=44100
|
||||
tandy=auto
|
||||
tandyrate=44100
|
||||
disney=true
|
||||
|
||||
[joystick]
|
||||
# joysticktype: Type of joystick to emulate: auto (default), none,
|
||||
# 2axis (supports two joysticks),
|
||||
# 4axis (supports one joystick, first joystick used),
|
||||
# 4axis_2 (supports one joystick, second joystick used),
|
||||
# fcs (Thrustmaster), ch (CH Flightstick).
|
||||
# none disables joystick emulation.
|
||||
# auto chooses emulation depending on real joystick(s).
|
||||
# (Remember to reset dosbox's mapperfile if you saved it earlier)
|
||||
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
|
||||
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
|
||||
# autofire: continuously fires as long as you keep the button pressed.
|
||||
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
|
||||
# buttonwrap: enable button wrapping at the number of emulated buttons.
|
||||
|
||||
joysticktype=auto
|
||||
timed=true
|
||||
autofire=false
|
||||
swap34=false
|
||||
buttonwrap=false
|
||||
|
||||
[serial]
|
||||
# serial1: set type of device connected to com port.
|
||||
# Can be disabled, dummy, modem, nullmodem, directserial.
|
||||
# Additional parameters must be in the same line in the form of
|
||||
# parameter:value. Parameter for all types is irq (optional).
|
||||
# for directserial: realport (required), rxdelay (optional).
|
||||
# (realport:COM1 realport:ttyS0).
|
||||
# for modem: listenport (optional).
|
||||
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
|
||||
# transparent, port, inhsocket (all optional).
|
||||
# Example: serial1=modem listenport:5000
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial2: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial3: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
# serial4: see serial1
|
||||
# Possible values: dummy, disabled, modem, nullmodem, directserial.
|
||||
|
||||
serial1=dummy
|
||||
serial2=dummy
|
||||
serial3=disabled
|
||||
serial4=disabled
|
||||
|
||||
[dos]
|
||||
# xms: Enable XMS support.
|
||||
# ems: Enable EMS support.
|
||||
# umb: Enable UMB support.
|
||||
# keyboardlayout: Language code of the keyboard layout (or none).
|
||||
|
||||
xms=true
|
||||
ems=true
|
||||
umb=true
|
||||
keyboardlayout=auto
|
||||
|
||||
[ipx]
|
||||
# ipx: Enable ipx over UDP/IP emulation.
|
||||
|
||||
ipx=false
|
||||
|
||||
[autoexec]
|
||||
# Lines in this section will be run at startup.
|
||||
# You can put your MOUNT lines here.
|
||||
mount d ~/vbox/shared
|
||||
mount c ~/vbox/dos
|
||||
c:
|
||||
24
.gitconfig
Normal file
@@ -0,0 +1,24 @@
|
||||
[user]
|
||||
name = Artem Sheremet
|
||||
email = dot.doom@gmail.com
|
||||
[color]
|
||||
ui = auto
|
||||
[alias]
|
||||
co = checkout
|
||||
st = status
|
||||
di = diff -w --no-prefix
|
||||
df = diff
|
||||
dc = diff --cached
|
||||
ci = commit
|
||||
br = branch
|
||||
lg = log -p
|
||||
lol = log --graph --decorate --pretty=oneline --abbrev-commit
|
||||
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
|
||||
ls = ls-files
|
||||
|
||||
# Show files ignored by git:
|
||||
ign = ls-files -o -i --exclude-standard
|
||||
meta-fs = !/opt/bin/git-meta-fs
|
||||
|
||||
[apply]
|
||||
whitespace = nowarn
|
||||
14
.iftoprc
Normal file
@@ -0,0 +1,14 @@
|
||||
interface: eth0
|
||||
dns-resolution: yes
|
||||
port-resolution: no
|
||||
#filter-code: bpf
|
||||
show-bars: yes
|
||||
#promiscuous: (yes|no)
|
||||
port-display: on
|
||||
hide-source: yes
|
||||
hide-destination: no
|
||||
use-bytes: yes
|
||||
sort: 2s
|
||||
line-display: two-line
|
||||
show-totals: yes
|
||||
log-scale: no
|
||||
19
.local/share/applications/mimeapps.list
Normal file
@@ -0,0 +1,19 @@
|
||||
[Default Applications]
|
||||
x-scheme-handler/http=chromium-browser.desktop
|
||||
x-scheme-handler/https=chromium-browser.desktop
|
||||
text/html=chromium-browser.desktop
|
||||
application/pdf=xpdf.desktop
|
||||
x-scheme-handler/about=chromium-browser.desktop
|
||||
x-scheme-handler/unknown=chromium-browser.desktop
|
||||
video/x-ogm+ogg=rpmfusion-smplayer.desktop
|
||||
video/x-msvideo=rpmfusion-smplayer.desktop
|
||||
video/x-matroska=rpmfusion-smplayer.desktop
|
||||
|
||||
[Added Associations]
|
||||
video/x-ogm+ogg=rpmfusion-smplayer.desktop;totem.desktop;rpmfusion-smplayer_enqueue.desktop;
|
||||
video/x-msvideo=rpmfusion-smplayer.desktop;
|
||||
video/x-matroska=rpmfusion-smplayer.desktop;
|
||||
application/x-shellscript=gedit.desktop;
|
||||
application/x-ruby=gedit.desktop;
|
||||
application/x-wine-extension-vbs=gedit.desktop;
|
||||
application/x-shockwave-flash=chromium-browser.desktop;
|
||||
6
.my.cnf
Normal file
@@ -0,0 +1,6 @@
|
||||
[mysql]
|
||||
prompt = [\D][\h:\p][\v]\n<\U:\d>\nmysql\_\c\_\l\_
|
||||
pager = less -n -i -S -F -X
|
||||
auto-rehash
|
||||
user = root
|
||||
password = root
|
||||
491
.ncmpcpp/config
Normal file
@@ -0,0 +1,491 @@
|
||||
####################################################
|
||||
## this is example configuration file, copy it to ##
|
||||
## ~/.ncmpcpp/config and set up your preferences ##
|
||||
####################################################
|
||||
#
|
||||
##### directories ######
|
||||
##
|
||||
## Directory for storing ncmpcpp related files.
|
||||
## Changing it is useful if you want to store
|
||||
## everything somewhere else and provide command
|
||||
## line setting for alternative location to config
|
||||
## file which defines that while launching ncmpcpp.
|
||||
##
|
||||
#
|
||||
#ncmpcpp_directory = "~/.ncmpcpp"
|
||||
#
|
||||
##
|
||||
## Directory for storing downloaded lyrics. It
|
||||
## defaults to ~/.lyrics since other MPD clients
|
||||
## (eg. ncmpc) also use that location.
|
||||
##
|
||||
#
|
||||
#lyrics_directory = "~/.lyrics"
|
||||
#
|
||||
##### connection settings #####
|
||||
#
|
||||
## set it in order to make tag editor and renaming files work properly
|
||||
#
|
||||
#mpd_host = "localhost"
|
||||
#
|
||||
#mpd_port = "6600"
|
||||
#
|
||||
mpd_music_dir = "/home/music"
|
||||
#
|
||||
#mpd_connection_timeout = "5"
|
||||
#
|
||||
#mpd_crossfade_time = "5"
|
||||
#
|
||||
#mpd_communication_mode = "notifications" (polling/notifications)
|
||||
#
|
||||
##### music visualizer #####
|
||||
##
|
||||
## Note: In order to make music visualizer work you'll
|
||||
## need to use mpd fifo output, whose format parameter
|
||||
## has to be set to 44100:16:1 for mono visualization
|
||||
## or 44100:16:2 for stereo visualization. Example
|
||||
## configuration (it has to be put into mpd.conf):
|
||||
##
|
||||
## audio_output {
|
||||
## type "fifo"
|
||||
## name "My FIFO"
|
||||
## path "/tmp/mpd.fifo"
|
||||
## format "44100:16:2"
|
||||
## }
|
||||
##
|
||||
#
|
||||
##
|
||||
## If you set format to 44100:16:2, make it 'yes'.
|
||||
##
|
||||
#
|
||||
#visualizer_in_stereo = "no"
|
||||
#
|
||||
#visualizer_fifo_path = ""
|
||||
#
|
||||
##
|
||||
## Note: Below parameter is needed for ncmpcpp
|
||||
## to determine which output provides data for
|
||||
## visualizer and thus allow syncing between
|
||||
## visualization and sound as currently there
|
||||
## are some problems with it.
|
||||
##
|
||||
#
|
||||
#visualizer_output_name = ""
|
||||
#
|
||||
##
|
||||
## Note: Below parameter defines how often ncmpcpp
|
||||
## has to "synchronize" visualizer and audio outputs.
|
||||
## 30 seconds is optimal value, but if you experience
|
||||
## synchronization problems, set it to lower value.
|
||||
## Keep in mind that sane values start with >=10.
|
||||
##
|
||||
#
|
||||
#visualizer_sync_interval = "30"
|
||||
#
|
||||
##
|
||||
## Note: To enable spectrum frequency visualization
|
||||
## you need to compile ncmpcpp with fftw3 support.
|
||||
##
|
||||
#
|
||||
#visualizer_type = "wave" (spectrum/wave)
|
||||
#
|
||||
#visualizer_look = "◆│"
|
||||
#
|
||||
##### system encoding #####
|
||||
##
|
||||
## ncmpcpp should detect your charset encoding
|
||||
## but if it failed to do so, you can specify
|
||||
## charset encoding you are using here.
|
||||
##
|
||||
## Note: You can see whether your ncmpcpp build
|
||||
## supports charset detection by checking output
|
||||
## of `ncmpcpp --version`.
|
||||
##
|
||||
## Note: Since MPD uses utf8 by default, setting
|
||||
## this option makes sense only if your encoding
|
||||
## is different.
|
||||
##
|
||||
#
|
||||
#system_encoding = ""
|
||||
#
|
||||
##### delays #####
|
||||
#
|
||||
## delay after playlist highlighting will be disabled (0 = don't disable)
|
||||
#
|
||||
#playlist_disable_highlight_delay = "5"
|
||||
#
|
||||
## defines how long various messages are supposed to be visible
|
||||
#
|
||||
#message_delay_time = "4"
|
||||
#
|
||||
##### song format #####
|
||||
##
|
||||
## for song format you can use:
|
||||
##
|
||||
## %l - length
|
||||
## %f - filename
|
||||
## %D - directory
|
||||
## %a - artist
|
||||
## %A - album artist
|
||||
## %t - title
|
||||
## %b - album
|
||||
## %y - year
|
||||
## %n - track number (01/12 -> 01)
|
||||
## %N - full track info (01/12 -> 01/12)
|
||||
## %g - genre
|
||||
## %c - composer
|
||||
## %p - performer
|
||||
## %d - disc
|
||||
## %C - comment
|
||||
## $R - begin right alignment
|
||||
##
|
||||
## you can also put them in { } and then it will be displayed
|
||||
## only if all requested values are available and/or define alternate
|
||||
## value with { }|{ } eg. {%a - %t}|{%f}
|
||||
##
|
||||
## Note: If you want to set limit on maximal length of a tag, just
|
||||
## put the appropriate number between % and character that defines
|
||||
## tag type, e.g. to make album take max. 20 terminal cells, use '%20b'.
|
||||
##
|
||||
## Note: Format that is similar to "%a - %t" (i.e. without any additional
|
||||
## braces) is equal to "{%a - %t}", so if one of the tags is missing,
|
||||
## you'll get nothing.
|
||||
##
|
||||
## text can also have different color than the main window has,
|
||||
## eg. if you want length to be green, write $3%l$9
|
||||
##
|
||||
## available values:
|
||||
##
|
||||
## - 0 - default window color (discards all other colors)
|
||||
## - 1 - black
|
||||
## - 2 - red
|
||||
## - 3 - green
|
||||
## - 4 - yellow
|
||||
## - 5 - blue
|
||||
## - 6 - magenta
|
||||
## - 7 - cyan
|
||||
## - 8 - white
|
||||
## - 9 - end of current color
|
||||
##
|
||||
## Note: colors can be nested.
|
||||
##
|
||||
#
|
||||
#song_list_format = "{%a - }{%t}|{$8%f$9}$R{$3(%l)$9}"
|
||||
#
|
||||
#song_status_format = "{{%a{ \"%b\"{ (%y)}} - }{%t}}|{%f}"
|
||||
#
|
||||
#song_library_format = "{%n - }{%t}|{%f}"
|
||||
#
|
||||
#tag_editor_album_format = "{(%y) }%b"
|
||||
#
|
||||
##
|
||||
## Note: Below variables are for alternative version of user's interface.
|
||||
## Their syntax supports all tags and colors listed above plus some extra
|
||||
## markers used for text attributes. They are followed by character '$'.
|
||||
## After that you can put:
|
||||
##
|
||||
## - b - bold text
|
||||
## - u - underline text
|
||||
## - r - reverse colors
|
||||
## - a - use alternative character set
|
||||
##
|
||||
## If you don't want to use an attribute anymore, just put it again, but
|
||||
## this time insert character '/' between '$' and attribute character,
|
||||
## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename
|
||||
## with reversed colors.
|
||||
##
|
||||
#
|
||||
#alternative_header_first_line_format = "$b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b"
|
||||
#
|
||||
#alternative_header_second_line_format = "{{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}"
|
||||
#
|
||||
##
|
||||
## Note: Below variables also supports
|
||||
## text attributes listed above.
|
||||
##
|
||||
#
|
||||
#now_playing_prefix = "$b"
|
||||
#
|
||||
#now_playing_suffix = "$/b"
|
||||
#
|
||||
#browser_playlist_prefix = "$2playlist$9 "
|
||||
#
|
||||
#selected_item_prefix = "$6"
|
||||
#
|
||||
#selected_item_suffix = "$9"
|
||||
#
|
||||
## colors are not supported for below variable
|
||||
#
|
||||
#song_window_title_format = "{%a - }{%t}|{%f}"
|
||||
#
|
||||
##### columns settings #####
|
||||
##
|
||||
## syntax of song columns list format is "column column etc."
|
||||
##
|
||||
## - syntax for each column is:
|
||||
##
|
||||
## (width of column)[column's color]{displayed tag}
|
||||
##
|
||||
## Note: Width is by default in %, if you want a column to
|
||||
## have fixed size, add 'f' after the value, e.g. (10)[white]{a}
|
||||
## will be the column that take 10% of screen (so the real column's
|
||||
## width will depend on actual screen size), whereas (10f)[white]{a}
|
||||
## will take 10 terminal cells, no matter how wide the screen is.
|
||||
##
|
||||
## - color is optional (if you want the default one, type [])
|
||||
##
|
||||
## Note: You can give a column additional attributes by putting appropriate
|
||||
## character after displayed tag character. Available attributes are:
|
||||
##
|
||||
## - r - column will be right aligned
|
||||
## - E - if tag is empty, empty tag marker won't be displayed
|
||||
##
|
||||
## You can also:
|
||||
##
|
||||
## - give a column custom name by putting it after attributes,
|
||||
## separated with character ':', e.g. {lr:Length} gives you
|
||||
## right aligned column of lengths named "Length".
|
||||
##
|
||||
## - define sequence of tags, that have to be displayed in case
|
||||
## predecessor is empty in a way similar to the one in classic
|
||||
## song format, i.e. using '|' character, e.g. {a|c|p:Owner}
|
||||
## creates column named "Owner" that tries to display artist
|
||||
## tag and then composer and performer if previous ones are
|
||||
## not available.
|
||||
##
|
||||
#
|
||||
#song_columns_list_format = "(7f)[green]{l} (25)[cyan]{a} (40)[]{t|f} (30)[red]{b}"
|
||||
#
|
||||
##### various settings #####
|
||||
#
|
||||
##
|
||||
## Note: Custom command that will be executed each
|
||||
## time song changes. Useful for notifications etc.
|
||||
##
|
||||
## Attention: It doesn't support song format anymore.
|
||||
## Use `ncmpcpp --now-playing SONG_FORMAT` instead.
|
||||
##
|
||||
#execute_on_song_change = ""
|
||||
#
|
||||
#playlist_show_remaining_time = "no"
|
||||
#
|
||||
#playlist_shorten_total_times = "no"
|
||||
#
|
||||
#playlist_separate_albums = "no"
|
||||
#
|
||||
#playlist_display_mode = "classic" (classic/columns)
|
||||
#
|
||||
#browser_display_mode = "classic" (classic/columns)
|
||||
#
|
||||
#search_engine_display_mode = "classic" (classic/columns)
|
||||
#
|
||||
#playlist_editor_display_mode = "classic" (classic/columns)
|
||||
#
|
||||
#discard_colors_if_item_is_selected = "yes"
|
||||
#
|
||||
#incremental_seeking = "yes"
|
||||
#
|
||||
#seek_time = "1"
|
||||
#
|
||||
#autocenter_mode = "no"
|
||||
#
|
||||
#centered_cursor = "no"
|
||||
#
|
||||
##
|
||||
## Note: You can specify third character which will
|
||||
## be used to build 'empty' part of progressbar.
|
||||
##
|
||||
#progressbar_look = "=>"
|
||||
#
|
||||
#default_place_to_search_in = "database" (database/playlist)
|
||||
#
|
||||
#user_interface = "classic" (classic/alternative)
|
||||
#
|
||||
#media_library_left_column = "a" (possible values: a,y,g,c,p, legend above)
|
||||
#
|
||||
#default_find_mode = "wrapped" (wrapped/normal)
|
||||
#
|
||||
#default_space_mode = "add" (add/select)
|
||||
#
|
||||
#default_tag_editor_left_col = "albums" (albums/dirs)
|
||||
#
|
||||
#default_tag_editor_pattern = "%n - %t"
|
||||
#
|
||||
#header_visibility = "yes"
|
||||
#
|
||||
#statusbar_visibility = "yes"
|
||||
#
|
||||
#titles_visibility = "yes"
|
||||
#
|
||||
#header_text_scrolling = "yes"
|
||||
#
|
||||
#fancy_scrolling = "yes"
|
||||
#
|
||||
#cyclic_scrolling = "no"
|
||||
#
|
||||
#lines_scrolled = "2"
|
||||
#
|
||||
#follow_now_playing_lyrics = "no"
|
||||
#
|
||||
#fetch_lyrics_for_current_song_in_background = "no"
|
||||
#
|
||||
#store_lyrics_in_song_dir = "no"
|
||||
#
|
||||
##
|
||||
## Note: If you set this variable, ncmpcpp will try to
|
||||
## get info from last.fm in language you set and if it
|
||||
## fails, it will fall back to english. Otherwise it will
|
||||
## use english the first time.
|
||||
##
|
||||
## Note: Language has to be expressed as an ISO 639 alpha-2 code.
|
||||
##
|
||||
#lastfm_preferred_language = ""
|
||||
#
|
||||
#ncmpc_like_songs_adding = "no" (enabled - add/remove, disabled - always add)
|
||||
#
|
||||
#show_hidden_files_in_local_browser = "no"
|
||||
#
|
||||
#display_screens_numbers_on_start = "yes"
|
||||
#
|
||||
##
|
||||
## How shall key_screen_switcher work?
|
||||
##
|
||||
## - "previous" - switch between current and last used screen
|
||||
## - "sequence: 2 -> 9 -> 5" - switch between given sequence of screens.
|
||||
##
|
||||
## Screen numbers you can use after 'sequence' keyword are:
|
||||
##
|
||||
## - 1 - help
|
||||
## - 2 - playlist
|
||||
## - 3 - browser
|
||||
## - 4 - search engine
|
||||
## - 5 - media library
|
||||
## - 6 - playlist editor
|
||||
## - 7 - tag editor
|
||||
## - 8 - outputs
|
||||
## - 9 - visualizer
|
||||
## - 10 - clock
|
||||
##
|
||||
## As you can see, above example will switch between
|
||||
## playlist, visualizer and media library screens.
|
||||
##
|
||||
#screen_switcher_mode = "sequence: 2 -> 3"
|
||||
#
|
||||
##
|
||||
## Default width of locked screen (in %).
|
||||
## Acceptable values are from 20 to 80.
|
||||
##
|
||||
#
|
||||
#locked_screen_width_part = "50"
|
||||
#
|
||||
#ask_for_locked_screen_width_part = "yes"
|
||||
#
|
||||
##
|
||||
## Note: You can define startup screen for ncmpcpp
|
||||
## by choosing screen number from the list above.
|
||||
##
|
||||
#startup_screen = "2"
|
||||
#
|
||||
#jump_to_now_playing_song_at_start = "yes"
|
||||
#
|
||||
#ask_before_clearing_main_playlist = "no"
|
||||
#
|
||||
#clock_display_seconds = "no"
|
||||
#
|
||||
#display_volume_level = "yes"
|
||||
#
|
||||
#display_bitrate = "no"
|
||||
#
|
||||
#display_remaining_time = "no"
|
||||
#
|
||||
#regular_expressions = "basic" (basic/extended)
|
||||
#
|
||||
##
|
||||
## Note: If below is enabled, ncmpcpp will ignore leading
|
||||
## "The" word while sorting items in browser, tags in
|
||||
## media library, etc.
|
||||
##
|
||||
#ignore_leading_the = "no"
|
||||
#
|
||||
#block_search_constraints_change_if_items_found = "yes"
|
||||
#
|
||||
#mouse_support = "yes"
|
||||
#
|
||||
#mouse_list_scroll_whole_page = "yes"
|
||||
#
|
||||
#empty_tag_marker = "<empty>"
|
||||
#
|
||||
#tag_editor_extended_numeration = "no"
|
||||
#
|
||||
#media_library_display_date = "yes"
|
||||
#
|
||||
#media_library_display_empty_tag = "yes"
|
||||
#
|
||||
#media_library_disable_two_column_mode = "no"
|
||||
#
|
||||
#enable_window_title = "yes"
|
||||
#
|
||||
##
|
||||
## Note: You can choose default search mode for search
|
||||
## engine. Available modes are:
|
||||
##
|
||||
## - 1 - use mpd built-in searching (no regexes, pattern matching)
|
||||
## - 2 - use ncmpcpp searching (pattern matching with support for regexes,
|
||||
## but if your mpd is on a remote machine, downloading big database
|
||||
## to process it can take a while
|
||||
## - 3 - match only exact values (this mode uses mpd function for searching
|
||||
## in database and local one for searching in current playlist)
|
||||
##
|
||||
#
|
||||
#search_engine_default_search_mode = "1"
|
||||
#
|
||||
##
|
||||
## Note: Below variables can allow you to physically
|
||||
## remove files and directories from your hdd using
|
||||
## ncmpcpp's browser screen.
|
||||
##
|
||||
#
|
||||
allow_physical_files_deletion = "yes"
|
||||
#
|
||||
allow_physical_directories_deletion = "yes"
|
||||
#
|
||||
#external_editor = ""
|
||||
#
|
||||
#use_console_editor = "no" (set to yes, if your editor is console app)
|
||||
#
|
||||
##### colors definitions #####
|
||||
#
|
||||
#colors_enabled = "yes"
|
||||
#
|
||||
#empty_tag_color = "cyan"
|
||||
#
|
||||
#header_window_color = "default"
|
||||
#
|
||||
#volume_color = "default"
|
||||
#
|
||||
#state_line_color = "default"
|
||||
#
|
||||
#state_flags_color = "default"
|
||||
#
|
||||
#main_window_color = "yellow"
|
||||
#
|
||||
#color1 = "white"
|
||||
#
|
||||
#color2 = "green"
|
||||
#
|
||||
#main_window_highlight_color = "yellow"
|
||||
#
|
||||
#progressbar_color = "default"
|
||||
#
|
||||
#statusbar_color = "default"
|
||||
#
|
||||
#alternative_ui_separator_color = "black"
|
||||
#
|
||||
#active_column_color = "red"
|
||||
#
|
||||
#visualizer_color = "yellow"
|
||||
#
|
||||
#window_border_color = "green"
|
||||
#
|
||||
#active_window_border = "red"
|
||||
#
|
||||
137
.rc
Normal file
@@ -0,0 +1,137 @@
|
||||
. /etc/profile
|
||||
|
||||
export EDITOR=vim
|
||||
export BROWSER=chromium
|
||||
export PAGER='less -R -F -X -S -n -i'
|
||||
export PATH="$HOME/bin:$HOME/.rvm/bin:/opt/bin:$HOME/.gem/ruby/1.9.1/bin:/usr/bin/vendor_perl:$PATH"
|
||||
export GTK_IM_MODULE=xim
|
||||
export GIT_COMMITTER_NAME='Artem Sheremet'
|
||||
export GIT_COMMITTER_EMAIL='dot.doom@gmail.com'
|
||||
|
||||
# redefinitions
|
||||
if [ "$(uname -s)" = "Linux" ]; then
|
||||
LS_VER=`/bin/ls --version | head -1 | cut -d' ' -f4`
|
||||
LS_VER_INT=`echo $LS_VER | cut -d'.' -f1`
|
||||
if [ $LS_VER_INT -lt 8 ]; then
|
||||
alias ls='ls -hF --color=auto'
|
||||
else
|
||||
alias ls='ls -hF --color=auto --group-directories-first'
|
||||
fi
|
||||
alias pgrep='pgrep -lf'
|
||||
alias crontab='crontab -i'
|
||||
elif [ "$(uname -s)" = "FreeBSD" ]; then
|
||||
export LSCOLORS=ExGxFxFxCxdxDxabagacac
|
||||
alias ls='ls -hFIG'
|
||||
alias pgrep='pgrep -laf'
|
||||
alias stat="/usr/bin/stat -f \" File: '%N'%SY%n Size: %-15z Blocks: %-10b IO Block: %-6k %HT%nDevice: %7Hr/%-7Lr Inode: %-11i Links: %l%nAccess: (%Mp%Lp/%Sp) Uid: (%5u/%8Su) Gid: (%5g/%8Sg)%nAccess: %Sa%nModify: %Sm%nChange: %Sc%n Birth: %SB\" -t '%F %T %z'"
|
||||
fi
|
||||
alias nc='nc -vv'
|
||||
alias killall='killall -v'
|
||||
alias scrot='scrot -e "mv \$f ~/screenshots/ 2>/dev/null" -cd 5'
|
||||
alias qiv='qiv -fml -M'
|
||||
alias qivr='qiv -u'
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='grep -Frn --color=always'
|
||||
alias figrep='fgrep -i'
|
||||
alias svn='svn --no-auth-cache'
|
||||
alias mysql='mysql --select_limit=1000'
|
||||
alias ka='killall'
|
||||
alias fsck='fsck -C'
|
||||
alias pager=$PAGER
|
||||
alias npager='pager -N'
|
||||
alias l='ls -lA'
|
||||
alias ds='du -sh'
|
||||
alias la='cat /proc/loadavg'
|
||||
alias ipt='iptables -nvL --line-numbers'
|
||||
alias psa='ps axfo pid,euser,bsdstart,vsz,rss,bsdtime,args'
|
||||
alias parent='ps -p $PPID -o comm='
|
||||
alias dbgrep='dbgrep.pl -vpuroot'
|
||||
|
||||
# LOL protect me
|
||||
alias mv='mv -i'
|
||||
alias cp='cp -i'
|
||||
alias rm='rm -i'
|
||||
|
||||
# git aliases
|
||||
alias gb='git branch'
|
||||
alias gba='git branch -av'
|
||||
alias gc='git commit -v'
|
||||
alias gd='git di'
|
||||
alias gdc='gd --cached'
|
||||
alias gl='git pull'
|
||||
alias gp='git push'
|
||||
alias gst='git status'
|
||||
|
||||
# sudo
|
||||
alias sudo='sudo -E '
|
||||
|
||||
# work
|
||||
RAILS=~/netmri/netmri/src/app/rails
|
||||
alias rmunv='rm $(svn st | grep "^?" | sed -r "s/^\? +//")'
|
||||
alias webui='cd $webui'
|
||||
|
||||
# useful stuff
|
||||
[ -z "$VIM_ORIGINAL" ] && VIM_ORIGINAL="$(which vim)"
|
||||
function vim() {
|
||||
local COMPAT_TERM="xterm-256color"
|
||||
# we only handle single-argument VIM
|
||||
if [ $# -eq 1 ]; then
|
||||
if [ -e "$1" ]; then
|
||||
# editing an existing file
|
||||
FILENAME="$1"
|
||||
else
|
||||
# trying to create new file, will check it's directory for WRITE access
|
||||
FILENAME="`dirname $1 2>/dev/null`"
|
||||
fi
|
||||
|
||||
if [ -w "$FILENAME" ]; then
|
||||
# yahoo! writable
|
||||
TERM=$COMPAT_TERM "$VIM_ORIGINAL" "$1"
|
||||
else
|
||||
echo 'this file will be opened with sudo'
|
||||
TERM=$COMPAT_TERM sudo "$VIM_ORIGINAL" "$1" || "$VIM_ORIGINAL" "$1"
|
||||
fi
|
||||
else
|
||||
TERM=$COMPAT_TERM "$VIM_ORIGINAL" $*
|
||||
fi
|
||||
}
|
||||
|
||||
function mkcd() {
|
||||
mkdir -p $@
|
||||
cd $@
|
||||
}
|
||||
function cpcd() {
|
||||
cp $@
|
||||
cd $_
|
||||
}
|
||||
function cdls() {
|
||||
cd $@
|
||||
ls
|
||||
}
|
||||
|
||||
function fin() {
|
||||
local filename="$1"
|
||||
shift
|
||||
find $* -iname "*$filename*"
|
||||
}
|
||||
|
||||
if [ -r ~/.rc_local ]; then
|
||||
. ~/.rc_local
|
||||
fi
|
||||
|
||||
if [ -x "$(which dircolors 2>/dev/null)" ]; then
|
||||
eval $(dircolors)
|
||||
fi
|
||||
|
||||
webui="$RAILS"
|
||||
|
||||
case $- in
|
||||
*i*)
|
||||
# only with interactive non-sudo shell
|
||||
if [ -n "$SSH_CLIENT" ] && [ -z "$SUDO_UID" ]; then
|
||||
[ "$(parent)" = "screen" ] || screen -RR
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# vim: ft=sh
|
||||
8
.screenrc
Normal file
@@ -0,0 +1,8 @@
|
||||
vbell off
|
||||
startup_message off
|
||||
defscrollback 10240
|
||||
caption always "%{+b}%H | %c %d.%m.%Y | Load: %l"
|
||||
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
|
||||
bindkey -k F1 prev
|
||||
bindkey -k F2 next
|
||||
#%?%{yk}%-Lw%?%{wb}%n*%f %t%?(%u)%?%?%{yk}%+Lw%?"
|
||||
124
.subversion/README.txt
Normal file
@@ -0,0 +1,124 @@
|
||||
This directory holds run-time configuration information for Subversion
|
||||
clients. The configuration files all share the same syntax, but you
|
||||
should examine a particular file to learn what configuration
|
||||
directives are valid for that file.
|
||||
|
||||
The syntax is standard INI format:
|
||||
|
||||
- Empty lines, and lines starting with '#', are ignored.
|
||||
The first significant line in a file must be a section header.
|
||||
|
||||
- A section starts with a section header, which must start in
|
||||
the first column:
|
||||
|
||||
[section-name]
|
||||
|
||||
- An option, which must always appear within a section, is a pair
|
||||
(name, value). There are two valid forms for defining an
|
||||
option, both of which must start in the first column:
|
||||
|
||||
name: value
|
||||
name = value
|
||||
|
||||
Whitespace around the separator (:, =) is optional.
|
||||
|
||||
- Section and option names are case-insensitive, but case is
|
||||
preserved.
|
||||
|
||||
- An option's value may be broken into several lines. The value
|
||||
continuation lines must start with at least one whitespace.
|
||||
Trailing whitespace in the previous line, the newline character
|
||||
and the leading whitespace in the continuation line is compressed
|
||||
into a single space character.
|
||||
|
||||
- All leading and trailing whitespace around a value is trimmed,
|
||||
but the whitespace within a value is preserved, with the
|
||||
exception of whitespace around line continuations, as
|
||||
described above.
|
||||
|
||||
- When a value is a boolean, any of the following strings are
|
||||
recognised as truth values (case does not matter):
|
||||
|
||||
true false
|
||||
yes no
|
||||
on off
|
||||
1 0
|
||||
|
||||
- When a value is a list, it is comma-separated. Again, the
|
||||
whitespace around each element of the list is trimmed.
|
||||
|
||||
- Option values may be expanded within a value by enclosing the
|
||||
option name in parentheses, preceded by a percent sign and
|
||||
followed by an 's':
|
||||
|
||||
%(name)s
|
||||
|
||||
The expansion is performed recursively and on demand, during
|
||||
svn_option_get. The name is first searched for in the same
|
||||
section, then in the special [DEFAULT] section. If the name
|
||||
is not found, the whole '%(name)s' placeholder is left
|
||||
unchanged.
|
||||
|
||||
Any modifications to the configuration data invalidate all
|
||||
previously expanded values, so that the next svn_option_get
|
||||
will take the modifications into account.
|
||||
|
||||
The syntax of the configuration files is a subset of the one used by
|
||||
Python's ConfigParser module; see
|
||||
|
||||
http://www.python.org/doc/current/lib/module-ConfigParser.html
|
||||
|
||||
Configuration data in the Windows registry
|
||||
==========================================
|
||||
|
||||
On Windows, configuration data may also be stored in the registry. The
|
||||
functions svn_config_read and svn_config_merge will read from the
|
||||
registry when passed file names of the form:
|
||||
|
||||
REGISTRY:<hive>/path/to/config-key
|
||||
|
||||
The REGISTRY: prefix must be in upper case. The <hive> part must be
|
||||
one of:
|
||||
|
||||
HKLM for HKEY_LOCAL_MACHINE
|
||||
HKCU for HKEY_CURRENT_USER
|
||||
|
||||
The values in config-key represent the options in the [DEFAULT] section.
|
||||
The keys below config-key represent other sections, and their values
|
||||
represent the options. Only values of type REG_SZ whose name doesn't
|
||||
start with a '#' will be used; other values, as well as the keys'
|
||||
default values, will be ignored.
|
||||
|
||||
|
||||
File locations
|
||||
==============
|
||||
|
||||
Typically, Subversion uses two config directories, one for site-wide
|
||||
configuration,
|
||||
|
||||
Unix:
|
||||
/etc/subversion/servers
|
||||
/etc/subversion/config
|
||||
/etc/subversion/hairstyles
|
||||
Windows:
|
||||
%ALLUSERSPROFILE%\Application Data\Subversion\servers
|
||||
%ALLUSERSPROFILE%\Application Data\Subversion\config
|
||||
%ALLUSERSPROFILE%\Application Data\Subversion\hairstyles
|
||||
REGISTRY:HKLM\Software\Tigris.org\Subversion\Servers
|
||||
REGISTRY:HKLM\Software\Tigris.org\Subversion\Config
|
||||
REGISTRY:HKLM\Software\Tigris.org\Subversion\Hairstyles
|
||||
|
||||
and one for per-user configuration:
|
||||
|
||||
Unix:
|
||||
~/.subversion/servers
|
||||
~/.subversion/config
|
||||
~/.subversion/hairstyles
|
||||
Windows:
|
||||
%APPDATA%\Subversion\servers
|
||||
%APPDATA%\Subversion\config
|
||||
%APPDATA%\Subversion\hairstyles
|
||||
REGISTRY:HKCU\Software\Tigris.org\Subversion\Servers
|
||||
REGISTRY:HKCU\Software\Tigris.org\Subversion\Config
|
||||
REGISTRY:HKCU\Software\Tigris.org\Subversion\Hairstyles
|
||||
|
||||
17
.subversion/auth/svn.simple/66a0d2816fc666be68f593a8d7f2cfce
Normal file
@@ -0,0 +1,17 @@
|
||||
K 8
|
||||
passtype
|
||||
V 6
|
||||
simple
|
||||
K 8
|
||||
password
|
||||
V 10
|
||||
4025514pwf
|
||||
K 15
|
||||
svn:realmstring
|
||||
V 63
|
||||
<svn://dotdoom.zapto.org:3690> configuration files for home dir
|
||||
K 8
|
||||
username
|
||||
V 5
|
||||
artem
|
||||
END
|
||||
148
.subversion/config
Normal file
@@ -0,0 +1,148 @@
|
||||
### This file configures various client-side behaviors.
|
||||
###
|
||||
### The commented-out examples below are intended to demonstrate
|
||||
### how to use this file.
|
||||
|
||||
### Section for authentication and authorization customizations.
|
||||
[auth]
|
||||
### Set password stores used by Subversion. They should be
|
||||
### delimited by spaces or commas. The order of values determines
|
||||
### the order in which password stores are used.
|
||||
### Valid password stores:
|
||||
### gnome-keyring (Unix-like systems)
|
||||
### kwallet (Unix-like systems)
|
||||
### keychain (Mac OS X)
|
||||
### windows-cryptoapi (Windows)
|
||||
# password-stores = gnome-keyring,kwallet
|
||||
###
|
||||
### Set KWallet wallet used by Subversion. If empty or unset,
|
||||
### then the default network wallet will be used.
|
||||
# kwallet-wallet =
|
||||
###
|
||||
### Include PID (Process ID) in Subversion application name when
|
||||
### using KWallet. It defaults to 'no'.
|
||||
# kwallet-svn-application-name-with-pid = yes
|
||||
###
|
||||
### The rest of this section in this file has been deprecated.
|
||||
### Both 'store-passwords' and 'store-auth-creds' can now be
|
||||
### specified in the 'servers' file in your config directory.
|
||||
### Anything specified in this section is overridden by settings
|
||||
### specified in the 'servers' file.
|
||||
###
|
||||
### Set store-passwords to 'no' to avoid storing passwords in the
|
||||
### auth/ area of your config directory. It defaults to 'yes',
|
||||
### but Subversion will never save your password to disk in
|
||||
### plaintext unless you tell it to (see the 'servers' file).
|
||||
### Note that this option only prevents saving of *new* passwords;
|
||||
### it doesn't invalidate existing passwords. (To do that, remove
|
||||
### the cache files by hand as described in the Subversion book.)
|
||||
store-passwords = yes
|
||||
### Set store-auth-creds to 'no' to avoid storing any subversion
|
||||
### credentials in the auth/ area of your config directory.
|
||||
### It defaults to 'yes'. Note that this option only prevents
|
||||
### saving of *new* credentials; it doesn't invalidate existing
|
||||
### caches. (To do that, remove the cache files by hand.)
|
||||
# store-auth-creds = no
|
||||
|
||||
### Section for configuring external helper applications.
|
||||
[helpers]
|
||||
### Set editor-cmd to the command used to invoke your text editor.
|
||||
### This will override the environment variables that Subversion
|
||||
### examines by default to find this information ($EDITOR,
|
||||
### et al).
|
||||
# editor-cmd = editor (vi, emacs, notepad, etc.)
|
||||
### Set diff-cmd to the absolute path of your 'diff' program.
|
||||
### This will override the compile-time default, which is to use
|
||||
### Subversion's internal diff implementation.
|
||||
# diff-cmd = diff_program (diff, gdiff, etc.)
|
||||
### Set diff3-cmd to the absolute path of your 'diff3' program.
|
||||
### This will override the compile-time default, which is to use
|
||||
### Subversion's internal diff3 implementation.
|
||||
# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
|
||||
### Set diff3-has-program-arg to 'yes' if your 'diff3' program
|
||||
### accepts the '--diff-program' option.
|
||||
# diff3-has-program-arg = [yes | no]
|
||||
### Set merge-tool-cmd to the command used to invoke your external
|
||||
### merging tool of choice. Subversion will pass 4 arguments to
|
||||
### the specified command: base theirs mine merged
|
||||
# merge-tool-cmd = merge_command
|
||||
|
||||
### Section for configuring tunnel agents.
|
||||
[tunnels]
|
||||
### Configure svn protocol tunnel schemes here. By default, only
|
||||
### the 'ssh' scheme is defined. You can define other schemes to
|
||||
### be used with 'svn+scheme://hostname/path' URLs. A scheme
|
||||
### definition is simply a command, optionally prefixed by an
|
||||
### environment variable name which can override the command if it
|
||||
### is defined. The command (or environment variable) may contain
|
||||
### arguments, using standard shell quoting for arguments with
|
||||
### spaces. The command will be invoked as:
|
||||
### <command> <hostname> svnserve -t
|
||||
### (If the URL includes a username, then the hostname will be
|
||||
### passed to the tunnel agent as <user>@<hostname>.) If the
|
||||
### built-in ssh scheme were not predefined, it could be defined
|
||||
### as:
|
||||
# ssh = $SVN_SSH ssh -q
|
||||
### If you wanted to define a new 'rsh' scheme, to be used with
|
||||
### 'svn+rsh:' URLs, you could do so as follows:
|
||||
# rsh = rsh
|
||||
### Or, if you wanted to specify a full path and arguments:
|
||||
# rsh = /path/to/rsh -l myusername
|
||||
### On Windows, if you are specifying a full path to a command,
|
||||
### use a forward slash (/) or a paired backslash (\\) as the
|
||||
### path separator. A single backslash will be treated as an
|
||||
### escape for the following character.
|
||||
|
||||
### Section for configuring miscelleneous Subversion options.
|
||||
[miscellany]
|
||||
### Set global-ignores to a set of whitespace-delimited globs
|
||||
### which Subversion will ignore in its 'status' output, and
|
||||
### while importing or adding files and directories.
|
||||
### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'.
|
||||
# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
|
||||
# *.rej *~ #*# .#* .*.swp .DS_Store
|
||||
### Set log-encoding to the default encoding for log messages
|
||||
# log-encoding = latin1
|
||||
### Set use-commit-times to make checkout/update/switch/revert
|
||||
### put last-committed timestamps on every file touched.
|
||||
# use-commit-times = yes
|
||||
### Set no-unlock to prevent 'svn commit' from automatically
|
||||
### releasing locks on files.
|
||||
# no-unlock = yes
|
||||
### Set mime-types-file to a MIME type registry file, used to
|
||||
### provide hints to Subversion's MIME type auto-detection
|
||||
### algorithm.
|
||||
# mime-types-file = /path/to/mime.types
|
||||
### Set preserved-conflict-file-exts to a whitespace-delimited
|
||||
### list of patterns matching file extensions which should be
|
||||
### preserved in generated conflict file names. By default,
|
||||
### conflict files use custom extensions.
|
||||
# preserved-conflict-file-exts = doc ppt xls od?
|
||||
### Set enable-auto-props to 'yes' to enable automatic properties
|
||||
### for 'svn add' and 'svn import', it defaults to 'no'.
|
||||
### Automatic properties are defined in the section 'auto-props'.
|
||||
# enable-auto-props = yes
|
||||
### Set interactive-conflicts to 'no' to disable interactive
|
||||
### conflict resolution prompting. It defaults to 'yes'.
|
||||
# interactive-conflicts = no
|
||||
|
||||
### Section for configuring automatic properties.
|
||||
[auto-props]
|
||||
### The format of the entries is:
|
||||
### file-name-pattern = propname[=value][;propname[=value]...]
|
||||
### The file-name-pattern can contain wildcards (such as '*' and
|
||||
### '?'). All entries which match (case-insensitively) will be
|
||||
### applied to the file. Note that auto-props functionality
|
||||
### must be enabled, which is typically done by setting the
|
||||
### 'enable-auto-props' option.
|
||||
# *.c = svn:eol-style=native
|
||||
# *.cpp = svn:eol-style=native
|
||||
# *.h = svn:keywords=Author Date Id Rev URL;svn:eol-style=native
|
||||
# *.dsp = svn:eol-style=CRLF
|
||||
# *.dsw = svn:eol-style=CRLF
|
||||
# *.sh = svn:eol-style=native;svn:executable
|
||||
# *.txt = svn:eol-style=native;svn:keywords=Author Date Id Rev URL;
|
||||
# *.png = svn:mime-type=image/png
|
||||
# *.jpg = svn:mime-type=image/jpeg
|
||||
# Makefile = svn:eol-style=native
|
||||
|
||||
158
.subversion/servers
Normal file
@@ -0,0 +1,158 @@
|
||||
### This file specifies server-specific parameters,
|
||||
### including HTTP proxy information, HTTP timeout settings,
|
||||
### and authentication settings.
|
||||
###
|
||||
### The currently defined server options are:
|
||||
### http-proxy-host Proxy host for HTTP connection
|
||||
### http-proxy-port Port number of proxy host service
|
||||
### http-proxy-username Username for auth to proxy service
|
||||
### http-proxy-password Password for auth to proxy service
|
||||
### http-proxy-exceptions List of sites that do not use proxy
|
||||
### http-timeout Timeout for HTTP requests in seconds
|
||||
### http-compression Whether to compress HTTP requests
|
||||
### neon-debug-mask Debug mask for Neon HTTP library
|
||||
### http-auth-types Auth types to use for HTTP library
|
||||
### ssl-authority-files List of files, each of a trusted CA
|
||||
### ssl-trust-default-ca Trust the system 'default' CAs
|
||||
### ssl-client-cert-file PKCS#12 format client certificate file
|
||||
### ssl-client-cert-password Client Key password, if needed.
|
||||
### ssl-pkcs11-provider Name of PKCS#11 provider to use.
|
||||
### http-library Which library to use for http/https
|
||||
### connections (neon or serf)
|
||||
### store-passwords Specifies whether passwords used
|
||||
### to authenticate against a
|
||||
### Subversion server may be cached
|
||||
### to disk in any way.
|
||||
### store-plaintext-passwords Specifies whether passwords may
|
||||
### be cached on disk unencrypted.
|
||||
### store-ssl-client-cert-pp Specifies whether passphrase used
|
||||
### to authenticate against a client
|
||||
### certificate may be cached to disk
|
||||
### in any way
|
||||
### store-ssl-client-cert-pp-plaintext
|
||||
### Specifies whether client cert
|
||||
### passphrases may be cached on disk
|
||||
### unencrypted (i.e., as plaintext).
|
||||
### store-auth-creds Specifies whether any auth info
|
||||
### (passwords as well as server certs)
|
||||
### may be cached to disk.
|
||||
### username Specifies the default username.
|
||||
###
|
||||
### Set store-passwords to 'no' to avoid storing passwords in the
|
||||
### auth/ area of your config directory. It defaults to 'yes',
|
||||
### but Subversion will never save your password to disk in
|
||||
### plaintext unless you tell it to.
|
||||
### Note that this option only prevents saving of *new* passwords;
|
||||
### it doesn't invalidate existing passwords. (To do that, remove
|
||||
### the cache files by hand as described in the Subversion book.)
|
||||
###
|
||||
### Set store-plaintext-passwords to 'no' to avoid storing
|
||||
### passwords in unencrypted form in the auth/ area of your config
|
||||
### directory. Set it to 'yes' to allow Subversion to store
|
||||
### unencrypted passwords in the auth/ area. The default is
|
||||
### 'ask', which means that Subversion will ask you before
|
||||
### saving a password to disk in unencrypted form. Note that
|
||||
### this option has no effect if either 'store-passwords' or
|
||||
### 'store-auth-creds' is set to 'no'.
|
||||
###
|
||||
### Set store-ssl-client-cert-pp to 'no' to avoid storing ssl
|
||||
### client certificate passphrases in the auth/ area of your
|
||||
### config directory. It defaults to 'yes', but Subversion will
|
||||
### never save your passphrase to disk in plaintext unless you tell
|
||||
### it to via 'store-ssl-client-cert-pp-plaintext' (see below).
|
||||
###
|
||||
### Note store-ssl-client-cert-pp only prevents the saving of *new*
|
||||
### passphrases; it doesn't invalidate existing passphrases. To do
|
||||
### that, remove the cache files by hand as described in the
|
||||
### Subversion book at http://svnbook.red-bean.com/nightly/en/\
|
||||
### svn.serverconfig.netmodel.html\
|
||||
### #svn.serverconfig.netmodel.credcache
|
||||
###
|
||||
### Set store-ssl-client-cert-pp-plaintext to 'no' to avoid storing
|
||||
### passphrases in unencrypted form in the auth/ area of your
|
||||
### config directory. Set it to 'yes' to allow Subversion to
|
||||
### store unencrypted passphrases in the auth/ area. The default
|
||||
### is 'ask', which means that Subversion will prompt before
|
||||
### saving a passphrase to disk in unencrypted form. Note that
|
||||
### this option has no effect if either 'store-auth-creds' or
|
||||
### 'store-ssl-client-cert-pp' is set to 'no'.
|
||||
###
|
||||
### Set store-auth-creds to 'no' to avoid storing any Subversion
|
||||
### credentials in the auth/ area of your config directory.
|
||||
### Note that this includes SSL server certificates.
|
||||
### It defaults to 'yes'. Note that this option only prevents
|
||||
### saving of *new* credentials; it doesn't invalidate existing
|
||||
### caches. (To do that, remove the cache files by hand.)
|
||||
###
|
||||
### HTTP timeouts, if given, are specified in seconds. A timeout
|
||||
### of 0, i.e. zero, causes a builtin default to be used.
|
||||
###
|
||||
### The commented-out examples below are intended only to
|
||||
### demonstrate how to use this file; any resemblance to actual
|
||||
### servers, living or dead, is entirely coincidental.
|
||||
|
||||
### In the 'groups' section, the URL of the repository you're
|
||||
### trying to access is matched against the patterns on the right.
|
||||
### If a match is found, the server options are taken from the
|
||||
### section with the corresponding name on the left.
|
||||
|
||||
[groups]
|
||||
# group1 = *.collab.net
|
||||
# othergroup = repository.blarggitywhoomph.com
|
||||
# thirdgroup = *.example.com
|
||||
|
||||
### Information for the first group:
|
||||
# [group1]
|
||||
# http-proxy-host = proxy1.some-domain-name.com
|
||||
# http-proxy-port = 80
|
||||
# http-proxy-username = blah
|
||||
# http-proxy-password = doubleblah
|
||||
# http-timeout = 60
|
||||
# http-auth-types = basic;digest;negotiate
|
||||
# neon-debug-mask = 130
|
||||
# store-plaintext-passwords = no
|
||||
# username = harry
|
||||
|
||||
### Information for the second group:
|
||||
# [othergroup]
|
||||
# http-proxy-host = proxy2.some-domain-name.com
|
||||
# http-proxy-port = 9000
|
||||
# No username and password for the proxy, so use the defaults below.
|
||||
|
||||
### You can set default parameters in the 'global' section.
|
||||
### These parameters apply if no corresponding parameter is set in
|
||||
### a specifically matched group as shown above. Thus, if you go
|
||||
### through the same proxy server to reach every site on the
|
||||
### Internet, you probably just want to put that server's
|
||||
### information in the 'global' section and not bother with
|
||||
### 'groups' or any other sections.
|
||||
###
|
||||
### Most people might want to configure password caching
|
||||
### parameters here, but you can also configure them per server
|
||||
### group (per-group settings override global settings).
|
||||
###
|
||||
### If you go through a proxy for all but a few sites, you can
|
||||
### list those exceptions under 'http-proxy-exceptions'. This only
|
||||
### overrides defaults, not explicitly matched server names.
|
||||
###
|
||||
### 'ssl-authority-files' is a semicolon-delimited list of files,
|
||||
### each pointing to a PEM-encoded Certificate Authority (CA)
|
||||
### SSL certificate. See details above for overriding security
|
||||
### due to SSL.
|
||||
[global]
|
||||
# http-proxy-exceptions = *.exception.com, www.internal-site.org
|
||||
# http-proxy-host = defaultproxy.whatever.com
|
||||
# http-proxy-port = 7000
|
||||
# http-proxy-username = defaultusername
|
||||
# http-proxy-password = defaultpassword
|
||||
# http-compression = no
|
||||
# http-auth-types = basic;digest;negotiate
|
||||
# No http-timeout, so just use the builtin default.
|
||||
# No neon-debug-mask, so neon debugging is disabled.
|
||||
# ssl-authority-files = /path/to/CAcert.pem;/path/to/CAcert2.pem
|
||||
#
|
||||
# Password / passphrase caching parameters:
|
||||
# store-passwords = no
|
||||
# store-plaintext-passwords = no
|
||||
# store-ssl-client-cert-pp = no
|
||||
# store-ssl-client-cert-pp-plaintext = no
|
||||
14
.toprc
Normal file
@@ -0,0 +1,14 @@
|
||||
top's Config File (Linux processes with windows)
|
||||
Id:f, Mode_altscr=0, Mode_irixps=1, Delay_time=3.000, Curwin=0
|
||||
Def fieldscur=¥¨³´»½ÀÄ·º¹Å&')*+,-./012568<>?ABCFGHIJKLMNOPQRSTUVWXYZ[
|
||||
winflags=32564, sortindx=18, maxtasks=0
|
||||
summclr=1, msgsclr=1, headclr=3, taskclr=2
|
||||
Job fieldscur=¥¦¹·º³´Ä»¼½§Å()*+,-./012568>?@ABCFGHIJKLMNOPQRSTUVWXYZ[
|
||||
winflags=62772, sortindx=0, maxtasks=0
|
||||
summclr=6, msgsclr=6, headclr=7, taskclr=6
|
||||
Mem fieldscur=¥º»¼½¾¿ÀÁÃij´·Å&'()*+,-./0125689BFGHIJKLMNOPQRSTUVWXYZ[
|
||||
winflags=62772, sortindx=21, maxtasks=0
|
||||
summclr=5, msgsclr=5, headclr=4, taskclr=5
|
||||
Usr fieldscur=¥¦§¨ª°¹·ºÄÅ)+,-./1234568;<=>?@ABCFGHIJKLMNOPQRSTUVWXYZ[
|
||||
winflags=62772, sortindx=3, maxtasks=0
|
||||
summclr=3, msgsclr=3, headclr=2, taskclr=3
|
||||
245
.vim/autoload/pathogen.vim
Normal file
@@ -0,0 +1,245 @@
|
||||
" pathogen.vim - path option manipulation
|
||||
" Maintainer: Tim Pope <http://tpo.pe/>
|
||||
" Version: 2.0
|
||||
|
||||
" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
|
||||
"
|
||||
" For management of individually installed plugins in ~/.vim/bundle (or
|
||||
" ~\vimfiles\bundle), adding `call pathogen#infect()` to your .vimrc
|
||||
" prior to `filetype plugin indent on` is the only other setup necessary.
|
||||
"
|
||||
" The API is documented inline below. For maximum ease of reading,
|
||||
" :set foldmethod=marker
|
||||
|
||||
if exists("g:loaded_pathogen") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_pathogen = 1
|
||||
|
||||
" Point of entry for basic default usage. Give a directory name to invoke
|
||||
" pathogen#runtime_append_all_bundles() (defaults to "bundle"), or a full path
|
||||
" to invoke pathogen#runtime_prepend_subdirectories(). Afterwards,
|
||||
" pathogen#cycle_filetype() is invoked.
|
||||
function! pathogen#infect(...) abort " {{{1
|
||||
let source_path = a:0 ? a:1 : 'bundle'
|
||||
if source_path =~# '[\\/]'
|
||||
call pathogen#runtime_prepend_subdirectories(source_path)
|
||||
else
|
||||
call pathogen#runtime_append_all_bundles(source_path)
|
||||
endif
|
||||
call pathogen#cycle_filetype()
|
||||
endfunction " }}}1
|
||||
|
||||
" Split a path into a list.
|
||||
function! pathogen#split(path) abort " {{{1
|
||||
if type(a:path) == type([]) | return a:path | endif
|
||||
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
|
||||
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
|
||||
endfunction " }}}1
|
||||
|
||||
" Convert a list to a path.
|
||||
function! pathogen#join(...) abort " {{{1
|
||||
if type(a:1) == type(1) && a:1
|
||||
let i = 1
|
||||
let space = ' '
|
||||
else
|
||||
let i = 0
|
||||
let space = ''
|
||||
endif
|
||||
let path = ""
|
||||
while i < a:0
|
||||
if type(a:000[i]) == type([])
|
||||
let list = a:000[i]
|
||||
let j = 0
|
||||
while j < len(list)
|
||||
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
|
||||
let path .= ',' . escaped
|
||||
let j += 1
|
||||
endwhile
|
||||
else
|
||||
let path .= "," . a:000[i]
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
return substitute(path,'^,','','')
|
||||
endfunction " }}}1
|
||||
|
||||
" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
|
||||
function! pathogen#legacyjoin(...) abort " {{{1
|
||||
return call('pathogen#join',[1] + a:000)
|
||||
endfunction " }}}1
|
||||
|
||||
" Remove duplicates from a list.
|
||||
function! pathogen#uniq(list) abort " {{{1
|
||||
let i = 0
|
||||
let seen = {}
|
||||
while i < len(a:list)
|
||||
if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
|
||||
call remove(a:list,i)
|
||||
elseif a:list[i] ==# ''
|
||||
let i += 1
|
||||
let empty = 1
|
||||
else
|
||||
let seen[a:list[i]] = 1
|
||||
let i += 1
|
||||
endif
|
||||
endwhile
|
||||
return a:list
|
||||
endfunction " }}}1
|
||||
|
||||
" \ on Windows unless shellslash is set, / everywhere else.
|
||||
function! pathogen#separator() abort " {{{1
|
||||
return !exists("+shellslash") || &shellslash ? '/' : '\'
|
||||
endfunction " }}}1
|
||||
|
||||
" Convenience wrapper around glob() which returns a list.
|
||||
function! pathogen#glob(pattern) abort " {{{1
|
||||
let files = split(glob(a:pattern),"\n")
|
||||
return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")')
|
||||
endfunction "}}}1
|
||||
|
||||
" Like pathogen#glob(), only limit the results to directories.
|
||||
function! pathogen#glob_directories(pattern) abort " {{{1
|
||||
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
|
||||
endfunction "}}}1
|
||||
|
||||
" Turn filetype detection off and back on again if it was already enabled.
|
||||
function! pathogen#cycle_filetype() " {{{1
|
||||
if exists('g:did_load_filetypes')
|
||||
filetype off
|
||||
filetype on
|
||||
endif
|
||||
endfunction " }}}1
|
||||
|
||||
" Checks if a bundle is 'disabled'. A bundle is considered 'disabled' if
|
||||
" its 'basename()' is included in g:pathogen_disabled[]' or ends in a tilde.
|
||||
function! pathogen#is_disabled(path) " {{{1
|
||||
if a:path =~# '\~$'
|
||||
return 1
|
||||
elseif !exists("g:pathogen_disabled")
|
||||
return 0
|
||||
endif
|
||||
let sep = pathogen#separator()
|
||||
return index(g:pathogen_disabled, strpart(a:path, strridx(a:path, sep)+1)) != -1
|
||||
endfunction "}}}1
|
||||
|
||||
" Prepend all subdirectories of path to the rtp, and append all 'after'
|
||||
" directories in those subdirectories.
|
||||
function! pathogen#runtime_prepend_subdirectories(path) " {{{1
|
||||
let sep = pathogen#separator()
|
||||
let before = filter(pathogen#glob_directories(a:path.sep."*"), '!pathogen#is_disabled(v:val)')
|
||||
let after = filter(pathogen#glob_directories(a:path.sep."*".sep."after"), '!pathogen#is_disabled(v:val[0:-7])')
|
||||
let rtp = pathogen#split(&rtp)
|
||||
let path = expand(a:path)
|
||||
call filter(rtp,'v:val[0:strlen(path)-1] !=# path')
|
||||
let &rtp = pathogen#join(pathogen#uniq(before + rtp + after))
|
||||
return &rtp
|
||||
endfunction " }}}1
|
||||
|
||||
" For each directory in rtp, check for a subdirectory named dir. If it
|
||||
" exists, add all subdirectories of that subdirectory to the rtp, immediately
|
||||
" after the original directory. If no argument is given, 'bundle' is used.
|
||||
" Repeated calls with the same arguments are ignored.
|
||||
function! pathogen#runtime_append_all_bundles(...) " {{{1
|
||||
let sep = pathogen#separator()
|
||||
let name = a:0 ? a:1 : 'bundle'
|
||||
if "\n".s:done_bundles =~# "\\M\n".name."\n"
|
||||
return ""
|
||||
endif
|
||||
let s:done_bundles .= name . "\n"
|
||||
let list = []
|
||||
for dir in pathogen#split(&rtp)
|
||||
if dir =~# '\<after$'
|
||||
let list += filter(pathogen#glob_directories(substitute(dir,'after$',name,'').sep.'*[^~]'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir]
|
||||
else
|
||||
let list += [dir] + filter(pathogen#glob_directories(dir.sep.name.sep.'*[^~]'), '!pathogen#is_disabled(v:val)')
|
||||
endif
|
||||
endfor
|
||||
let &rtp = pathogen#join(pathogen#uniq(list))
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
let s:done_bundles = ''
|
||||
" }}}1
|
||||
|
||||
" Invoke :helptags on all non-$VIM doc directories in runtimepath.
|
||||
function! pathogen#helptags() " {{{1
|
||||
let sep = pathogen#separator()
|
||||
for dir in pathogen#split(&rtp)
|
||||
if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(glob(dir.sep.'doc'.sep.'*')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags'))
|
||||
helptags `=dir.'/doc'`
|
||||
endif
|
||||
endfor
|
||||
endfunction " }}}1
|
||||
|
||||
command! -bar Helptags :call pathogen#helptags()
|
||||
|
||||
" Like findfile(), but hardcoded to use the runtimepath.
|
||||
function! pathogen#runtime_findfile(file,count) "{{{1
|
||||
let rtp = pathogen#join(1,pathogen#split(&rtp))
|
||||
return fnamemodify(findfile(a:file,rtp,a:count),':p')
|
||||
endfunction " }}}1
|
||||
|
||||
" Backport of fnameescape().
|
||||
function! pathogen#fnameescape(string) " {{{1
|
||||
if exists('*fnameescape')
|
||||
return fnameescape(a:string)
|
||||
elseif a:string ==# '-'
|
||||
return '\-'
|
||||
else
|
||||
return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
|
||||
endif
|
||||
endfunction " }}}1
|
||||
|
||||
function! s:find(count,cmd,file,lcd) " {{{1
|
||||
let rtp = pathogen#join(1,pathogen#split(&runtimepath))
|
||||
let file = pathogen#runtime_findfile(a:file,a:count)
|
||||
if file ==# ''
|
||||
return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
|
||||
elseif a:lcd
|
||||
let path = file[0:-strlen(a:file)-2]
|
||||
execute 'lcd `=path`'
|
||||
return a:cmd.' '.pathogen#fnameescape(a:file)
|
||||
else
|
||||
return a:cmd.' '.pathogen#fnameescape(file)
|
||||
endif
|
||||
endfunction " }}}1
|
||||
|
||||
function! s:Findcomplete(A,L,P) " {{{1
|
||||
let sep = pathogen#separator()
|
||||
let cheats = {
|
||||
\'a': 'autoload',
|
||||
\'d': 'doc',
|
||||
\'f': 'ftplugin',
|
||||
\'i': 'indent',
|
||||
\'p': 'plugin',
|
||||
\'s': 'syntax'}
|
||||
if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
|
||||
let request = cheats[a:A[0]].a:A[1:-1]
|
||||
else
|
||||
let request = a:A
|
||||
endif
|
||||
let pattern = substitute(request,'\'.sep,'*'.sep,'g').'*'
|
||||
let found = {}
|
||||
for path in pathogen#split(&runtimepath)
|
||||
let path = expand(path, ':p')
|
||||
let matches = split(glob(path.sep.pattern),"\n")
|
||||
call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
|
||||
call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
|
||||
for match in matches
|
||||
let found[match] = 1
|
||||
endfor
|
||||
endfor
|
||||
return sort(keys(found))
|
||||
endfunction " }}}1
|
||||
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(<count>,'edit<bang>',<q-args>,0)
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(<count>,'edit<bang>',<q-args>,0)
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(<count>,'edit<bang>',<q-args>,1)
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(<count>,'split',<q-args>,<bang>1)
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(<count>,'pedit',<q-args>,<bang>1)
|
||||
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(<count>,'read',<q-args>,<bang>1)
|
||||
|
||||
" vim:set ft=vim ts=8 sw=2 sts=2:
|
||||
4580
.vim/bundle/vim-rails/autoload/rails.vim
Normal file
1
.vim/bundle/vundle/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
doc/tags
|
||||
3
.vim/bundle/vundle/.netrwhist
Normal file
@@ -0,0 +1,3 @@
|
||||
let g:netrw_dirhistmax =10
|
||||
let g:netrw_dirhist_cnt =1
|
||||
let g:netrw_dirhist_1='/home/artem/downloads/java/test'
|
||||
7
.vim/bundle/vundle/LICENSE-MIT.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Copyright (C) 2010 http://github.com/gmarik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
142
.vim/bundle/vundle/README.md
Normal file
@@ -0,0 +1,142 @@
|
||||
## About
|
||||
|
||||
[Vundle] is short for **V**imb**undle** and is a [Vim] plugin manager.
|
||||
|
||||

|
||||
|
||||
## Quick start
|
||||
|
||||
1. Setup [Vundle]:
|
||||
|
||||
```
|
||||
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
|
||||
```
|
||||
|
||||
2. Configure bundles:
|
||||
|
||||
Sample `.vimrc`:
|
||||
|
||||
```vim
|
||||
set nocompatible " be iMproved
|
||||
filetype off " required!
|
||||
|
||||
set rtp+=~/.vim/bundle/vundle/
|
||||
call vundle#rc()
|
||||
|
||||
" let Vundle manage Vundle
|
||||
" required!
|
||||
Bundle 'gmarik/vundle'
|
||||
|
||||
" My Bundles here:
|
||||
"
|
||||
" original repos on github
|
||||
Bundle 'tpope/vim-fugitive'
|
||||
Bundle 'Lokaltog/vim-easymotion'
|
||||
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
|
||||
Bundle 'tpope/vim-rails.git'
|
||||
" vim-scripts repos
|
||||
Bundle 'L9'
|
||||
Bundle 'FuzzyFinder'
|
||||
" non github repos
|
||||
Bundle 'git://git.wincent.com/command-t.git'
|
||||
" ...
|
||||
|
||||
filetype plugin indent on " required!
|
||||
"
|
||||
" Brief help
|
||||
" :BundleList - list configured bundles
|
||||
" :BundleInstall(!) - install(update) bundles
|
||||
" :BundleSearch(!) foo - search(or refresh cache first) for foo
|
||||
" :BundleClean(!) - confirm(or auto-approve) removal of unused bundles
|
||||
"
|
||||
" see :h vundle for more details or wiki for FAQ
|
||||
" NOTE: comments after Bundle command are not allowed..
|
||||
|
||||
```
|
||||
|
||||
3. Install configured bundles:
|
||||
|
||||
Launch `vim`, run `:BundleInstall`
|
||||
(or `vim +BundleInstall +qall` for CLI lovers)
|
||||
|
||||
*Windows users* see [Vundle for Windows](https://github.com/gmarik/vundle/wiki/Vundle-for-Windows)
|
||||
|
||||
Installing requires [Git] and triggers [Git clone](http://gitref.org/creating/#clone) for each configured repo to `~/.vim/bundle/`.
|
||||
|
||||
4. Consider [donating](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=T44EJZX8RBUWY)
|
||||
|
||||
[*Thank you*](http://j.mp/rSbm01) for supporting this project! )
|
||||
|
||||
|
||||
## Why Vundle
|
||||
|
||||
[Vundle] allows to:
|
||||
|
||||
- keep track and configure your scripts right in `.vimrc`
|
||||
- [install] configured scripts (aka bundle)
|
||||
- [update] configured scripts
|
||||
- [search] by name [all available vim scripts]
|
||||
- [clean] unused scripts up
|
||||
- run above actions in a *single keypress* with [interactive mode]
|
||||
|
||||
Also [Vundle]:
|
||||
|
||||
- manages runtime path of your installed scripts
|
||||
- regenerates helptag automatically
|
||||
|
||||
## Docs
|
||||
|
||||
see [`:h vundle`](vundle/blob/master/doc/vundle.txt#L1) vimdoc for more details.
|
||||
|
||||
## People Using Vundle
|
||||
|
||||
see [Examples](/gmarik/vundle/wiki/Examples)
|
||||
|
||||
## FAQ
|
||||
|
||||
see [wiki](/gmarik/vundle/wiki)
|
||||
|
||||
## Contributors
|
||||
|
||||
see [vundle contributors](https://github.com/gmarik/vundle/graphs/contributors)
|
||||
|
||||
*Thank you!*
|
||||
|
||||
## Inspiration and ideas from
|
||||
|
||||
* [pathogen]
|
||||
* [bundler]
|
||||
* [Scott Bronson](http://github.com/bronson)
|
||||
|
||||
## Also
|
||||
|
||||
* Vundle was developed and tested with [Vim] 7.3 on `OSX`, `Linux` and `Windows`
|
||||
* Vundle tries to be as [KISS](http://en.wikipedia.org/wiki/KISS_principle) as possible
|
||||
|
||||
## TODO:
|
||||
[Vundle] is a work in progress so any ideas/patches appreciated
|
||||
|
||||
* √ activate newly added bundles on .vimrc reload or after :BundleInstall
|
||||
* √ use preview window for search results
|
||||
* √ vim documentation
|
||||
* √ put vundle to bundles/ too(will fix vundle help)
|
||||
* √ tests
|
||||
* √ improve error handling
|
||||
* allow specify revision/version?
|
||||
* handle dependencies
|
||||
* show description in search results
|
||||
* search by description as well
|
||||
* make it rock!
|
||||
|
||||
[Vundle]:http://github.com/gmarik/vundle
|
||||
[Pathogen]:http://github.com/tpope/vim-pathogen/
|
||||
[Bundler]:http://github.com/wycats/bundler/
|
||||
[Vim]:http://vim.org
|
||||
[Git]:http://git-scm.com
|
||||
[all available vim scripts]:http://vim-scripts.org/vim/scripts.html
|
||||
|
||||
[install]:https://github.com/gmarik/vundle/blob/master/doc/vundle.txt#L110-124
|
||||
[update]:https://github.com/gmarik/vundle/blob/master/doc/vundle.txt#L128-134
|
||||
[search]:https://github.com/gmarik/vundle/blob/master/doc/vundle.txt#L136-158
|
||||
[clean]:https://github.com/gmarik/vundle/blob/master/doc/vundle.txt#L168-180
|
||||
[interactive mode]:https://github.com/gmarik/vundle/blob/master/doc/vundle.txt#L184-210
|
||||
46
.vim/bundle/vundle/autoload/vundle.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
" Vundle is a shortcut for Vim Bundle and Is a simple plugin manager for Vim
|
||||
" Author: gmarik
|
||||
" HomePage: http://github.com/gmarik/vundle
|
||||
" Readme: http://github.com/gmarik/vundle/blob/master/README.md
|
||||
" Version: 0.9
|
||||
|
||||
com! -nargs=+ Bundle
|
||||
\ call vundle#config#bundle(<args>)
|
||||
|
||||
com! -nargs=? -bang -complete=custom,vundle#scripts#complete BundleInstall
|
||||
\ call vundle#installer#new('!' == '<bang>', <q-args>)
|
||||
|
||||
com! -nargs=? -bang -complete=custom,vundle#scripts#complete BundleSearch
|
||||
\ call vundle#scripts#all('!'=='<bang>', <q-args>)
|
||||
|
||||
com! -nargs=? -bang -complete=custom,vundle#scripts#complete Bundles
|
||||
\ call vundle#scripts#all('!'=='<bang>', <q-args>)
|
||||
|
||||
com! -nargs=0 -bang BundleList
|
||||
\ call vundle#installer#list('!'=='<bang>')
|
||||
|
||||
com! -nargs=? -bang BundleClean
|
||||
\ call vundle#installer#clean('!' == '<bang>')
|
||||
|
||||
com! -nargs=0 BundleDocs
|
||||
\ call vundle#installer#helptags(g:bundles)
|
||||
|
||||
|
||||
if (has('signs'))
|
||||
sign define Vu_error text=! texthl=Error
|
||||
sign define Vu_active text=> texthl=Comment
|
||||
sign define Vu_todate text=. texthl=Comment
|
||||
sign define Vu_new text=+ texthl=Comment
|
||||
sign define Vu_updated text=* texthl=Comment
|
||||
sign define Vu_deleted text=- texthl=Comment
|
||||
sign define Vu_helptags text=* texthl=Comment
|
||||
endif
|
||||
|
||||
|
||||
func! vundle#rc(...) abort
|
||||
let g:bundle_dir = len(a:000) > 0 ? expand(a:1, 1) : expand('$HOME/.vim/bundle', 1)
|
||||
let g:updated_bundles = []
|
||||
let g:vundle_log = []
|
||||
let g:vundle_changelog = ['Updated Bundles:']
|
||||
call vundle#config#init()
|
||||
endf
|
||||