Merge pull request 'feature/stow' (#1) from feature/stow into master
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
commit
d1f68adc8b
58 files changed
+4
-9629
No files matched your search
@@ -1,11 +1,11 @@
|
||||
dotfiles
|
||||
====
|
||||
|
||||
Collection of dotfiles, use with [dotfile-manager](https://github.com/seanh/dotfilemanager). Example, with repo clones in ~/sources/
|
||||
Collection of dotfiles, use with [GNU Stow](https://www.gnu.org/software/stow/), Example: https://venthur.de/2021-12-19-managing-dotfiles-with-stow.html
|
||||
|
||||
dotfile-manager link ~ ~/sources/dotfiles
|
||||
dotfile-manager link ~/.config ~/sources/dotfiles/_config
|
||||
dotfile-manager link ~/.vim ~/sources/dotfiles/_vim
|
||||
Configuration related to each software are in a dedicated directory, to update all symlinks, run:
|
||||
|
||||
stow --target=$HOME */
|
||||
|
||||
For vim, clone plugins in folder `_vim/bundle`:
|
||||
|
||||
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
xterm*font: -xos4-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*
|
||||
URxvt.font: -xos4-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*
|
||||
URxvt*termName: xterm-color
|
||||
URxvt*geometry: 80x20
|
||||
URxvt*foreground: white
|
||||
URxvt*background: black
|
||||
URxvt*transparent: false
|
||||
URxvt*tintColor: white
|
||||
URxvt*highlightColor: #a00
|
||||
URxvt*shading: 10
|
||||
URxvt*fading: 10
|
||||
URxvt*fadeColor: black
|
||||
URxvt*fg: white
|
||||
URxvt*loginShell: true
|
||||
URxvt*scrollBar: false
|
||||
URxvt.keysym.Control-Up: \033[1;5A
|
||||
URxvt.keysym.Control-Down: \033[1;5B
|
||||
URxvt.keysym.Control-Left: \033[1;5D
|
||||
URxvt.keysym.Control-Right: \033[1;5C
|
||||
URxvt*keysym.Home: \033[1~
|
||||
URxvt*keysym.End: \033[4~
|
||||
@@ -1,50 +0,0 @@
|
||||
URxvt*termName: xterm-256colorURxvt*background: #000000
|
||||
URxvt*foreground: #ffffff
|
||||
URxvt*scrollBar_right: false
|
||||
URxvt*scrollBar: false
|
||||
URxvt*inheritPixmap: true
|
||||
URxvt*geometry: 84x24
|
||||
URxvt*tint: white
|
||||
URxvt*font: xft:DejaVu Sans Mono:style=Regular:pixelsize=12:antialias=true
|
||||
URxvt*color0: #000000
|
||||
URxvt*color1: #A80000
|
||||
URxvt*color2: #00A800
|
||||
URxvt*color3: #A85400
|
||||
URxvt*color4: #5555AA
|
||||
URxvt*color5: #A800A8
|
||||
URxvt*color6: #00A8A8
|
||||
URxvt*color7: #FFFFFF
|
||||
URxvt*color8: #545054
|
||||
URxvt*color9: #F85450
|
||||
URxvt*color10: #50FC50
|
||||
URxvt*color11: #F2FC50
|
||||
URxvt*color12: #5054F8
|
||||
URxvt*color13: #F854F8
|
||||
URxvt*color14: #50FCF8
|
||||
URxvt*color15: #F8FCF8
|
||||
URxvt*urgentOnBell: true
|
||||
URxvt*visualBell: true
|
||||
URxvt*fading: 50
|
||||
URxvt*fadeColor: black
|
||||
URxvt*tintColor: white
|
||||
URxvt*shading: 30
|
||||
URxvt*blurRadius: 5
|
||||
URxvt*urlLauncher:firefox
|
||||
URxvt*jumpScroll: true
|
||||
URxvt*scrollWithBuffer: true
|
||||
URxvt*scrollTtyOutput: false
|
||||
URxvt*scrollTtyKeypress: true
|
||||
|
||||
xterm*termName: xterm
|
||||
xterm*background: #000000
|
||||
xterm*foreground: #A8A8A8
|
||||
XTerm*loginShell: true
|
||||
XTerm*termName: xterm-color
|
||||
XTerm*faceName: Terminus
|
||||
XTerm*faceSize: 10
|
||||
!XTerm*internalBorder: 10
|
||||
XTerm*highlightSelection: true
|
||||
XTerm*cursorBlink: false
|
||||
XTerm*utf8: 1
|
||||
XTerm*scrollBar: false
|
||||
Xterm*scrollBarBorder: 0
|
||||
@@ -1,20 +0,0 @@
|
||||
Xft.dpi: 156
|
||||
Xft.antialias: true
|
||||
Xft.hinting: true
|
||||
Xft.rgba: rgb
|
||||
Xft.hintstyle: hintslight
|
||||
|
||||
xterm*font: -xos4-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*
|
||||
xterm*termName: xterm
|
||||
xterm*background: #000000
|
||||
xterm*foreground: #A8A8A8
|
||||
XTerm*loginShell: true
|
||||
XTerm*termName: xterm-color
|
||||
XTerm*faceName: Terminus
|
||||
XTerm*faceSize: 12
|
||||
!XTerm*internalBorder: 10
|
||||
XTerm*highlightSelection: true
|
||||
XTerm*cursorBlink: false
|
||||
XTerm*utf8: 1
|
||||
XTerm*scrollBar: false
|
||||
Xterm*scrollBarBorder: 0
|
||||
@@ -1,3 +0,0 @@
|
||||
#sidebar-box {
|
||||
background-color: rgb(59, 59, 62) !important;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
@-moz-document url("about:newtab") {
|
||||
body {
|
||||
background-color: #333 !important;
|
||||
}
|
||||
}
|
||||
@@ -1,493 +0,0 @@
|
||||
-- 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")
|
||||
|
||||
-- Awesompd
|
||||
require("awesompd/awesompd")
|
||||
|
||||
-- Sound Control
|
||||
function pulseDevice()
|
||||
local f = io.popen("pactl info | grep '^Default Sink'")
|
||||
local d = f:read()
|
||||
local pulse_device_name = string.gsub(d, ".*: (.*)", "%1")
|
||||
f:close()
|
||||
return pulse_device_name
|
||||
end
|
||||
function volumeUp()
|
||||
pulse_device_name = pulseDevice()
|
||||
local step = 655
|
||||
local f = io.popen("pacmd dump |grep 'set-sink-volume "..pulse_device_name.."'")
|
||||
local v = f:read()
|
||||
local volume = tonumber(string.sub(v, string.find(v, 'x') - 1))
|
||||
local newVolume = volume + step
|
||||
if newVolume > 65536 then
|
||||
newVolume = 65536
|
||||
end
|
||||
io.popen("pacmd set-sink-volume "..pulse_device_name.." "..newVolume)
|
||||
volumeInfo()
|
||||
f:close()
|
||||
end
|
||||
function volumeDown()
|
||||
pulse_device_name = pulseDevice()
|
||||
local step = 655
|
||||
local f = io.popen("pacmd dump |grep 'set-sink-volume "..pulse_device_name.."'")
|
||||
local v = f:read()
|
||||
local volume = tonumber(string.sub(v, string.find(v, 'x') - 1))
|
||||
local newVolume = volume - step
|
||||
if newVolume < 0 then
|
||||
newVolume = 0
|
||||
end
|
||||
io.popen("pacmd set-sink-volume "..pulse_device_name.." "..newVolume)
|
||||
volumeInfo()
|
||||
f:close()
|
||||
end
|
||||
function volumeMute()
|
||||
pulse_device_name = pulseDevice()
|
||||
local g = io.popen("pacmd dump |grep 'set-sink-mute "..pulse_device_name.."'")
|
||||
local mute = g:read()
|
||||
if string.find(mute, "no") then
|
||||
io.popen("pacmd set-sink-mute "..pulse_device_name.." yes")
|
||||
else
|
||||
io.popen("pacmd set-sink-mute "..pulse_device_name.." no")
|
||||
end
|
||||
volumeInfo()
|
||||
g:close()
|
||||
end
|
||||
function volumeInfo()
|
||||
pulse_device_name = pulseDevice()
|
||||
volmin = 0
|
||||
volmax = 65536
|
||||
local f = io.popen("pacmd dump |grep 'set-sink-volume "..pulse_device_name.."'")
|
||||
local g = io.popen("pacmd dump |grep 'set-sink-mute "..pulse_device_name.."'")
|
||||
local v = f:read()
|
||||
local mute = g:read()
|
||||
if string.find(mute, "no") then
|
||||
volume = math.floor(tonumber(string.sub(v, string.find(v, 'x')-1)) * 100 / volmax).." %"
|
||||
else
|
||||
volume = "✕"
|
||||
end
|
||||
volumewidget.text = "𝅘𝅥𝅮 "..volume.."|"
|
||||
f:close()
|
||||
g:close()
|
||||
end
|
||||
|
||||
-- {{{ Variable definitions
|
||||
-- Themes define colours, icons, and wallpapers
|
||||
beautiful.init(".config/awesome/theme.lua")
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "x-terminal-emulator"
|
||||
editor = os.getenv("EDITOR") or "editor"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
|
||||
-- Default modkey.
|
||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||
-- If you do not like this or do not have such a key,
|
||||
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||
modkey = "Mod4"
|
||||
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
layouts =
|
||||
{
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Tags
|
||||
-- Define a tag table which hold all screen tags.
|
||||
tags = {
|
||||
names = { "terms", "www", "video", "mail", 5, 6, 7, 8, 9 },
|
||||
layout = { layouts[3], layouts[3], layouts[3], layouts[3], layouts[3],
|
||||
layouts[3], layouts[3], layouts[3], layouts[3]
|
||||
}}
|
||||
for s = 1, screen.count() do
|
||||
-- Each screen has its own tag table.
|
||||
tags[s] = awful.tag(tags.names, s, tags.layout)
|
||||
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 },
|
||||
{ "Debian", debian.menu.Debian_menu.Debian },
|
||||
{ "open terminal", terminal },
|
||||
{ "change background", "/home/meutel/bin/rotate_wallpapers.sh" }
|
||||
}
|
||||
})
|
||||
|
||||
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
|
||||
menu = mymainmenu })
|
||||
-- }}}
|
||||
|
||||
-- {{{ Awesompd
|
||||
musicwidget = awesompd:create() -- Create awesompd widget
|
||||
musicwidget.font = "Terminus" -- Set widget font
|
||||
musicwidget.scrolling = true -- If true, the text in the widget will be scrolled
|
||||
musicwidget.output_size = 60 -- Set the size of widget in symbols
|
||||
musicwidget.update_interval = 10 -- Set the update interval in seconds
|
||||
-- Set the folder where icons are located (change username to your login name)
|
||||
musicwidget.path_to_icons = "/home/meutel/.config/awesome/awesompd/icons"
|
||||
-- Set the default music format for Jamendo streams. You can change
|
||||
-- this option on the fly in awesompd itself.
|
||||
-- possible formats: awesompd.FORMAT_MP3, awesompd.FORMAT_OGG
|
||||
-- musicwidget.jamendo_format = awesompd.FORMAT_MP3
|
||||
-- If true, song notifications for Jamendo tracks and local tracks will also contain
|
||||
-- album cover image.
|
||||
musicwidget.show_album_cover = true
|
||||
-- Specify how big in pixels should an album cover be. Maximum value
|
||||
-- is 100.
|
||||
musicwidget.album_cover_size = 50
|
||||
-- This option is necessary if you want the album covers to be shown
|
||||
-- for your local tracks.
|
||||
-- musicwidget.mpd_config = "/home/username/.mpdconf"
|
||||
-- Specify the browser you use so awesompd can open links from
|
||||
-- Jamendo in it.
|
||||
-- musicwidget.browser = "firefox"
|
||||
-- Specify decorators on the left and the right side of the
|
||||
-- widget. Or just leave empty strings if you decorate the widget
|
||||
-- from outside.
|
||||
musicwidget.ldecorator = " "
|
||||
musicwidget.rdecorator = " |"
|
||||
-- Set all the servers to work with (here can be any servers you use)
|
||||
musicwidget.servers = {
|
||||
{ server = "localhost",
|
||||
port = 6600 },
|
||||
}
|
||||
-- Set the buttons of the widget
|
||||
musicwidget:register_buttons({ { "", awesompd.MOUSE_LEFT, musicwidget:command_toggle() },
|
||||
{ "Control", awesompd.MOUSE_SCROLL_UP, musicwidget:command_prev_track() },
|
||||
{ "Control", awesompd.MOUSE_SCROLL_DOWN, musicwidget:command_next_track() },
|
||||
{ "", awesompd.MOUSE_SCROLL_UP, musicwidget:command_volume_up() },
|
||||
{ "", awesompd.MOUSE_SCROLL_DOWN, musicwidget:command_volume_down() },
|
||||
{ "", awesompd.MOUSE_RIGHT, musicwidget:command_show_menu() } })
|
||||
musicwidget:run() -- After all configuration is done, run the widget
|
||||
-- }}}
|
||||
|
||||
-- {{{ Volume widget
|
||||
volumewidget = widget({type = "textbox", name = "volumewidget", align = "right"})
|
||||
volumeInfo()
|
||||
-- }}}
|
||||
|
||||
-- {{{ 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,
|
||||
volumewidget,
|
||||
musicwidget.widget, -- Awesompd widget is added like this
|
||||
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),
|
||||
|
||||
-- Multimedia keys
|
||||
-- XF86AudioMute XF86AudioLowerVolume XF86AudioRaiseVolume XF86AudioPlay XF86AudioPrev XF86AudioNext XF86Calculator XF86Mail XF86HomePage XF86Tools
|
||||
awful.key({ }, "XF86AudioRaiseVolume", function() volumeUp() end ),
|
||||
awful.key({ }, "XF86AudioLowerVolume", function() volumeDown() end ),
|
||||
awful.key({ }, "XF86AudioMute", function() volumeMute() end ),
|
||||
awful.key({ }, "XF86AudioPlay", function() awful.util.spawn("mpc toggle") end),
|
||||
awful.key({ }, "XF86AudioPrev", function() awful.util.spawn("mpc prev") end),
|
||||
awful.key({ }, "XF86AudioNext", function() awful.util.spawn("mpc next") end),
|
||||
awful.key({ }, "XF86Calculator", function() awful.util.spawn("mpc stop") 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 = "pinentry" },
|
||||
properties = { floating = true } },
|
||||
{ rule = { class = "Display", name = "ImageMagick.*" },
|
||||
properties = { floating = true } },
|
||||
{ rule = { class = "feh" },
|
||||
properties = { floating = true } },
|
||||
{ rule = { class = "gimp" },
|
||||
properties = { floating = true } },
|
||||
-- Set Sylpheed to always map on tags number 4 of screen 1.
|
||||
{ rule = { class = "Icedove" },
|
||||
properties = { tag = tags[1][4] } },
|
||||
-- Set Sylpheed to always map on tags number 4 of screen 1.
|
||||
{ rule = { class = "Sylpheed" },
|
||||
properties = { tag = tags[1][4] } },
|
||||
-- Set Firefox to always map on tags number 2 of screen 1.
|
||||
{ rule = { class = "Iceweasel" },
|
||||
properties = { tag = tags[1][2], floating = false } },
|
||||
{ rule_any = { class = { "X-terminal-emulator", "MPlayer", "Totem" } },
|
||||
callback = awful.client.setslave },
|
||||
{ rule = { type = "dialog" },
|
||||
callback = awful.client.setslave },
|
||||
{ rule = { role = "browser"},
|
||||
properties = { tag = tags[1][2] } },
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.add_signal("manage", function (c, startup)
|
||||
-- Add a titlebar
|
||||
-- awful.titlebar.add(c, { modkey = modkey })
|
||||
|
||||
-- Enable sloppy focus
|
||||
c:add_signal("mouse::enter", function(c)
|
||||
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
|
||||
and awful.client.focus.filter(c) then
|
||||
client.focus = c
|
||||
end
|
||||
end)
|
||||
|
||||
if not startup then
|
||||
-- Set the windows at the slave,
|
||||
-- i.e. put it at the end of others instead of setting it master.
|
||||
-- awful.client.setslave(c)
|
||||
|
||||
-- Put windows in a smart way, only if they does not set an initial position.
|
||||
if not c.size_hints.user_position and not c.size_hints.program_position then
|
||||
awful.placement.no_overlap(c)
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
|
||||
client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Autostart
|
||||
-- set master window width ratio on second tag
|
||||
awful.tag.setmwfact(0.65,tags[1][2])
|
||||
-- }}}
|
||||
@@ -1,96 +0,0 @@
|
||||
---------------------------
|
||||
-- Default awesome theme --
|
||||
---------------------------
|
||||
|
||||
theme = {}
|
||||
|
||||
theme.font = "sans 8"
|
||||
|
||||
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 = "2"
|
||||
theme.border_normal = "#000000"
|
||||
theme.border_focus = "#ffa500"
|
||||
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 -l" }
|
||||
|
||||
-- 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
|
||||
@@ -1,445 +0,0 @@
|
||||
-- Standard awesome library
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
awful.rules = require("awful.rules")
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
local menubar = require("menubar")
|
||||
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors })
|
||||
end
|
||||
|
||||
-- Handle runtime errors after startup
|
||||
do
|
||||
local in_error = false
|
||||
awesome.connect_signal("debug::error", function (err)
|
||||
-- Make sure we don't go into an endless error loop
|
||||
if in_error then return end
|
||||
in_error = true
|
||||
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, an error happened!",
|
||||
text = err })
|
||||
in_error = false
|
||||
end)
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Variable definitions
|
||||
-- Themes define colours, icons, font and wallpapers.
|
||||
beautiful.init("/home/meutel/.config/awesome/theme.lua")
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "xterm"
|
||||
editor = os.getenv("EDITOR") or "vi"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
|
||||
-- Default modkey.
|
||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||
-- If you do not like this or do not have such a key,
|
||||
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||
modkey = "Mod4"
|
||||
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
local layouts =
|
||||
{
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
for s = 1, screen.count() do
|
||||
gears.wallpaper.maximized(beautiful.wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ 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[2])
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Menu
|
||||
-- Create a laucher widget and a main menu
|
||||
myawesomemenu = {
|
||||
{ "manual", terminal .. " -e man awesome" },
|
||||
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||
{ "restart", awesome.restart },
|
||||
{ "quit", awesome.quit }
|
||||
}
|
||||
|
||||
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||
{ "open terminal", terminal }
|
||||
}
|
||||
})
|
||||
|
||||
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
|
||||
menu = mymainmenu })
|
||||
|
||||
-- Menubar configuration
|
||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
||||
-- }}}
|
||||
|
||||
-- {{{ Wibox
|
||||
-- Create a textclock widget
|
||||
mytextclock = awful.widget.textclock()
|
||||
|
||||
-- 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, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
|
||||
awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
|
||||
)
|
||||
mytasklist = {}
|
||||
mytasklist.buttons = awful.util.table.join(
|
||||
awful.button({ }, 1, function (c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
-- Without this, the following
|
||||
-- :isvisible() makes no sense
|
||||
c.minimized = false
|
||||
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({
|
||||
theme = { 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 })
|
||||
|
||||
-- Widgets that are aligned to the left
|
||||
local left_layout = wibox.layout.fixed.horizontal()
|
||||
left_layout:add(mylauncher)
|
||||
left_layout:add(mytaglist[s])
|
||||
left_layout:add(mypromptbox[s])
|
||||
|
||||
-- Widgets that are aligned to the right
|
||||
local right_layout = wibox.layout.fixed.horizontal()
|
||||
if s == 1 then right_layout:add(wibox.widget.systray()) end
|
||||
right_layout:add(mytextclock)
|
||||
right_layout:add(mylayoutbox[s])
|
||||
|
||||
-- Now bring it all together (with the tasklist in the middle)
|
||||
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
|
||||
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() end),
|
||||
|
||||
-- Layout manipulation
|
||||
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
|
||||
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
|
||||
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
|
||||
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
|
||||
awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
|
||||
awful.key({ modkey, }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end),
|
||||
|
||||
-- Standard program
|
||||
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart),
|
||||
awful.key({ modkey, "Shift" }, "q", awesome.quit),
|
||||
|
||||
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
|
||||
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
|
||||
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
|
||||
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
|
||||
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
|
||||
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
|
||||
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
|
||||
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
|
||||
|
||||
awful.key({ modkey, "Control" }, "n", awful.client.restore),
|
||||
|
||||
-- Prompt
|
||||
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
|
||||
|
||||
awful.key({ modkey }, "x",
|
||||
function ()
|
||||
awful.prompt.run({ prompt = "Run Lua code: " },
|
||||
mypromptbox[mouse.screen].widget,
|
||||
awful.util.eval, nil,
|
||||
awful.util.getdir("cache") .. "/history_eval")
|
||||
end),
|
||||
-- Menubar
|
||||
awful.key({ modkey }, "p", function() menubar.show() 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, }, "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)
|
||||
)
|
||||
|
||||
-- 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, 9 do
|
||||
globalkeys = awful.util.table.join(globalkeys,
|
||||
-- View tag only.
|
||||
awful.key({ modkey }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = mouse.screen
|
||||
local tag = awful.tag.gettags(screen)[i]
|
||||
if tag then
|
||||
awful.tag.viewonly(tag)
|
||||
end
|
||||
end),
|
||||
-- Toggle tag.
|
||||
awful.key({ modkey, "Control" }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = mouse.screen
|
||||
local tag = awful.tag.gettags(screen)[i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end),
|
||||
-- Move client to tag.
|
||||
awful.key({ modkey, "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = awful.tag.gettags(client.focus.screen)[i]
|
||||
if tag then
|
||||
awful.client.movetotag(tag)
|
||||
end
|
||||
end
|
||||
end),
|
||||
-- Toggle tag.
|
||||
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = awful.tag.gettags(client.focus.screen)[i]
|
||||
if tag then
|
||||
awful.client.toggletag(tag)
|
||||
end
|
||||
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
|
||||
-- Rules to apply to new clients (through the "manage" signal).
|
||||
awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{ rule = { },
|
||||
properties = { border_width = beautiful.border_width,
|
||||
border_color = beautiful.border_normal,
|
||||
focus = awful.client.focus.filter,
|
||||
raise = 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.connect_signal("manage", function (c, startup)
|
||||
-- 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
|
||||
|
||||
local titlebars_enabled = false
|
||||
if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
|
||||
-- buttons for the titlebar
|
||||
local buttons = awful.util.table.join(
|
||||
awful.button({ }, 1, function()
|
||||
client.focus = c
|
||||
c:raise()
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
client.focus = c
|
||||
c:raise()
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
|
||||
-- Widgets that are aligned to the left
|
||||
local left_layout = wibox.layout.fixed.horizontal()
|
||||
left_layout:add(awful.titlebar.widget.iconwidget(c))
|
||||
left_layout:buttons(buttons)
|
||||
|
||||
-- Widgets that are aligned to the right
|
||||
local right_layout = wibox.layout.fixed.horizontal()
|
||||
right_layout:add(awful.titlebar.widget.floatingbutton(c))
|
||||
right_layout:add(awful.titlebar.widget.maximizedbutton(c))
|
||||
right_layout:add(awful.titlebar.widget.stickybutton(c))
|
||||
right_layout:add(awful.titlebar.widget.ontopbutton(c))
|
||||
right_layout:add(awful.titlebar.widget.closebutton(c))
|
||||
|
||||
-- The title goes in the middle
|
||||
local middle_layout = wibox.layout.flex.horizontal()
|
||||
local title = awful.titlebar.widget.titlewidget(c)
|
||||
title:set_align("center")
|
||||
middle_layout:add(title)
|
||||
middle_layout:buttons(buttons)
|
||||
|
||||
-- Now bring it all together
|
||||
local layout = wibox.layout.align.horizontal()
|
||||
layout:set_left(left_layout)
|
||||
layout:set_right(right_layout)
|
||||
layout:set_middle(middle_layout)
|
||||
|
||||
awful.titlebar(c):set_widget(layout)
|
||||
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)
|
||||
-- }}}
|
||||
@@ -1,99 +0,0 @@
|
||||
---------------------------
|
||||
-- Default awesome theme --
|
||||
---------------------------
|
||||
|
||||
theme = {}
|
||||
|
||||
theme.font = "sans 8"
|
||||
|
||||
theme.bg_normal = "#222222"
|
||||
theme.bg_focus = "#535d6c"
|
||||
theme.bg_urgent = "#ff0000"
|
||||
theme.bg_minimize = "#444444"
|
||||
theme.bg_systray = theme.bg_normal
|
||||
|
||||
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_marked = "#91231c"
|
||||
|
||||
-- There are other variable sets
|
||||
-- overriding the default one when
|
||||
-- defined, the sets are:
|
||||
-- taglist_[bg|fg]_[focus|urgent|occupied|empty]
|
||||
-- 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/local/share/awesome/themes/default/taglist/squarefw.png"
|
||||
theme.taglist_squares_unsel = "/usr/local/share/awesome/themes/default/taglist/squarew.png"
|
||||
|
||||
-- Variables set for theming the menu:
|
||||
-- menu_[bg|fg]_[normal|focus]
|
||||
-- menu_[border_color|border_width]
|
||||
theme.menu_submenu_icon = "/usr/local/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/local/share/awesome/themes/default/titlebar/close_normal.png"
|
||||
theme.titlebar_close_button_focus = "/usr/local/share/awesome/themes/default/titlebar/close_focus.png"
|
||||
|
||||
theme.titlebar_ontop_button_normal_inactive = "/usr/local/share/awesome/themes/default/titlebar/ontop_normal_inactive.png"
|
||||
theme.titlebar_ontop_button_focus_inactive = "/usr/local/share/awesome/themes/default/titlebar/ontop_focus_inactive.png"
|
||||
theme.titlebar_ontop_button_normal_active = "/usr/local/share/awesome/themes/default/titlebar/ontop_normal_active.png"
|
||||
theme.titlebar_ontop_button_focus_active = "/usr/local/share/awesome/themes/default/titlebar/ontop_focus_active.png"
|
||||
|
||||
theme.titlebar_sticky_button_normal_inactive = "/usr/local/share/awesome/themes/default/titlebar/sticky_normal_inactive.png"
|
||||
theme.titlebar_sticky_button_focus_inactive = "/usr/local/share/awesome/themes/default/titlebar/sticky_focus_inactive.png"
|
||||
theme.titlebar_sticky_button_normal_active = "/usr/local/share/awesome/themes/default/titlebar/sticky_normal_active.png"
|
||||
theme.titlebar_sticky_button_focus_active = "/usr/local/share/awesome/themes/default/titlebar/sticky_focus_active.png"
|
||||
|
||||
theme.titlebar_floating_button_normal_inactive = "/usr/local/share/awesome/themes/default/titlebar/floating_normal_inactive.png"
|
||||
theme.titlebar_floating_button_focus_inactive = "/usr/local/share/awesome/themes/default/titlebar/floating_focus_inactive.png"
|
||||
theme.titlebar_floating_button_normal_active = "/usr/local/share/awesome/themes/default/titlebar/floating_normal_active.png"
|
||||
theme.titlebar_floating_button_focus_active = "/usr/local/share/awesome/themes/default/titlebar/floating_focus_active.png"
|
||||
|
||||
theme.titlebar_maximized_button_normal_inactive = "/usr/local/share/awesome/themes/default/titlebar/maximized_normal_inactive.png"
|
||||
theme.titlebar_maximized_button_focus_inactive = "/usr/local/share/awesome/themes/default/titlebar/maximized_focus_inactive.png"
|
||||
theme.titlebar_maximized_button_normal_active = "/usr/local/share/awesome/themes/default/titlebar/maximized_normal_active.png"
|
||||
theme.titlebar_maximized_button_focus_active = "/usr/local/share/awesome/themes/default/titlebar/maximized_focus_active.png"
|
||||
|
||||
theme.wallpaper = "/home/meutel/images/wallpapers/openbsd/thinksecurelyblackandwhite_1920x1200.png"
|
||||
|
||||
-- You can use your own layout icons like this:
|
||||
theme.layout_fairh = "/usr/local/share/awesome/themes/default/layouts/fairhw.png"
|
||||
theme.layout_fairv = "/usr/local/share/awesome/themes/default/layouts/fairvw.png"
|
||||
theme.layout_floating = "/usr/local/share/awesome/themes/default/layouts/floatingw.png"
|
||||
theme.layout_magnifier = "/usr/local/share/awesome/themes/default/layouts/magnifierw.png"
|
||||
theme.layout_max = "/usr/local/share/awesome/themes/default/layouts/maxw.png"
|
||||
theme.layout_fullscreen = "/usr/local/share/awesome/themes/default/layouts/fullscreenw.png"
|
||||
theme.layout_tilebottom = "/usr/local/share/awesome/themes/default/layouts/tilebottomw.png"
|
||||
theme.layout_tileleft = "/usr/local/share/awesome/themes/default/layouts/tileleftw.png"
|
||||
theme.layout_tile = "/usr/local/share/awesome/themes/default/layouts/tilew.png"
|
||||
theme.layout_tiletop = "/usr/local/share/awesome/themes/default/layouts/tiletopw.png"
|
||||
theme.layout_spiral = "/usr/local/share/awesome/themes/default/layouts/spiralw.png"
|
||||
theme.layout_dwindle = "/usr/local/share/awesome/themes/default/layouts/dwindlew.png"
|
||||
|
||||
theme.awesome_icon = "/usr/local/share/awesome/icons/awesome16.png"
|
||||
|
||||
-- Define the icon theme for application icons. If not set then the icons
|
||||
-- from /usr/local/share/icons and /usr/local/share/icons/hicolor will be used.
|
||||
theme.icon_theme = nil
|
||||
|
||||
return theme
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,232 +0,0 @@
|
||||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $leftscr HDMI-0
|
||||
set $rightscr DVI-I-1
|
||||
|
||||
set $mod Mod4
|
||||
set $base00 #101218
|
||||
set $base01 #1f222d
|
||||
set $base02 #252936
|
||||
set $base03 #7780a1
|
||||
set $base04 #C0C5CE
|
||||
set $base05 #d1d4e0
|
||||
set $base06 #C9CCDB
|
||||
set $base07 #ffffff
|
||||
set $base08 #ee829f
|
||||
set $base09 #f99170
|
||||
set $base0A #ffefcc
|
||||
set $base0B #a5ffe1
|
||||
set $base0C #97e0ff
|
||||
set $base0D #97bbf7
|
||||
set $base0E #c0b7f9
|
||||
set $base0F #fcc09e
|
||||
set $theme ~/.i3/rofi.theme
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 10
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# Before i3 v4.8, we used to recommend this one as the default:
|
||||
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||
# font, it doesn’t scale on retina/hidpi displays.
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+u exec rofi -theme $theme -show ssh -ssh-command "{terminal} -e '{ssh-client} {host}'"
|
||||
bindsym $mod+i exec ~/.i3/menu.sh
|
||||
bindsym $mod+o exec rofi -modi "browser:~/.i3/rofi-file-browser.sh" -show browser -theme $theme
|
||||
bindsym $mod+n exec rofi -show run -theme $theme
|
||||
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
# installed.
|
||||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+ISO_Level3_Shift focus left
|
||||
bindsym $mod+Super_R focus down
|
||||
bindsym $mod+Print focus up
|
||||
# move focused window
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Alt_R move left
|
||||
bindsym $mod+Shift+Super_R move down
|
||||
bindsym $mod+Shift+Print move up
|
||||
bindsym $mod+Shift+(null) move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindcode $mod+20 split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindcode $mod+21 split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
bindcode $mod+22 exec mpc toggle
|
||||
bindcode $mod+99 exec mpc vol +10
|
||||
bindcode $mod+105 exec mpc vol -10
|
||||
bindcode $mod+34 exec mpc prev
|
||||
bindcode $mod+35 exec mpc next
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
bindsym $mod+backslash exec /usr/home/meutel/bin/rndwallp
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
set $workspace1 "1: Firefox "
|
||||
set $workspace2 "2"
|
||||
set $workspace3 "3"
|
||||
set $workspace4 "4"
|
||||
set $workspace5 "5"
|
||||
set $workspace6 "6"
|
||||
set $workspace7 "7"
|
||||
set $workspace8 "8"
|
||||
set $workspace9 "9"
|
||||
set $workspace10 "10"
|
||||
|
||||
workspace $workspace1 output $leftscr
|
||||
workspace $workspace9 output $leftscr
|
||||
workspace $workspace2 output $rightscr
|
||||
workspace $workspace10 output $rightscr
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace $workspace1
|
||||
bindsym $mod+2 workspace $workspace2
|
||||
bindsym $mod+3 workspace $workspace3
|
||||
bindsym $mod+4 workspace $workspace4
|
||||
bindsym $mod+5 workspace $workspace5
|
||||
bindsym $mod+6 workspace $workspace6
|
||||
bindsym $mod+7 workspace $workspace7
|
||||
bindsym $mod+8 workspace $workspace8
|
||||
bindsym $mod+9 workspace $workspace9
|
||||
bindsym $mod+0 workspace $workspace10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $workspace1
|
||||
bindsym $mod+Shift+2 move container to workspace $workspace2
|
||||
bindsym $mod+Shift+3 move container to workspace $workspace3
|
||||
bindsym $mod+Shift+4 move container to workspace $workspace4
|
||||
bindsym $mod+Shift+5 move container to workspace $workspace5
|
||||
bindsym $mod+Shift+6 move container to workspace $workspace6
|
||||
bindsym $mod+Shift+7 move container to workspace $workspace7
|
||||
bindsym $mod+Shift+8 move container to workspace $workspace8
|
||||
bindsym $mod+Shift+9 move container to workspace $workspace9
|
||||
bindsym $mod+Shift+0 move container to workspace $workspace10
|
||||
|
||||
assign [class="Firefox"] $workspace1
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||
# reboot/poweroff
|
||||
bindsym $mod+Shift+x exec "i3-nagbar -t warning -m 'You pressed the shutdown shortcut. Do you really want to shutdown?' -b 'Yes, reboot' 'exec sudo /sbin/reboot' -b 'Yes, power off' 'exec sudo /sbin/poweroff'"
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Alt_R resize shrink width 10 px or 10 ppt
|
||||
bindsym Super_R resize grow height 10 px or 10 ppt
|
||||
bindsym Print resize shrink height 10 px or 10 ppt
|
||||
bindsym (null) resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Windows Colours
|
||||
# border background text indicator
|
||||
client.focused $base01 $base01 $base07 $base0F
|
||||
client.focused_inactive $base02 $base02 $base03 $base0F
|
||||
client.unfocused $base02 $base02 $base03 $base0F
|
||||
client.urgent $base02 $base08 $base00 $base0F
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
position top
|
||||
status_command ~/.local/bin/py3status -c ~/.i3/status -l .i3/logfile
|
||||
font pango:monospace 11
|
||||
separator_symbol ""
|
||||
colors {
|
||||
separator $base03
|
||||
background $base01
|
||||
statusline $base05
|
||||
# border background text
|
||||
focused_workspace $base01 $base01 $base07
|
||||
active_workspace $base01 $base02 $base03
|
||||
inactive_workspace $base01 $base01 $base03
|
||||
urgent_workspace $base01 $base01 $base08
|
||||
}
|
||||
}
|
||||
|
||||
exec xrandr --output $leftscr --left-of $rightscr
|
||||
exec feh --bg-fill ~/.config/wallpaper.jpg
|
||||
exec --no-startup-id 'i3-msg "workspace $workspace1; append_layout /home/meutel/.i3/wrksp1layout.json"'
|
||||
exec firefox
|
||||
exec owncloud
|
||||
@@ -1,10 +0,0 @@
|
||||
caja
|
||||
transgui
|
||||
easytag
|
||||
vlc
|
||||
sonata
|
||||
calibre
|
||||
idea
|
||||
firefox
|
||||
kobo_in
|
||||
kobo_out
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
theme="~/.i3/rofi.theme"
|
||||
cmd=$( cat ~/.i3/favs | rofi -dmenu -i -theme $theme )
|
||||
exec $cmd
|
||||
@@ -1,98 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Various options for the file browser script:
|
||||
ROFI_FB_GENERIC_FO="xdg-open" # command used for opening the selection
|
||||
ROFI_FB_PREV_LOC_FILE=~/.local/share/rofi/rofi_fb_prevloc
|
||||
ROFI_FB_HISTORY_FILE=~/.local/share/rofi/rofi_fb_history
|
||||
ROFI_FB_HISTORY_MAXCOUNT=5 # maximum number of history entries
|
||||
# Comment the next variable to always start in the last visited directory,
|
||||
# otherwise rofi_fb will start in the specified directory:
|
||||
ROFI_FB_START_DIR=$HOME # starting directory
|
||||
# Uncomment the following line to disable history:
|
||||
ROFI_FB_NO_HISTORY=1
|
||||
|
||||
|
||||
# Beginning of the script:
|
||||
# Create the directory for the files of the script
|
||||
if [ ! -d $(dirname "${ROFI_FB_PREV_LOC_FILE}") ]
|
||||
then
|
||||
mkdir -p "$(dirname "${ROFI_FB_PREV_LOC_FILE}")"
|
||||
fi
|
||||
if [ ! -d $(dirname "${ROFI_FB_HISTORY_FILE}") ]
|
||||
then
|
||||
mkdir -p "$(dirname "${ROFI_FB_HISTORY_FILE}")"
|
||||
fi
|
||||
|
||||
# Initialize $ROFI_FB_CUR_DIR
|
||||
if [ -d "${ROFI_FB_START_DIR}" ]
|
||||
then
|
||||
ROFI_FB_CUR_DIR="${ROFI_FB_START_DIR}"
|
||||
else
|
||||
ROFI_FB_CUR_DIR="$PWD"
|
||||
fi
|
||||
|
||||
# Read last location, otherwise we default to $ROFI_FB_START_DIR or $PWD.
|
||||
if [ -f "${ROFI_FB_PREV_LOC_FILE}" ]
|
||||
then
|
||||
ROFI_FB_CUR_DIR=$(cat "${ROFI_FB_PREV_LOC_FILE}")
|
||||
fi
|
||||
|
||||
# Handle argument.
|
||||
if [ -n "$@" ]
|
||||
then
|
||||
if [[ "$@" == /* ]]
|
||||
then
|
||||
ROFI_FB_CUR_DIR="$@"
|
||||
else
|
||||
ROFI_FB_CUR_DIR="${ROFI_FB_CUR_DIR}/$@"
|
||||
fi
|
||||
fi
|
||||
|
||||
# If argument is no directory.
|
||||
if [ ! -d "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
if [ -x "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
coproc ( "${ROFI_FB_CUR_DIR}" > /dev/null 2>&1 )
|
||||
exec 1>&-
|
||||
exit;
|
||||
elif [ -f "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
if [[ "${ROFI_FB_NO_HISTORY}" -ne 1 ]]
|
||||
then
|
||||
# Append selected entry to history and remove exceeding entries
|
||||
sed -i "s|${ROFI_FB_CUR_DIR}|##deleted##|g" "${ROFI_FB_HISTORY_FILE}"
|
||||
sed -i '/##deleted##/d' "${ROFI_FB_HISTORY_FILE}"
|
||||
echo "${ROFI_FB_CUR_DIR}" >> "${ROFI_FB_HISTORY_FILE}"
|
||||
if [ $(cat "${ROFI_FB_HISTORY_FILE}" | wc -l) -gt ${ROFI_FB_HISTORY_MAXCOUNT} ]
|
||||
then
|
||||
sed -i 1d "${ROFI_FB_HISTORY_FILE}"
|
||||
fi
|
||||
fi
|
||||
# Open the selected entry with $ROFI_FB_GENERIC_FO
|
||||
coproc ( "${ROFI_FB_GENERIC_FO}" "${ROFI_FB_CUR_DIR}" > /dev/null 2>&1 )
|
||||
if [ -d "${ROFI_FB_START_DIR}" ]
|
||||
then
|
||||
echo "${ROFI_FB_START_DIR}" > "${ROFI_FB_PREV_LOC_FILE}"
|
||||
fi
|
||||
exit;
|
||||
fi
|
||||
exit;
|
||||
fi
|
||||
|
||||
# Process current dir.
|
||||
if [ -n "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
ROFI_FB_CUR_DIR=$(readlink -f "${ROFI_FB_CUR_DIR}")
|
||||
echo "${ROFI_FB_CUR_DIR}" > "${ROFI_FB_PREV_LOC_FILE}"
|
||||
pushd "${ROFI_FB_CUR_DIR}" >/dev/null
|
||||
fi
|
||||
|
||||
# Output to rofi
|
||||
if [[ "${ROFI_FB_NO_HISTORY}" -ne 1 ]]
|
||||
then
|
||||
tac "${ROFI_FB_HISTORY_FILE}" | grep "${ROFI_FB_CUR_DIR}"
|
||||
fi
|
||||
echo ".."
|
||||
ls
|
||||
# vim:sw=4:ts=4:et:
|
||||
@@ -1,191 +0,0 @@
|
||||
/**
|
||||
* ROFI Color theme
|
||||
* User: Qball
|
||||
* Copyright: Dave Davenport
|
||||
*/
|
||||
|
||||
configuration {
|
||||
|
||||
// The display name of this browser
|
||||
display-ssh: " ";
|
||||
// The display name of this browser
|
||||
display-run: "";
|
||||
// The display name of this browser
|
||||
display-drun: "";
|
||||
// The display name of this browser
|
||||
display-window: "";
|
||||
display-combi: "";
|
||||
show-icons: true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* User: Qball
|
||||
* Copyright: Dave Davenport
|
||||
*/
|
||||
* {
|
||||
// Custom colors (t prefix = transparent)
|
||||
base00: #101218;
|
||||
base01: #1f222d;
|
||||
base02: #252936;
|
||||
tbase02 :#252936CC;
|
||||
base03: #7780a1;
|
||||
base04: #C0C5CE;
|
||||
base05: #d1d4e0;
|
||||
base06: #C9CCDB;
|
||||
base07: #ffffff;
|
||||
base08: #ee829f;
|
||||
base09: #f99170;
|
||||
base0A: #ffefcc;
|
||||
base0B: #a5ffe1;
|
||||
base0C: #97e0ff;
|
||||
base0D: #97bbf7;
|
||||
base0E: #c0b7f9;
|
||||
base0F: #fcc09e;
|
||||
|
||||
transparent: rgba(0,0,0,0.8);
|
||||
|
||||
bgrow: @tbase02;
|
||||
bordercolor: @base01;
|
||||
foreground: @base03;
|
||||
selectedbg: @base05;
|
||||
selectedfg: @base01;
|
||||
urgentcolor: @base0F;
|
||||
inputcolor: @base0E;
|
||||
tlightblack: @base02;
|
||||
magenta: @base08;
|
||||
msgbg: @base05;
|
||||
msgcolor: @base03;
|
||||
lightblue: @base03;
|
||||
backlight: @tbase02;
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
// Bold, Italic, Underline (base0E)
|
||||
highlight: underline bold #c0b7f9;
|
||||
|
||||
font: "Sauce Code Powerline Medium 12";
|
||||
}
|
||||
#window {
|
||||
location: center;
|
||||
anchor: center;
|
||||
transparency: "screenshot";
|
||||
padding: 10px;
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
color: @magenta;
|
||||
background-color: @transparent;
|
||||
spacing: 0;
|
||||
children: [vertb, mainbox];
|
||||
orientation: horizontal;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
#mainbox {
|
||||
spacing: 0;
|
||||
children: [ inputbar, message, listview ];
|
||||
}
|
||||
|
||||
#message {
|
||||
border-color: @bordercolor;
|
||||
border: 0px 2px 2px 2px;
|
||||
padding: 5;
|
||||
background-color: @msgbg;
|
||||
}
|
||||
#message {
|
||||
font: "Sauce Code Powerline ExtraLight 8";
|
||||
color: @msgcolor;
|
||||
}
|
||||
|
||||
#inputbar {
|
||||
color: @inputcolor;
|
||||
padding: 11px;
|
||||
background-color: @tlightblack;
|
||||
border: 2px 2px 2px 2px;
|
||||
border-radius: 15px 15px 0px 0px;
|
||||
border-color: @bordercolor;
|
||||
font: "Sauce Code Pro 18";
|
||||
}
|
||||
#entry,prompt,case-indicator {
|
||||
text-font: inherit;
|
||||
text-color:inherit;
|
||||
}
|
||||
#listview {
|
||||
padding: 8px;
|
||||
border-radius: 0px 0px 15px 15px;
|
||||
border-color: @bordercolor;
|
||||
border: 0px 2px 2px 2px;
|
||||
background-color: @bgrow;
|
||||
dynamic: false;
|
||||
lines: 10;
|
||||
columns: 2;
|
||||
}
|
||||
#element {
|
||||
padding: 3px;
|
||||
vertical-align: 0.5;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
color: @foreground;
|
||||
font:inherit;
|
||||
}
|
||||
#element selected.normal {
|
||||
background-color: @selectedbg;
|
||||
}
|
||||
#element normal active {
|
||||
foreground: @lightblue;
|
||||
}
|
||||
#element normal urgent {
|
||||
foreground: @urgentcolor;
|
||||
}
|
||||
#element alternate normal {
|
||||
}
|
||||
#element alternate active {
|
||||
foreground: @lightblue;
|
||||
}
|
||||
#element alternate urgent {
|
||||
foreground: @urgentcolor;
|
||||
}
|
||||
#element selected active {
|
||||
background-color: @lightblue;
|
||||
foreground: @selectedfg;
|
||||
}
|
||||
#element selected urgent {
|
||||
background-color: @urgentcolor;
|
||||
foreground: @selectedfg;
|
||||
}
|
||||
#element normal normal {
|
||||
|
||||
}
|
||||
|
||||
#vertb {
|
||||
expand: false;
|
||||
children: [ dummy0, sidebar, dummy1 ];
|
||||
}
|
||||
#dummy0, dummy1 {
|
||||
expand: true;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
expand: false;
|
||||
orientation: vertical;
|
||||
spacing: 0px;
|
||||
border: 0px 0px 0px 0px;
|
||||
}
|
||||
#button {
|
||||
font: "FontAwesome 22";
|
||||
padding: 6px;
|
||||
border: 2px 0px 2px 2px;
|
||||
border-radius: 4px 0px 0px 4px;
|
||||
background-color: @tlightblack;
|
||||
border-color: @bordercolor;
|
||||
color: @foreground;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
#button selected normal {
|
||||
color: @selectedfg;
|
||||
border: 2px 0px 2px 2px;
|
||||
background-color: @backlight;
|
||||
border-color: @bordercolor;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ssh-add -l > /dev/null 2>&1
|
||||
then
|
||||
echo -n ""
|
||||
else
|
||||
echo -n ""
|
||||
fi
|
||||
@@ -1,46 +0,0 @@
|
||||
general {
|
||||
output_format = "i3bar"
|
||||
interval = 5
|
||||
colors = true
|
||||
separator = " > "
|
||||
}
|
||||
|
||||
order += mpd_status
|
||||
#order += "ipv6"
|
||||
#order += "ethernet re0"
|
||||
order += "disk /"
|
||||
order += "disk /srv/data"
|
||||
order += "online_status"
|
||||
order += "load"
|
||||
order += "external_script ssh-agent"
|
||||
order += "tztime local"
|
||||
|
||||
online_status {
|
||||
icon_on = ""
|
||||
icon_off = ""
|
||||
}
|
||||
|
||||
ethernet "re0" {
|
||||
format_up = "%ip"
|
||||
}
|
||||
load {
|
||||
format = " %5min"
|
||||
}
|
||||
tztime local {
|
||||
locale = "fr_FR.UTF-8"
|
||||
format = "%A %e %B %H:%M"
|
||||
}
|
||||
disk "/" {
|
||||
format = " abra %free"
|
||||
}
|
||||
disk "/srv/data" {
|
||||
format = " zdata %free"
|
||||
}
|
||||
mpd_status {
|
||||
host = "meutel.net"
|
||||
state_pause = ""
|
||||
state_play = ""
|
||||
}
|
||||
external_script "ssh-agent" {
|
||||
script_path = "/home/meutel/.i3/ssh-agent-status.sh"
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
// vim:ts=4:sw=4:et
|
||||
{
|
||||
// splitv split container with 1 children
|
||||
"border": "normal",
|
||||
"floating": "auto_off",
|
||||
"layout": "splitv",
|
||||
"percent": 0.3,
|
||||
"type": "con",
|
||||
"nodes": [
|
||||
{
|
||||
"border": "normal",
|
||||
"current_border_width": 2,
|
||||
"floating": "auto_off",
|
||||
"geometry": {
|
||||
"height": 362,
|
||||
"width": 653,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"name": "Terminal",
|
||||
"percent": 1,
|
||||
"swallows": [
|
||||
{
|
||||
"class": "^Mate\\-terminal$"
|
||||
}
|
||||
],
|
||||
"type": "con"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
{
|
||||
"border": "normal",
|
||||
"current_border_width": 2,
|
||||
"floating": "auto_off",
|
||||
"geometry": {
|
||||
"height": 1035,
|
||||
"width": 1339,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"name": "Firefox",
|
||||
"percent": 0.7,
|
||||
"swallows": [
|
||||
{
|
||||
"class": "^Firefox$"
|
||||
}
|
||||
],
|
||||
"type": "con"
|
||||
}
|
||||
|
||||
@@ -1,198 +0,0 @@
|
||||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
set $base00 #101218
|
||||
set $base01 #1f222d
|
||||
set $base02 #252936
|
||||
set $base03 #7780a1
|
||||
set $base04 #C0C5CE
|
||||
set $base05 #d1d4e0
|
||||
set $base06 #C9CCDB
|
||||
set $base07 #ffffff
|
||||
set $base08 #ee829f
|
||||
set $base09 #f99170
|
||||
set $base0A #ffefcc
|
||||
set $base0B #a5ffe1
|
||||
set $base0C #97e0ff
|
||||
set $base0D #97bbf7
|
||||
set $base0E #c0b7f9
|
||||
set $base0F #fcc09e
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 8
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# Before i3 v4.8, we used to recommend this one as the default:
|
||||
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||
# font, it doesn’t scale on retina/hidpi displays.
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec /usr/X11R6/bin/xterm
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+d exec /usr/local/bin/dmenu_run
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
# installed.
|
||||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindcode $mod+20 split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindcode $mod+21 split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# switch to workspace
|
||||
bindcode $mod+10 workspace 1
|
||||
bindcode $mod+11 workspace 2
|
||||
bindcode $mod+12 workspace 3
|
||||
bindcode $mod+13 workspace 4
|
||||
bindcode $mod+14 workspace 5
|
||||
bindcode $mod+15 workspace 6
|
||||
bindcode $mod+16 workspace 7
|
||||
bindcode $mod+17 workspace 8
|
||||
bindcode $mod+18 workspace 9
|
||||
bindcode $mod+19 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+eacute move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+egrave move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+ccedilla move container to workspace 9
|
||||
bindsym $mod+Shift+agrave move container to workspace 10
|
||||
|
||||
# volume
|
||||
bindcode $mod+48 exec obsd-vol.sh -16
|
||||
bindcode $mod+51 exec obsd-vol.sh 16
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Windows Colours
|
||||
# border background text indicator
|
||||
client.focused $base01 $base01 $base07 $base0F
|
||||
client.focused_inactive $base02 $base02 $base03 $base0F
|
||||
client.unfocused $base02 $base02 $base03 $base0F
|
||||
client.urgent $base02 $base08 $base00 $base0F
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
position top
|
||||
status_command i3status -c .i3/i3status.conf
|
||||
colors {
|
||||
separator $base03
|
||||
background $base01
|
||||
statusline $base05
|
||||
# border background text
|
||||
focused_workspace $base01 $base01 $base07
|
||||
active_workspace $base01 $base02 $base03
|
||||
inactive_workspace $base01 $base01 $base03
|
||||
urgent_workspace $base01 $base01 $base08
|
||||
}
|
||||
}
|
||||
|
||||
exec feh --bg-scale /home/meutel/images/wallpapers/openbsd/thinksecurelyblackandwhite_1920x1200.png
|
||||
exec owncloud
|
||||
@@ -1,64 +0,0 @@
|
||||
# i3status configuration file.
|
||||
# see "man i3status" for documentation.
|
||||
|
||||
# It is important that this file is edited as UTF-8.
|
||||
# The following line should contain a sharp s:
|
||||
# ß
|
||||
# If the above line is not correctly displayed, fix your editor first!
|
||||
|
||||
general {
|
||||
output_format = "i3bar"
|
||||
colors = true
|
||||
interval = 5
|
||||
}
|
||||
|
||||
order += "ipv6"
|
||||
order += "disk /"
|
||||
order += "wireless _first_"
|
||||
order += "ethernet _first_"
|
||||
order += "battery all"
|
||||
#order += "load"
|
||||
order += "cpu_temperature cpu0"
|
||||
order += "cpu_temperature acpitz0"
|
||||
order += "volume master"
|
||||
order += "tztime local"
|
||||
|
||||
cpu_temperature cpu0 {
|
||||
format = "C: %degrees C"
|
||||
path = "cpu0"
|
||||
}
|
||||
|
||||
cpu_temperature acpitz0 {
|
||||
format = "TZ: %degrees C"
|
||||
}
|
||||
|
||||
wireless _first_ {
|
||||
format_up = "W: (%essid) %ip"
|
||||
format_down = "W: down"
|
||||
}
|
||||
|
||||
ethernet _first_ {
|
||||
format_up = "E: %ip"
|
||||
format_down = "E: down"
|
||||
}
|
||||
|
||||
battery all {
|
||||
format = "%status %percentage \% %remaining"
|
||||
}
|
||||
|
||||
tztime local {
|
||||
locale = "fr_FR.UTF-8"
|
||||
format = "%A %e %B %H:%M"
|
||||
}
|
||||
|
||||
load {
|
||||
format = "%1min"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "%avail"
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = "vol: %volume"
|
||||
}
|
||||
@@ -1,213 +0,0 @@
|
||||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
set $base00 #101218
|
||||
set $base01 #1f222d
|
||||
set $base02 #252936
|
||||
set $base03 #7780a1
|
||||
set $base04 #C0C5CE
|
||||
set $base05 #d1d4e0
|
||||
set $base06 #C9CCDB
|
||||
set $base07 #ffffff
|
||||
set $base08 #ee829f
|
||||
set $base09 #f99170
|
||||
set $base0A #ffefcc
|
||||
set $base0B #a5ffe1
|
||||
set $base0C #97e0ff
|
||||
set $base0D #97bbf7
|
||||
set $base0E #c0b7f9
|
||||
set $base0F #fcc09e
|
||||
|
||||
set $theme ~/.i3/rofi.theme
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 8
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# Before i3 v4.8, we used to recommend this one as the default:
|
||||
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||
# font, it doesn’t scale on retina/hidpi displays.
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec /usr/local/bin/roxterm
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
bindsym $mod+u exec rofi -theme $theme -show ssh -ssh-command "{terminal} -e '{ssh-client} {host}'"
|
||||
bindsym $mod+i exec ~/.i3/menu.sh
|
||||
bindsym $mod+o exec rofi -modi "browser:~/.i3/rofi-file-browser.sh" -show browser -theme $theme
|
||||
bindsym $mod+n exec rofi -show run -theme $theme
|
||||
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
# installed.
|
||||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindcode $mod+20 split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindcode $mod+21 split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# switch to workspace
|
||||
bindcode $mod+10 workspace 1
|
||||
bindcode $mod+11 workspace 2
|
||||
bindcode $mod+12 workspace 3
|
||||
bindcode $mod+13 workspace 4
|
||||
bindcode $mod+14 workspace 5
|
||||
bindcode $mod+15 workspace 6
|
||||
bindcode $mod+16 workspace 7
|
||||
bindcode $mod+17 workspace 8
|
||||
bindcode $mod+18 workspace 9
|
||||
bindcode $mod+19 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+2 move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+9 move container to workspace 9
|
||||
bindsym $mod+Shift+0 move container to workspace 10
|
||||
|
||||
# volume; keys F5 and F6
|
||||
bindcode $mod+71 exec obsd-vol.sh -16
|
||||
bindcode $mod+72 exec obsd-vol.sh 16
|
||||
|
||||
# brightness: keys F1 F2
|
||||
bindcode $mod+67 exec xbacklight -10
|
||||
bindcode $mod+68 exec xbacklight +10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||
|
||||
# lock screen
|
||||
bindsym $mod+Shift+z exec xlock -mode blank
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Windows Colours
|
||||
# border background text indicator
|
||||
client.focused $base01 $base01 $base07 $base0F
|
||||
client.focused_inactive $base02 $base02 $base03 $base0F
|
||||
client.unfocused $base02 $base02 $base03 $base0F
|
||||
client.urgent $base02 $base08 $base00 $base0F
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
position top
|
||||
status_command ~/.local/bin/py3status -c ~/.i3/i3status.conf -l ~/.i3/logfile
|
||||
font pango:monospace 8
|
||||
separator_symbol ""
|
||||
colors {
|
||||
separator $base03
|
||||
background $base01
|
||||
statusline $base05
|
||||
# border background text
|
||||
focused_workspace $base01 $base01 $base07
|
||||
active_workspace $base01 $base02 $base03
|
||||
inactive_workspace $base01 $base01 $base03
|
||||
urgent_workspace $base01 $base01 $base08
|
||||
}
|
||||
}
|
||||
|
||||
exec feh --bg-scale /home/meutel/.config/wallpaper.jpg
|
||||
exec owncloud
|
||||
exec xbacklight =20
|
||||
@@ -1,3 +0,0 @@
|
||||
thunar
|
||||
vlc
|
||||
firefox
|
||||
@@ -1,73 +0,0 @@
|
||||
# i3status configuration file.
|
||||
# see "man i3status" for documentation.
|
||||
|
||||
# It is important that this file is edited as UTF-8.
|
||||
# The following line should contain a sharp s:
|
||||
# ß
|
||||
# If the above line is not correctly displayed, fix your editor first!
|
||||
|
||||
general {
|
||||
output_format = "i3bar"
|
||||
colors = true
|
||||
interval = 5
|
||||
}
|
||||
|
||||
order += "battery all"
|
||||
order += "online_status"
|
||||
order += "external_script xbacklight_status"
|
||||
#order += "ipv6"
|
||||
order += "wireless _first_"
|
||||
order += "ethernet _first_"
|
||||
order += "disk /"
|
||||
order += "disk /home"
|
||||
order += "load"
|
||||
order += "cpu_temperature acpitz0"
|
||||
order += "volume master"
|
||||
order += "tztime local"
|
||||
|
||||
cpu_temperature acpitz0 {
|
||||
format = " %degrees ⁰C"
|
||||
}
|
||||
|
||||
online_status {
|
||||
icon_on = ""
|
||||
icon_off = ""
|
||||
}
|
||||
|
||||
wireless _first_ {
|
||||
format_up = " (%essid) %ip"
|
||||
format_down = " down"
|
||||
}
|
||||
|
||||
ethernet _first_ {
|
||||
format_up = " %ip"
|
||||
format_down = " down"
|
||||
}
|
||||
|
||||
battery all {
|
||||
format = " %status %percentage %remaining"
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "%A %e %B %H:%M"
|
||||
}
|
||||
|
||||
load {
|
||||
format = " %5min"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = " / %avail"
|
||||
}
|
||||
|
||||
disk "/home" {
|
||||
format = " /home %avail"
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = " %volume"
|
||||
}
|
||||
|
||||
external_script "xbacklight_status" {
|
||||
script_path = "/home/meutel/.i3/xbacklight_status.sh"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
theme="~/.i3/rofi.theme"
|
||||
cmd=$( cat ~/.i3/favs | rofi -dmenu -i -theme $theme )
|
||||
exec $cmd
|
||||
@@ -1,98 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Various options for the file browser script:
|
||||
ROFI_FB_GENERIC_FO="xdg-open" # command used for opening the selection
|
||||
ROFI_FB_PREV_LOC_FILE=~/.local/share/rofi/rofi_fb_prevloc
|
||||
ROFI_FB_HISTORY_FILE=~/.local/share/rofi/rofi_fb_history
|
||||
ROFI_FB_HISTORY_MAXCOUNT=5 # maximum number of history entries
|
||||
# Comment the next variable to always start in the last visited directory,
|
||||
# otherwise rofi_fb will start in the specified directory:
|
||||
ROFI_FB_START_DIR=$HOME # starting directory
|
||||
# Uncomment the following line to disable history:
|
||||
ROFI_FB_NO_HISTORY=1
|
||||
|
||||
|
||||
# Beginning of the script:
|
||||
# Create the directory for the files of the script
|
||||
if [ ! -d $(dirname "${ROFI_FB_PREV_LOC_FILE}") ]
|
||||
then
|
||||
mkdir -p "$(dirname "${ROFI_FB_PREV_LOC_FILE}")"
|
||||
fi
|
||||
if [ ! -d $(dirname "${ROFI_FB_HISTORY_FILE}") ]
|
||||
then
|
||||
mkdir -p "$(dirname "${ROFI_FB_HISTORY_FILE}")"
|
||||
fi
|
||||
|
||||
# Initialize $ROFI_FB_CUR_DIR
|
||||
if [ -d "${ROFI_FB_START_DIR}" ]
|
||||
then
|
||||
ROFI_FB_CUR_DIR="${ROFI_FB_START_DIR}"
|
||||
else
|
||||
ROFI_FB_CUR_DIR="$PWD"
|
||||
fi
|
||||
|
||||
# Read last location, otherwise we default to $ROFI_FB_START_DIR or $PWD.
|
||||
if [ -f "${ROFI_FB_PREV_LOC_FILE}" ]
|
||||
then
|
||||
ROFI_FB_CUR_DIR=$(cat "${ROFI_FB_PREV_LOC_FILE}")
|
||||
fi
|
||||
|
||||
# Handle argument.
|
||||
if [ -n "$@" ]
|
||||
then
|
||||
if [[ "$@" == /* ]]
|
||||
then
|
||||
ROFI_FB_CUR_DIR="$@"
|
||||
else
|
||||
ROFI_FB_CUR_DIR="${ROFI_FB_CUR_DIR}/$@"
|
||||
fi
|
||||
fi
|
||||
|
||||
# If argument is no directory.
|
||||
if [ ! -d "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
if [ -x "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
coproc ( "${ROFI_FB_CUR_DIR}" > /dev/null 2>&1 )
|
||||
exec 1>&-
|
||||
exit;
|
||||
elif [ -f "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
if [[ "${ROFI_FB_NO_HISTORY}" -ne 1 ]]
|
||||
then
|
||||
# Append selected entry to history and remove exceeding entries
|
||||
sed -i "s|${ROFI_FB_CUR_DIR}|##deleted##|g" "${ROFI_FB_HISTORY_FILE}"
|
||||
sed -i '/##deleted##/d' "${ROFI_FB_HISTORY_FILE}"
|
||||
echo "${ROFI_FB_CUR_DIR}" >> "${ROFI_FB_HISTORY_FILE}"
|
||||
if [ $(cat "${ROFI_FB_HISTORY_FILE}" | wc -l) -gt ${ROFI_FB_HISTORY_MAXCOUNT} ]
|
||||
then
|
||||
sed -i 1d "${ROFI_FB_HISTORY_FILE}"
|
||||
fi
|
||||
fi
|
||||
# Open the selected entry with $ROFI_FB_GENERIC_FO
|
||||
coproc ( "${ROFI_FB_GENERIC_FO}" "${ROFI_FB_CUR_DIR}" > /dev/null 2>&1 )
|
||||
if [ -d "${ROFI_FB_START_DIR}" ]
|
||||
then
|
||||
echo "${ROFI_FB_START_DIR}" > "${ROFI_FB_PREV_LOC_FILE}"
|
||||
fi
|
||||
exit;
|
||||
fi
|
||||
exit;
|
||||
fi
|
||||
|
||||
# Process current dir.
|
||||
if [ -n "${ROFI_FB_CUR_DIR}" ]
|
||||
then
|
||||
ROFI_FB_CUR_DIR=$(readlink -f "${ROFI_FB_CUR_DIR}")
|
||||
echo "${ROFI_FB_CUR_DIR}" > "${ROFI_FB_PREV_LOC_FILE}"
|
||||
pushd "${ROFI_FB_CUR_DIR}" >/dev/null
|
||||
fi
|
||||
|
||||
# Output to rofi
|
||||
if [[ "${ROFI_FB_NO_HISTORY}" -ne 1 ]]
|
||||
then
|
||||
tac "${ROFI_FB_HISTORY_FILE}" | grep "${ROFI_FB_CUR_DIR}"
|
||||
fi
|
||||
echo ".."
|
||||
ls
|
||||
# vim:sw=4:ts=4:et:
|
||||
@@ -1,191 +0,0 @@
|
||||
/**
|
||||
* ROFI Color theme
|
||||
* User: Qball
|
||||
* Copyright: Dave Davenport
|
||||
*/
|
||||
|
||||
configuration {
|
||||
|
||||
// The display name of this browser
|
||||
display-ssh: " ";
|
||||
// The display name of this browser
|
||||
display-run: "";
|
||||
// The display name of this browser
|
||||
display-drun: "";
|
||||
// The display name of this browser
|
||||
display-window: "";
|
||||
display-combi: "";
|
||||
show-icons: true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* User: Qball
|
||||
* Copyright: Dave Davenport
|
||||
*/
|
||||
* {
|
||||
// Custom colors (t prefix = transparent)
|
||||
base00: #101218;
|
||||
base01: #1f222d;
|
||||
base02: #252936;
|
||||
tbase02 :#252936CC;
|
||||
base03: #7780a1;
|
||||
base04: #C0C5CE;
|
||||
base05: #d1d4e0;
|
||||
base06: #C9CCDB;
|
||||
base07: #ffffff;
|
||||
base08: #ee829f;
|
||||
base09: #f99170;
|
||||
base0A: #ffefcc;
|
||||
base0B: #a5ffe1;
|
||||
base0C: #97e0ff;
|
||||
base0D: #97bbf7;
|
||||
base0E: #c0b7f9;
|
||||
base0F: #fcc09e;
|
||||
|
||||
transparent: rgba(0,0,0,0.8);
|
||||
|
||||
bgrow: @tbase02;
|
||||
bordercolor: @base01;
|
||||
foreground: @base03;
|
||||
selectedbg: @base05;
|
||||
selectedfg: @base01;
|
||||
urgentcolor: @base0F;
|
||||
inputcolor: @base0E;
|
||||
tlightblack: @base02;
|
||||
magenta: @base08;
|
||||
msgbg: @base05;
|
||||
msgcolor: @base03;
|
||||
lightblue: @base03;
|
||||
backlight: @tbase02;
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
// Bold, Italic, Underline (base0E)
|
||||
highlight: underline bold #c0b7f9;
|
||||
|
||||
font: "Sauce Code Powerline Medium 16";
|
||||
}
|
||||
#window {
|
||||
location: center;
|
||||
anchor: center;
|
||||
transparency: "screenshot";
|
||||
padding: 10px;
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
color: @magenta;
|
||||
background-color: @transparent;
|
||||
spacing: 0;
|
||||
children: [vertb, mainbox];
|
||||
orientation: horizontal;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
#mainbox {
|
||||
spacing: 0;
|
||||
children: [ inputbar, message, listview ];
|
||||
}
|
||||
|
||||
#message {
|
||||
border-color: @bordercolor;
|
||||
border: 0px 2px 2px 2px;
|
||||
padding: 5;
|
||||
background-color: @msgbg;
|
||||
}
|
||||
#message {
|
||||
font: "Sauce Code Powerline ExtraLight 8";
|
||||
color: @msgcolor;
|
||||
}
|
||||
|
||||
#inputbar {
|
||||
color: @inputcolor;
|
||||
padding: 11px;
|
||||
background-color: @tlightblack;
|
||||
border: 2px 2px 2px 2px;
|
||||
border-radius: 15px 15px 0px 0px;
|
||||
border-color: @bordercolor;
|
||||
font: "Sauce Code Pro 18";
|
||||
}
|
||||
#entry,prompt,case-indicator {
|
||||
text-font: inherit;
|
||||
text-color:inherit;
|
||||
}
|
||||
#listview {
|
||||
padding: 8px;
|
||||
border-radius: 0px 0px 15px 15px;
|
||||
border-color: @bordercolor;
|
||||
border: 0px 2px 2px 2px;
|
||||
background-color: @bgrow;
|
||||
dynamic: false;
|
||||
lines: 10;
|
||||
columns: 2;
|
||||
}
|
||||
#element {
|
||||
padding: 3px;
|
||||
vertical-align: 0.5;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
color: @foreground;
|
||||
font:inherit;
|
||||
}
|
||||
#element selected.normal {
|
||||
background-color: @selectedbg;
|
||||
}
|
||||
#element normal active {
|
||||
foreground: @lightblue;
|
||||
}
|
||||
#element normal urgent {
|
||||
foreground: @urgentcolor;
|
||||
}
|
||||
#element alternate normal {
|
||||
}
|
||||
#element alternate active {
|
||||
foreground: @lightblue;
|
||||
}
|
||||
#element alternate urgent {
|
||||
foreground: @urgentcolor;
|
||||
}
|
||||
#element selected active {
|
||||
background-color: @lightblue;
|
||||
foreground: @selectedfg;
|
||||
}
|
||||
#element selected urgent {
|
||||
background-color: @urgentcolor;
|
||||
foreground: @selectedfg;
|
||||
}
|
||||
#element normal normal {
|
||||
|
||||
}
|
||||
|
||||
#vertb {
|
||||
expand: false;
|
||||
children: [ dummy0, sidebar, dummy1 ];
|
||||
}
|
||||
#dummy0, dummy1 {
|
||||
expand: true;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
expand: false;
|
||||
orientation: vertical;
|
||||
spacing: 0px;
|
||||
border: 0px 0px 0px 0px;
|
||||
}
|
||||
#button {
|
||||
font: "FontAwesome 22";
|
||||
padding: 6px;
|
||||
border: 2px 0px 2px 2px;
|
||||
border-radius: 4px 0px 0px 4px;
|
||||
background-color: @tlightblack;
|
||||
border-color: @bordercolor;
|
||||
color: @foreground;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
#button selected normal {
|
||||
color: @selectedfg;
|
||||
border: 2px 0px 2px 2px;
|
||||
background-color: @backlight;
|
||||
border-color: @bordercolor;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
printf " %.0f%%" $(xbacklight)
|
||||
@@ -1,36 +0,0 @@
|
||||
# ~/.profile: executed by the command interpreter for login shells.
|
||||
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||
# exists.
|
||||
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||
# the files are located in the bash-doc package.
|
||||
|
||||
# the default umask is set in /etc/profile; for setting the umask
|
||||
# for ssh logins, install and configure the libpam-umask package.
|
||||
#umask 022
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
export LC_CTYPE=fr_FR.UTF-8
|
||||
|
||||
# Use XToolkit in java applications
|
||||
export AWT_TOOLKIT=XToolkit
|
||||
# Default terminal
|
||||
export TERMINAL=/usr/local/bin/mate-terminal
|
||||
# remote mpd
|
||||
export MPD_HOST='MjN3alpfZ20yIkxtP0E/SkhbaWQK@meutel.net'
|
||||
|
||||
# auto start X on first console (FreeBSD)
|
||||
if [ "$(tty)" = "/dev/ttyv0" ] ; then
|
||||
startx
|
||||
fi
|
||||
@@ -1,24 +0,0 @@
|
||||
# ~/.profile: executed by the command interpreter for login shells.
|
||||
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||
# exists.
|
||||
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||
# the files are located in the bash-doc package.
|
||||
|
||||
# the default umask is set in /etc/profile; for setting the umask
|
||||
# for ssh logins, install and configure the libpam-umask package.
|
||||
#umask 022
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
export LC_CTYPE=en_US.utf8
|
||||
@@ -1,28 +0,0 @@
|
||||
# $OpenBSD: dot.profile,v 1.4 2005/02/16 06:56:57 matthieu Exp $
|
||||
#
|
||||
# sh/ksh initialization
|
||||
|
||||
PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games:.
|
||||
export PATH HOME TERM
|
||||
|
||||
export ENV=$HOME/.kshrc
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
export LC_CTYPE=fr_FR.UTF-8
|
||||
|
||||
# OpenBSD auto start X
|
||||
if [ "$(tty)" == "/dev/ttyC0" ]; then
|
||||
startx
|
||||
fi
|
||||
@@ -1,16 +0,0 @@
|
||||
# $OpenBSD: dot.profile,v 1.4 2005/02/16 06:56:57 matthieu Exp $
|
||||
#
|
||||
# sh/ksh initialization
|
||||
|
||||
PATH=$HOME/bin:$HOME/go/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/local/jdk-1.8.0/bin:.
|
||||
export PATH HOME TERM
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
export LC_CTYPE="en_US.UTF-8"
|
||||
@@ -1,81 +0,0 @@
|
||||
# === EDIT FILE LOCATIONS BELOW ===
|
||||
|
||||
# Your todo.txt directory
|
||||
#export TODO_DIR="/Users/gina/Documents/todo"
|
||||
export TODO_DIR=/home/meutel/sources/todo
|
||||
|
||||
# Your todo/done/report.txt locations
|
||||
export TODO_FILE="$TODO_DIR/todo.txt"
|
||||
export DONE_FILE="$TODO_DIR/done.txt"
|
||||
export REPORT_FILE="$TODO_DIR/report.txt"
|
||||
|
||||
# You can customize your actions directory location
|
||||
#export TODO_ACTIONS_DIR="$HOME/.todo.actions.d"
|
||||
|
||||
# == EDIT FILE LOCATIONS ABOVE ===
|
||||
|
||||
# === COLOR MAP ===
|
||||
|
||||
## Text coloring and formatting is done by inserting ANSI escape codes.
|
||||
## If you have re-mapped your color codes, or use the todo.txt
|
||||
## output in another output system (like Conky), you may need to
|
||||
## over-ride by uncommenting and editing these defaults.
|
||||
## If you change any of these here, you also need to uncomment
|
||||
## the defaults in the COLORS section below. Otherwise, todo.txt
|
||||
## will still use the defaults!
|
||||
|
||||
# export BLACK='\\033[0;30m'
|
||||
# export RED='\\033[0;31m'
|
||||
# export GREEN='\\033[0;32m'
|
||||
# export BROWN='\\033[0;33m'
|
||||
# export BLUE='\\033[0;34m'
|
||||
# export PURPLE='\\033[0;35m'
|
||||
# export CYAN='\\033[0;36m'
|
||||
# export LIGHT_GREY='\\033[0;37m'
|
||||
# export DARK_GREY='\\033[1;30m'
|
||||
# export LIGHT_RED='\\033[1;31m'
|
||||
# export LIGHT_GREEN='\\033[1;32m'
|
||||
# export YELLOW='\\033[1;33m'
|
||||
# export LIGHT_BLUE='\\033[1;34m'
|
||||
# export LIGHT_PURPLE='\\033[1;35m'
|
||||
# export LIGHT_CYAN='\\033[1;36m'
|
||||
# export WHITE='\\033[1;37m'
|
||||
# export DEFAULT='\\033[0m'
|
||||
|
||||
# === COLORS ===
|
||||
|
||||
## Uncomment and edit to override these defaults.
|
||||
## Reference the constants from the color map above,
|
||||
## or use $NONE to disable highlighting.
|
||||
#
|
||||
# Priorities can be any upper-case letter.
|
||||
# A,B,C are highlighted; you can add coloring for more.
|
||||
#
|
||||
# export PRI_A=$YELLOW # color for A priority
|
||||
# export PRI_B=$GREEN # color for B priority
|
||||
# export PRI_C=$LIGHT_BLUE # color for C priority
|
||||
# export PRI_D=... # define your own
|
||||
# export PRI_X=$WHITE # color unless explicitly defined
|
||||
|
||||
# There is highlighting for tasks that have been done,
|
||||
# but haven't been archived yet.
|
||||
#
|
||||
# export COLOR_DONE=$LIGHT_GREY
|
||||
|
||||
# === BEHAVIOR ===
|
||||
|
||||
## customize list output
|
||||
#
|
||||
# TODOTXT_SORT_COMMAND will filter after line numbers are
|
||||
# inserted, but before colorization, and before hiding of
|
||||
# priority, context, and project.
|
||||
#
|
||||
# export TODOTXT_SORT_COMMAND='env LC_COLLATE=C sort -f -k2'
|
||||
|
||||
# TODOTXT_FINAL_FILTER will filter list output after colorization,
|
||||
# priority hiding, context hiding, and project hiding. That is,
|
||||
# just before the list output is displayed.
|
||||
#
|
||||
# export TODOTXT_FINAL_FILTER='cat'
|
||||
export TODOTXT_DEFAULT_ACTION=lsp
|
||||
export PAGER='less -X '
|
||||
@@ -1,43 +0,0 @@
|
||||
|
||||
setxkbmap us altgr-intl
|
||||
## Disable DPMS turning off the screen
|
||||
xset -dpms
|
||||
xset s off
|
||||
|
||||
# Disable bell
|
||||
xset -b
|
||||
|
||||
# Enable zapping (C-A-<Bksp> kills X)
|
||||
setxkbmap -option terminate:ctrl_alt_bksp
|
||||
|
||||
# Enforce correct locales from the beginning:
|
||||
# LC_ALL is unset since it overwrites everything
|
||||
# LANG=de_DE.UTF-8 is used, except for:
|
||||
# LC_MESSAGES=C never translates program output
|
||||
# LC_TIME=en_DK leads to yyyy-mm-dd hh:mm date/time output
|
||||
unset LC_ALL
|
||||
export LANG=fr_FR.UTF-8
|
||||
export LC_CTYPE=fr_FR.UTF-8
|
||||
export LC_MESSAGES=C
|
||||
|
||||
# Use XToolkit in java applications
|
||||
export AWT_TOOLKIT=XToolkit
|
||||
|
||||
# Default terminal
|
||||
#export TERMINAL=/usr/local/bin/mate-terminal
|
||||
|
||||
# remote mpd
|
||||
export MPD_HOST='MjN3alpfZ20yIkxtP0E/SkhbaWQK@meutel.net'
|
||||
|
||||
# Set background color
|
||||
xsetroot -solid "#333333"
|
||||
|
||||
# Enable core dumps in case something goes wrong
|
||||
ulimit -c unlimited
|
||||
|
||||
# Start i3 and log to ~/.i3/logfile
|
||||
#echo "Starting at $(date)" >> ~/.i3/logfile
|
||||
xcompmgr -c -f -n &
|
||||
#exec ssh-agent /usr/local/bin/i3 -V >> ~/.i3/logfile
|
||||
#exec ssh-agent /usr/local/bin/start-lumina-desktop
|
||||
exec ssh-agent /usr/local/bin/gnome-session
|
||||
@@ -1 +0,0 @@
|
||||
exec ck-launch-session /usr/bin/xbmc-standalone
|
||||
@@ -1,6 +0,0 @@
|
||||
xset b off
|
||||
xrdb -merge ~/.Xresources
|
||||
xsetroot -solid steelblue &
|
||||
xidle -timeout 300 -program "/usr/X11R6/bin/xlock -mode blank" &
|
||||
xrandr --output LVDS1 --auto --output VGA1 --auto --above LVDS1
|
||||
exec /usr/bin/ssh-agent /usr/local/bin/i3
|
||||
@@ -1,35 +0,0 @@
|
||||
export PATH="$HOME/bin:$HOME/go/bin:/usr/local/jdk-1.8.0/bin:$PATH"
|
||||
export LC_CTYPE="en_US.UTF-8"
|
||||
export TERMINAL=/usr/local/bin/roxterm
|
||||
xrdb -merge ~/.Xresources
|
||||
xset +fp /usr/local/share/fonts/powerline/AnonymousPro
|
||||
xset +fp /usr/local/share/fonts/powerline/Arimo
|
||||
xset +fp /usr/local/share/fonts/powerline/Cousine
|
||||
xset +fp /usr/local/share/fonts/powerline/DejaVuSansMono
|
||||
xset +fp /usr/local/share/fonts/powerline/DroidSansMono
|
||||
xset +fp /usr/local/share/fonts/powerline/DroidSansMonoDotted
|
||||
xset +fp /usr/local/share/fonts/powerline/DroidSansMonoSlashed
|
||||
xset +fp /usr/local/share/fonts/powerline/FiraMono
|
||||
xset +fp /usr/local/share/fonts/powerline/Hack
|
||||
xset +fp /usr/local/share/fonts/powerline/Inconsolata-g
|
||||
xset +fp /usr/local/share/fonts/powerline/Inconsolata
|
||||
xset +fp /usr/local/share/fonts/powerline/InconsolataDz
|
||||
xset +fp /usr/local/share/fonts/powerline/LiberationMono
|
||||
xset +fp /usr/local/share/fonts/powerline/Meslo
|
||||
xset +fp /usr/local/share/fonts/powerline/Monofur
|
||||
xset +fp /usr/local/share/fonts/powerline/RobotoMono
|
||||
xset +fp /usr/local/share/fonts/powerline/SourceCodePro
|
||||
xset +fp /usr/local/share/fonts/powerline/SymbolNeu
|
||||
xset +fp /usr/local/share/fonts/powerline/Terminus
|
||||
xset +fp /usr/local/share/fonts/powerline/Tinos
|
||||
xsetroot -solid steelblue &
|
||||
xidle -timeout 300 -program "/usr/X11R6/bin/xlock -mode blank" &
|
||||
xrandr --dpi 156
|
||||
xcompmgr -c -n &
|
||||
setxkbmap us -option compose:caps
|
||||
synclient TapButton1=1
|
||||
synclient TapButton2=3
|
||||
synclient TapButton3=2
|
||||
synclient VertEdgeScroll=1
|
||||
echo "Starting at $(date)" >> ~/.i3/logfile
|
||||
exec /usr/local/bin/i3 >> ~/.i3/logfile
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Reference in new issue
Block a user