From a86446df9ba5ffb86d99c511217d704736803f3f Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 13 Jan 2013 15:49:12 -0200 Subject: Initial import --- README.mdwn | 18 +++ backups/.empty | 0 modules/awesome/keys.lua | 19 +++ modules/awesome/rc.lua | 344 ++++++++++++++++++++++++++++++++++++++++++ modules/awesome/rc.lua.simple | 13 ++ modules/awesome/theme.lua | 101 +++++++++++++ modules/profile/bashrc | 1 + modules/profile/geometry | 11 ++ modules/profile/profile | 33 ++++ modules/profile/terminal | 38 +++++ modules/profile/xinitrc | 12 ++ modules/profile/xprofile | 40 +++++ modules/profile/xsession | 1 + modules/vim/gvimrc | 18 +++ modules/vim/vimrc | 61 ++++++++ 15 files changed, 710 insertions(+) create mode 100644 README.mdwn create mode 100644 backups/.empty create mode 100644 modules/awesome/keys.lua create mode 100644 modules/awesome/rc.lua create mode 100644 modules/awesome/rc.lua.simple create mode 100644 modules/awesome/theme.lua create mode 100644 modules/profile/bashrc create mode 100644 modules/profile/geometry create mode 100644 modules/profile/profile create mode 100644 modules/profile/terminal create mode 100644 modules/profile/xinitrc create mode 100755 modules/profile/xprofile create mode 120000 modules/profile/xsession create mode 100644 modules/vim/gvimrc create mode 100644 modules/vim/vimrc diff --git a/README.mdwn b/README.mdwn new file mode 100644 index 0000000..ba53932 --- /dev/null +++ b/README.mdwn @@ -0,0 +1,18 @@ +Metadot: a dotfiles management system +===================================== + +Instalation +----------- + + git clone git://URL/dotfiles.git .dotfiles + +Some configuration files depends on the "scripts" repository to +be cloned at ~/apps/scripts + +Backups of your old files can be put into .config/metadot/backups/ + +Layout +------ + +- modules: where all dotfiles plugins are stored +- backups: backups of old config files diff --git a/backups/.empty b/backups/.empty new file mode 100644 index 0000000..e69de29 diff --git a/modules/awesome/keys.lua b/modules/awesome/keys.lua new file mode 100644 index 0000000..fd79758 --- /dev/null +++ b/modules/awesome/keys.lua @@ -0,0 +1,19 @@ +-- Key bindings +globalkeys = awful.util.table.join(root.keys(), + awful.key({ modkey, "Control" }, "f", function () awful.util.spawn("firefox") end), + awful.key({ modkey, "Control" }, "v", function () awful.util.spawn("gvim") end), + awful.key({ modkey, "Control" }, "m", function () awful.util.spawn("xmutt") end), + awful.key({ modkey, "Control" }, "g", function () awful.util.spawn("gimp") end), + awful.key({ modkey, "Control" }, "i", function () awful.util.spawn("gqview") end), + awful.key({ modkey, "Control" }, "a", function () awful.util.spawn("amarok") end), + awful.key({ modkey, "Control" }, "l", function () awful.util.spawn("xlock") end), + awful.key({ modkey, "Control" }, "s", function () awful.util.spawn("xsuspend") end), + awful.key({ modkey, "Control" }, "h", function () awful.util.spawn("xhibernate") end), + awful.key({ modkey, "Control" }, "k", function () awful.util.spawn("kedpm") end), + awful.key({ modkey, "Control" }, "c", function () awful.util.spawn("chromium-browser") end), + awful.key({ modkey, "Control" }, "t", function () awful.util.spawn("thunar") end) + --awful.key({ modkey, "Control" }, "b", function () awful.util.spawn("xirssi") end), +) + +-- Set keys +root.keys(globalkeys) diff --git a/modules/awesome/rc.lua b/modules/awesome/rc.lua new file mode 100644 index 0000000..7235b38 --- /dev/null +++ b/modules/awesome/rc.lua @@ -0,0 +1,344 @@ +-- Standard awesome library +require("awful") +require("awful.autofocus") +require("awful.rules") +-- Theme handling library +require("beautiful") +-- Notification library +require("naughty") + +-- Load Debian menu entries +require("debian.menu") + +-- {{{ Variable definitions +-- Folders +homedir = os.getenv("HOME") +configdir = homedir .. "/.config/awesome" +-- Themes define colours, icons, and wallpapers +beautiful.init(configdir .. "/theme.lua") + +-- This is used later as the default terminal and editor to run. +terminal = "terminal" +editor = os.getenv("EDITOR") or "editor" +editor_cmd = terminal .. " " .. editor + +-- Default modkey. +-- Usually, Mod4 is the key with a logo between Control and Alt. +-- If you do not like this or do not have such a key, +-- I suggest you to remap Mod4 to another key using xmodmap or other tools. +-- However, you can use another modifier like Mod1, but it may interact with others. +modkey = "Mod4" + +-- Table of layouts to cover with awful.layout.inc, order matters. +layouts = +{ + awful.layout.suit.max, + awful.layout.suit.floating, + awful.layout.suit.tile, + awful.layout.suit.tile.left, + awful.layout.suit.tile.bottom, + awful.layout.suit.tile.top, + --awful.layout.suit.fair, + --awful.layout.suit.fair.horizontal, + --awful.layout.suit.spiral, + --awful.layout.suit.spiral.dwindle, + --awful.layout.suit.max.fullscreen, + --awful.layout.suit.magnifier +} +-- }}} + +-- {{{ Tags +-- Define a tag table which hold all screen tags. +tags = {} +for s = 1, screen.count() do + -- Each screen has its own tag table. + tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1]) +end +-- }}} + +-- {{{ Menu +-- Create a laucher widget and a main menu +myawesomemenu = { + { "quit", awesome.quit }, + { "restart", awesome.restart }, + { "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" } +} + +mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, + { "Debian", debian.menu.Debian_menu.Debian }, + { "open terminal", terminal } + } + }) + +mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon), + menu = mymainmenu }) +-- }}} + +-- {{{ Wibox +-- Create a textclock widget +mytextclock = awful.widget.textclock({ align = "right" }) + +-- Create a systray +mysystray = widget({ type = "systray" }) + +-- Create a wibox for each screen and add it +mywibox = {} +mypromptbox = {} +mylayoutbox = {} +mytaglist = {} +mytaglist.buttons = awful.util.table.join( + awful.button({ }, 1, awful.tag.viewonly), + awful.button({ modkey }, 1, awful.client.movetotag), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, awful.client.toggletag), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) + ) +mytasklist = {} +mytasklist.buttons = awful.util.table.join( + awful.button({ }, 1, function (c) + if not c:isvisible() then + awful.tag.viewonly(c:tags()[1]) + end + client.focus = c + c:raise() + end), + awful.button({ }, 3, function () + if instance then + instance:hide() + instance = nil + else + instance = awful.menu.clients({ width=250 }) + end + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + if client.focus then client.focus:raise() end + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + if client.focus then client.focus:raise() end + end)) + +for s = 1, screen.count() do + -- Create a promptbox for each screen + mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright }) + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + mylayoutbox[s] = awful.widget.layoutbox(s) + mylayoutbox[s]:buttons(awful.util.table.join( + awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end), + awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end), + awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), + awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) + -- Create a taglist widget + mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons) + + -- Create a tasklist widget + mytasklist[s] = awful.widget.tasklist(function(c) + return awful.widget.tasklist.label.currenttags(c, s) + end, mytasklist.buttons) + + -- Create the wibox + mywibox[s] = awful.wibox({ position = "top", screen = s }) + -- Add widgets to the wibox - order matters + mywibox[s].widgets = { + { + mylauncher, + mytaglist[s], + mypromptbox[s], + layout = awful.widget.layout.horizontal.leftright + }, + mylayoutbox[s], + mytextclock, + s == 1 and mysystray or nil, + mytasklist[s], + layout = awful.widget.layout.horizontal.rightleft + } +end +-- }}} + +-- {{{ Mouse bindings +root.buttons(awful.util.table.join( + awful.button({ }, 3, function () mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = awful.util.table.join( + awful.key({ modkey, }, "Left", awful.tag.viewprev ), + awful.key({ modkey, }, "Right", awful.tag.viewnext ), + awful.key({ modkey, }, "Escape", awful.tag.history.restore), + + awful.key({ modkey, }, "j", + function () + awful.client.focus.byidx( 1) + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "k", + function () + awful.client.focus.byidx(-1) + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end), + + -- Layout manipulation + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end), + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end), + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end), + awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto), + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end), + + -- Standard program + awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end), + awful.key({ modkey, "Control" }, "r", awesome.restart), + awful.key({ modkey, "Shift" }, "q", awesome.quit), + + awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end), + awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end), + awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end), + awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end), + awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end), + awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end), + awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end), + awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end), + + -- Prompt + awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end), + + awful.key({ modkey }, "x", + function () + awful.prompt.run({ prompt = "Run Lua code: " }, + mypromptbox[mouse.screen].widget, + awful.util.eval, nil, + awful.util.getdir("cache") .. "/history_eval") + end) +) + +clientkeys = awful.util.table.join( + awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end), + awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), + awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ), + awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), + awful.key({ modkey, }, "o", awful.client.movetoscreen ), + awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), + awful.key({ modkey, }, "n", function (c) c.minimized = not c.minimized end), + awful.key({ modkey, }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c.maximized_vertical = not c.maximized_vertical + end) +) + +-- Compute the maximum number of digit we need, limited to 9 +keynumber = 0 +for s = 1, screen.count() do + keynumber = math.min(9, math.max(#tags[s], keynumber)); +end + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it works on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, keynumber do + globalkeys = awful.util.table.join(globalkeys, + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = mouse.screen + if tags[screen][i] then + awful.tag.viewonly(tags[screen][i]) + end + end), + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = mouse.screen + if tags[screen][i] then + awful.tag.viewtoggle(tags[screen][i]) + end + end), + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus and tags[client.focus.screen][i] then + awful.client.movetotag(tags[client.focus.screen][i]) + end + end), + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus and tags[client.focus.screen][i] then + awful.client.toggletag(tags[client.focus.screen][i]) + end + end)) +end + +clientbuttons = awful.util.table.join( + awful.button({ }, 1, function (c) client.focus = c; c:raise() end), + awful.button({ modkey }, 1, awful.mouse.client.move), + awful.button({ modkey }, 3, awful.mouse.client.resize)) + +-- Set keys +root.keys(globalkeys) +-- }}} + +-- {{{ Rules +awful.rules.rules = { + -- All clients will match this rule. + { rule = { }, + properties = { border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = true, + keys = clientkeys, + buttons = clientbuttons } }, + { rule = { class = "MPlayer" }, + properties = { floating = true } }, + { rule = { class = "pinentry" }, + properties = { floating = true } }, + { rule = { class = "gimp" }, + properties = { floating = true } }, + -- Set Firefox to always map on tags number 2 of screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { tag = tags[1][2] } }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.add_signal("manage", function (c, startup) + -- Add a titlebar + -- awful.titlebar.add(c, { modkey = modkey }) + + -- Enable sloppy focus (focus on mouse over) + --c:add_signal("mouse::enter", function(c) + -- if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier + -- and awful.client.focus.filter(c) then + -- client.focus = c + -- end + --end) + + if not startup then + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- awful.client.setslave(c) + + -- Put windows in a smart way, only if they does not set an initial position. + if not c.size_hints.user_position and not c.size_hints.program_position then + awful.placement.no_overlap(c) + awful.placement.no_offscreen(c) + end + end +end) + +client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end) +client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) +-- }}} + +-- Custom +dofile(configdir .. "/keys.lua") diff --git a/modules/awesome/rc.lua.simple b/modules/awesome/rc.lua.simple new file mode 100644 index 0000000..0910bca --- /dev/null +++ b/modules/awesome/rc.lua.simple @@ -0,0 +1,13 @@ +-- Environment variables +homedir = os.getenv("HOME") +configdir = homedir .. "/.config/awesome" + +-- Include default distro configuration +dofile("/etc/xdg/awesome/rc.lua") +dofile(configdir .. "/keys.lua") + +-- Custom changes +terminal = "terminal" + +-- Background +awful.util.spawn_with_shell("sleep 1 && awsetbg " .. homedir .. "/themes/backgrounds/background.jpg") diff --git a/modules/awesome/theme.lua b/modules/awesome/theme.lua new file mode 100644 index 0000000..913022c --- /dev/null +++ b/modules/awesome/theme.lua @@ -0,0 +1,101 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +theme = {} + +theme.font = "sans 8" +--theme.font = "mono 8" + +---theme.bg_normal = "#222222" +theme.bg_normal = "#000000" +---theme.bg_focus = "#535d6c" +theme.bg_focus = "#222222" +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 = "#000000" +---theme.border_focus = "#535d6c" +theme.border_focus = "#222222" +theme.border_marked = "#91231c" + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- [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] +-- Example: +--theme.taglist_bg_focus = "#ff0000" + +-- Display the taglist squares +theme.taglist_squares_sel = "/usr/share/awesome/themes/default/taglist/squarefw.png" +theme.taglist_squares_unsel = "/usr/share/awesome/themes/default/taglist/squarew.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" + +-- Define the image to load +theme.titlebar_close_button_normal = "/usr/share/awesome/themes/default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = "/usr/share/awesome/themes/default/titlebar/close_focus.png" + +theme.titlebar_ontop_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = "/usr/share/awesome/themes/default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = "/usr/share/awesome/themes/default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = "/usr/share/awesome/themes/default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = "/usr/share/awesome/themes/default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = "/usr/share/awesome/themes/default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = "/usr/share/awesome/themes/default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = "/usr/share/awesome/themes/default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = "/usr/share/awesome/themes/default/titlebar/maximized_focus_active.png" + +-- You can use your own command to set your wallpaper +--theme.wallpaper_cmd = { "awsetbg " .. homedir .. "/themes/backgrounds/background.jpg" } +theme.wallpaper_cmd = { "xsetroot -solid black" } + +-- You can use your own layout icons like this: +theme.layout_fairh = "/usr/share/awesome/themes/default/layouts/fairhw.png" +theme.layout_fairv = "/usr/share/awesome/themes/default/layouts/fairvw.png" +theme.layout_floating = "/usr/share/awesome/themes/default/layouts/floatingw.png" +theme.layout_magnifier = "/usr/share/awesome/themes/default/layouts/magnifierw.png" +theme.layout_max = "/usr/share/awesome/themes/default/layouts/maxw.png" +theme.layout_fullscreen = "/usr/share/awesome/themes/default/layouts/fullscreenw.png" +theme.layout_tilebottom = "/usr/share/awesome/themes/default/layouts/tilebottomw.png" +theme.layout_tileleft = "/usr/share/awesome/themes/default/layouts/tileleftw.png" +theme.layout_tile = "/usr/share/awesome/themes/default/layouts/tilew.png" +theme.layout_tiletop = "/usr/share/awesome/themes/default/layouts/tiletopw.png" +theme.layout_spiral = "/usr/share/awesome/themes/default/layouts/spiralw.png" +theme.layout_dwindle = "/usr/share/awesome/themes/default/layouts/dwindlew.png" + +theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png" + +return theme +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/modules/profile/bashrc b/modules/profile/bashrc new file mode 100644 index 0000000..70bd631 --- /dev/null +++ b/modules/profile/bashrc @@ -0,0 +1 @@ +source $HOME/.profile diff --git a/modules/profile/geometry b/modules/profile/geometry new file mode 100644 index 0000000..7657e8d --- /dev/null +++ b/modules/profile/geometry @@ -0,0 +1,11 @@ +# +# Terminal geometry file configuration. +# + +TERM="rxvt" +FONT="-*-terminus-*-*-*-*-18-*-*-*-*-*-*-*" + +# Load custom configuration +if [ -e "$HOME/.custom/geometry" ]; then + source $HOME/.custom/geometry +fi diff --git a/modules/profile/profile b/modules/profile/profile new file mode 100644 index 0000000..8815deb --- /dev/null +++ b/modules/profile/profile @@ -0,0 +1,33 @@ +# +# .profile: basic environment setup +# + +# Set language +export LANG=pt_BR.UTF-8 + +# Source functions and variables from other places +if [ -e "$HOME/.aliases" ]; then + source $HOME/.aliases +fi + +# Funcoes ZZ +if [ -e "/usr/bin/funcoeszz" ]; then + source /usr/bin/funcoeszz +fi + +# Set PATH +export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin:$HOME/apps/scripts + +# Editor variables, avoiding "Avoiding protocol specified" error +export EDITOR="vim -X" + +# SSH Agent +source $HOME/apps/scripts/ssh-agent-eval + +# GPG Agent +source $HOME/apps/scripts/gpg-agent-eval + +# Custom configuration +if [ -e "$HOME/.custom/profile" ]; then + source $HOME/.custom/profile +fi diff --git a/modules/profile/terminal b/modules/profile/terminal new file mode 100644 index 0000000..e496cbe --- /dev/null +++ b/modules/profile/terminal @@ -0,0 +1,38 @@ +#!/bin/bash +# +# .terminal: sets default behaviour for a X11 console +# + +# Load ANSI Art +#cat $HOME/themes/ans/slack.ans + +# Make sure to load the profile +source $HOME/.profile + +# Default window title +TITLE="terminal" + +# export PS1="\[\033[1;32m\]\332\304\[\033[0;32m\]\304(\[\033[0;32m\]\$(w | head -n 1) \[\033[0;32m\])\304\304( \[\033[0;36m\]\u\[\033[1;36m\]@\[\033[0;36m\]\h\[\033[0;32m\] )\304\304( \[\033[0;33m\]\w\[\033[0;32m\] )\n\[\033[1;32m\]\300\304\[\033[0;32m\]\304( \[\033[1;32m\]\\$\[\033[0;32m\] >\[\033[00m\] " + +# export PS1="\[\033[1;33m\]\332\304\[\033[0;33m\]\304(\[\033[0;32m\]\$(w | head -n 1) \[\033[0;33m\])\304\304( \[\033[0;36m\]\u\[\033[1;36m\]@\[\033[0;36m\]\h\[\033[0;33m\] )\304\304( \[\033[0;32m\]\w\[\033[0;33m\] )\n\[\033[1;33m\]\300\304\[\033[0;33m\]\304( \[\033[1;33m\]\\$\[\033[0;33m\] >\[\033[00m\] " + +# export PS1="\[\033[1;33m\]\332\304\[\033[0;33m\]\304(\[\033[0;33m\]\$(w | head -n 1) \[\033[0;33m\])\304\304( \[\033[0;36m\]\u\[\033[1;36m\]@\[\033[0;36m\]\h\[\033[0;33m\] )\304\304( \[\033[0;32m\]\w\[\033[0;33m\] )\n\[\033[1;33m\]\300\304\[\033[0;33m\]\304( \[\033[1;33m\]\\$\[\033[0;33m\] >\[\033[00m\] " + +#export PS1="\[\033[1;33m\]\332\304\[\033[0;33m\]\304(\[\033[0;33m\] $( date +%H:%M:%S ) \[\033[0;33m\])\304\304( \[\033[0;36m\]\u\[\033[1;36m\]@\[\033[0;36m\]\h\[\033[0;33m\] )\304\304( \[\033[0;32m\]\w\[\033[0;33m\] )\n\[\033[1;33m\]\300\304\[\033[0;33m\]\304( \[\033[1;33m\]\\$\[\033[0;33m\] >\[\033[00m\] " + +# Set window title, standard version +#trap 'echo -ne "\e]0;terminal: ${TITLE:-$BASH_COMMAND}\007"' DEBUG +#trap 'xtitle ${TITLE:-$BASH_COMMAND}' DEBUG + +# Set window title, special version +# +# In the standard version, $_ stops to keep the parameter of the last command. +# The sollution is to save the value of $_ and issue a pointless command with +# it after changing the title so $_ retain it's intended value. +# +#trap 'last="$_" ; echo -ne "\e]0;terminal: ${TITLE:-$BASH_COMMAND}\007"; true $last' DEBUG +#trap 'last="$_" ; xtitle ${TITLE:-$BASH_COMMAND}; true $last' DEBUG +trap '_last="$_" ; _command=${BASH_COMMAND#command_prompt} ; xtitle ${_command:-$TITLE}; true $_last' DEBUG + +# Fortune :) +#fortune diff --git a/modules/profile/xinitrc b/modules/profile/xinitrc new file mode 100644 index 0000000..fdd35b1 --- /dev/null +++ b/modules/profile/xinitrc @@ -0,0 +1,12 @@ +#!/bin/bash +# +# .xinitrc: set basic X11 environment for non-X11 runlevel +# + +# Load .xprofile +source $HOME/.xprofile & + +# Run window manager +#enlightenment +#fluxbox +awesome diff --git a/modules/profile/xprofile b/modules/profile/xprofile new file mode 100755 index 0000000..bfafe46 --- /dev/null +++ b/modules/profile/xprofile @@ -0,0 +1,40 @@ +#!/bin/bash +# +# .xprofile: set basic X11 environment +# + +# Background image +BACKGROUND="" + +# Session applications +PROGRAMS="" + +# Make sure to load the profile +source $HOME/.profile + +# Start xscreensaver +xscreensaver -no-splash & + +# Custom +if [ -e "$HOME/.custom/xprofile" ]; then + source $HOME/.custom/xprofile +fi + +# Set background +if [ ! -z "$BACKGROUND" ]; then + Esetroot -scale $HOME/.config/themes/backgrounds/$BACKGROUND +else + xsetroot -solid black +fi + +# Additional applications depending on the machine type +if laptop-detect; then + PROGRAMS="$PROGRAMS wicd-client" +else + PROGRAMS="$PROGRAMS" +fi + +# Start session applications +for program in $PROGRAMS; do + $program & +done diff --git a/modules/profile/xsession b/modules/profile/xsession new file mode 120000 index 0000000..68a5612 --- /dev/null +++ b/modules/profile/xsession @@ -0,0 +1 @@ +xprofile \ No newline at end of file diff --git a/modules/vim/gvimrc b/modules/vim/gvimrc new file mode 100644 index 0000000..5f722fd --- /dev/null +++ b/modules/vim/gvimrc @@ -0,0 +1,18 @@ +" GVIM Configuration +set background=light +set mouse=a + +" GVIM IDE Configuration +set nocompatible " must be the first line +filetype on +filetype indent on +filetype plugin on +set laststatus=2 +set statusline=%<%f\%h%m%r%=%-20.(line=%l\ \ col=%c%V\ \ totlin=%L%)\ \ \%h%m%r%=%-40(bytval=0x%B,%n%Y%)\%P +set nu + +" Change to the current file's folder +map cd :cd %:p:h>cr< + +" Font configuration +set gfn=Monospace\ 8 diff --git a/modules/vim/vimrc b/modules/vim/vimrc new file mode 100644 index 0000000..c4f3c22 --- /dev/null +++ b/modules/vim/vimrc @@ -0,0 +1,61 @@ +syn on +set nonu + +set background=dark +set nobackup +set nowritebackup + +set noautoindent +"set smartindent +set tabstop=2 +set shiftwidth=2 +set expandtab +set mouse-=a +set autoread +set nocompatible + +set title +set titleold="terminal" +set titlestring=vim:\ %F + +" Folding +set foldmethod=syntax +let php_folding = 1 +let g:sh_fold_enabled = 1 + +" PHP +let php_sql_query = 1 + +au BufNewFile,BufRead *.thtml setfiletype php +au BufNewFile,BufRead *.mdwn set ft=ikiwiki +au BufNewFile,BufRead *.rem set ft=remind + +augroup mkd + autocmd BufRead *.mkd set ai formatoptions=tcroqn2 comments=n:> +augroup END + +if has("autocmd") + " Drupal *.module and *.install files. + augroup module + autocmd BufRead,BufNewFile *.profile set filetype=php + autocmd BufRead,BufNewFile *.module set filetype=php + autocmd BufRead,BufNewFile *.install set filetype=php + autocmd BufRead,BufNewFile *.test set filetype=php + augroup END +endif + +" Pathogen - https://github.com/tpope/vim-pathogen +call pathogen#infect() + +" NERDTree section +" Thanks to http://stackoverflow.com/questions/1447334/how-do-you-add-nerdtree-to-your-vimrc + +"autocmd VimEnter * NERDTree +"autocmd VimEnter * wincmd p + +function OpenNERDTree() + execute ":NERDTree" + endfunction + command -nargs=0 OpenNERDTree :call OpenNERDTree() + + nmap t :OpenNERDTree -- cgit v1.2.3