commit 70fe79247d8e8b71eea9291219935ae4ccd26718
parent e526fb0b36f749e9ab4bcc17bbd78f814c34c96b
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Tue, 26 Mar 2019 13:59:57 +0100
Remove old and unused configuration files
Diffstat:
44 files changed, 0 insertions(+), 8609 deletions(-)
diff --git a/.Xdefaults-light b/.Xdefaults-light
@@ -1,197 +0,0 @@
-! Xcursor --------------------------------------------------------------------
-Xcursor.theme: Vanilla-DMZ-AA
-Xcursor.size: 22
-
-! terminal colors ------------------------------------------------------------
-
-!! tangoesque scheme
-!*background: #041621
-!*foreground: #babdb6
-!! Black (not tango) + DarkGrey
-!*color0: #000000
-!*color8: #555753
-!! DarkRed + Red
-!*color1: #ff6565
-!*color9: #ff8d8d
-!! DarkGreen + Green
-!*color2: #93d44f
-!*color10: #c8e7a8
-!! DarkYellow + Yellow
-!*color3: #eab93d
-!*color11: #ffc123
-!! DarkBlue + Blue
-!*color4: #204a87
-!*color12: #3465a4
-!! DarkMangenta + Mangenta
-!*color5: #ce5c00
-!*color13: #f57900
-!!DarkCyan + Cyan (both not tango)
-!*color6: #89b6e2
-!*color14: #46a4ff
-!! LightGrey + White
-!*color7: #cccccc
-!*color15: #ffffff
-
-! Solarized color scheme for the X Window System
-! http://ethanschoonover.com/solarized
-
-! Common
-#define S_yellow #b58900
-#define S_orange #cb4b16
-#define S_red #dc322f
-#define S_magenta #d33682
-#define S_violet #6c71c4
-#define S_blue #268bd2
-#define S_cyan #2aa198
-#define S_green #859900
-
-! Dark
-! #define S_base03 #002b36
-! #define S_base02 #073642
-! #define S_base01 #586e75
-! #define S_base00 #657b83
-! #define S_base0 #839496
-! #define S_base1 #93a1a1
-! #define S_base2 #eee8d5
-! #define S_base3 #fdf6e3
-
-! Light
-#define S_base03 #fdf6e3
-#define S_base02 #eee8d5
-#define S_base01 #93a1a1
-#define S_base00 #839496
-#define S_base0 #657b83
-#define S_base1 #586e75
-#define S_base2 #073642
-#define S_base3 #002b36
-
-! To only apply colors to your terminal, for example, prefix
-! the color assignment statement with its name. Example:
-! URxvt*background: S_base03
-URxvt*background: S_base03
-URxvt*foreground: S_base0
-!*fading: 40
-URxvt*fadeColor: S_base03
-!*cursorColor: S_base1
-URxvt*cursorColor: $DCDCCC
-URxvt*pointerColorBackground: S_base01
-URxvt*pointerColorForeground: S_base1
-
-URxvt*color0: S_base02
-URxvt*color1: S_red
-URxvt*color2: S_green
-URxvt*color3: S_yellow
-URxvt*color4: S_blue
-URxvt*color5: S_magenta
-URxvt*color6: S_cyan
-URxvt*color7: S_base2
-URxvt*color8: S_base03
-URxvt*color9: S_orange
-URxvt*color10: S_base01
-URxvt*color11: S_base00
-URxvt*color12: S_base0
-URxvt*color13: S_violet
-URxvt*color14: S_base1
-URxvt*color15: S_base3
-
-
-! xterm ----------------------------------------------------------------------
-!xterm*background: black
-!xterm*background: black
-!xterm*foreground: white
-xterm*termName: xterm-256color
-!xterm*geometry: 80x25
-!!xterm*faceName: terminus:bold:pixelsize=11
-!!!xterm*font: -*-dina-medium-r-*-*-16-*-*-*-*-*-*-*
-!xterm*faceName: SourceCodePro-Regular
-!xterm*faceSize: 11
-!xterm*font: 7x13
-!xterm*font: 8x15
-!!xterm*dynamicColors: true
-!!!xterm*metaSendsEscape: true
-!!!xterm*eightBitInput: false
-!!!xterm*eightBitControl: false
-!!!xterm*eightBitOutput: true
-
-!xterm*utf8: 1
-xterm*utf8: 2
-xterm*eightBitInput: true
-
-xterm*saveLines: 1024
-!xterm*scrollKey: true
-!xterm*scrollTtyOutput: false
-!!xterm*scrollBar: true
-!xterm*rightScrollBar: true
-!xterm*jumpScroll: true
-!xterm*multiScroll: true
-!xterm*toolBar: false
-
-! xpdf -----------------------------------------------------------------------
-xpdf*enableFreetype: yes
-xpdf*antialias: yes
-xpdf*foreground: black
-xpdf*background: white
-xpdf*matteColor: gray
-xpdf*urlCommand: /usr/bin/firefox %s
-
-! rxvt-unicode ---------------------------------------------------------------
-URxvt.termName:screen-256color
-!URxvt.termName:rxvt-256color
-!URxvt.transparent: true
-! URxvt.shading: 0 to 99 darkens, 101 to 200 lightens
-!URxvt.shading: 20
-! scrollbar style - rxvt (default), plain (most compact), next, or xterm
-!URxvt.scrollstyle: rxvt
-URxvt.internalBorder: 1
-!URxvt.loginShell: true
-URxvt.scrollBar: off
-!URxvt.font: 7x13euro
-!URxvf.font: 8x13
-! tabs and clickable URLs
-!URxvt.perl-ext-common: default,tabbed,matcher
-URxvt.perl-ext-common: default,matcher
-URxvt.urlLauncher: /usr/bin/firefox
-URxvt.matcher.button: 1
-! tab colors
-!URxvt.tabbed.tabbar-fg: 2
-!URxvt.tabbed.tabbar-bg: 0
-!URxvt.tabbed.tab-fg: 3
-!URxvt.tabbed.tab-bg: 0
-! colors
-!URxvt.foreground: White
-!URxvt.background: Black
-!URxvt.saveLines: 1024
-URxvt.meta8: True
-URxvt.intensityStyles: false
-!Xft.dpi: 81
-!Xft.dpi: 100
-!URxvt.font: xft:SourceCodePro-Light:pixelsize=11
-
-! xscreensaver ---------------------------------------------------------------
-!font settings
-xscreensaver.Dialog.headingFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
-xscreensaver.Dialog.bodyFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
-xscreensaver.Dialog.labelFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
-xscreensaver.Dialog.unameFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
-xscreensaver.Dialog.buttonFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
-xscreensaver.Dialog.dateFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
-xscreensaver.passwd.passwdFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
-!general dialog box (affects main hostname, username, password text)
-xscreensaver.Dialog.foreground: #ffffff
-xscreensaver.Dialog.background: #111111
-xscreensaver.Dialog.topShadowColor: #111111
-xscreensaver.Dialog.bottomShadowColor: #111111
-xscreensaver.Dialog.Button.foreground: #666666
-xscreensaver.Dialog.Button.background: #ffffff
-!username/password input box and date text colour
-xscreensaver.Dialog.text.foreground: #666666
-xscreensaver.Dialog.text.background: #ffffff
-xscreensaver.Dialog.internalBorderWidth:24
-xscreensaver.Dialog.borderWidth: 20
-xscreensaver.Dialog.shadowThickness: 2
-!timeout bar (background is actually determined by Dialog.text.background)
-xscreensaver.passwd.thermometer.foreground: #ff0000
-xscreensaver.passwd.thermometer.background: #000000
-xscreensaver.passwd.thermometer.width: 8
-!datestamp format--see the strftime(3) manual page for details
-xscreensaver.dateFormat: %I:%M%P %a %b %d, %Y
diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua
@@ -1,418 +0,0 @@
--- Standard awesome library
-require("awful")
-require("awful.autofocus")
-require("awful.rules")
--- Theme handling library
-require("beautiful")
--- Notification library
-require("naughty")
-
-require("vicious")
-
--- Load Debian menu entries
---require("debian.menu")
-
--- {{{ Error handling
--- Check if awesome encountered an error during startup and fell back to
--- another config (This code will only ever execute for the fallback config)
-if awesome.startup_errors then
- naughty.notify({ preset = naughty.config.presets.critical,
- title = "Oops, there were errors during startup!",
- text = awesome.startup_errors })
-end
-
--- Handle runtime errors after startup
-do
- local in_error = false
- awesome.add_signal("debug::error", function (err)
- -- Make sure we don't go into an endless error loop
- if in_error then return end
- in_error = true
-
- naughty.notify({ preset = naughty.config.presets.critical,
- title = "Oops, an error happened!",
- text = err })
- in_error = false
- end)
-end
--- }}}
-
--- {{{ Variable definitions
--- Themes define colours, icons, and wallpapers
---beautiful.init("/usr/share/awesome/themes/default/theme.lua")
-beautiful.init("/home/adc/.config/awesome/themes/default/theme.lua")
-
--- This is used later as the default terminal and editor to run.
---terminal = "x-terminal-emulator"
-terminal = "urxvt -e tmux"
-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 = {}
-for s = 1, screen.count() do
- -- Each screen has its own tag table.
- tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
-end
--- }}}
-
--- {{{ Menu
--- Create a laucher widget and a main menu
-myawesomemenu = {
- { "manual", terminal .. " -e man awesome" },
- { "edit config", editor_cmd .. " " .. awesome.conffile },
- { "restart", awesome.restart },
- { "quit", awesome.quit }
-}
-
-mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
- { "Debian", debian.menu.Debian_menu.Debian },
- { "open terminal", terminal },
- { "firefox", "firefox"}
- }
- })
-
-mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
- menu = mymainmenu })
--- }}}
-
--- {{{ Vicious widgets
-
--- Memory widget
-memwidget = widget({ type = "textbox" })
-vicious.register(memwidget, vicious.widgets.mem, " $2MB/$3MB |", 13)
-
--- CPU usage widget
-cpuwidget = widget({ type = "textbox" })
-vicious.register(cpuwidget, vicious.widgets.cpu, " CPU: $1% |")
-
--- Wifi state
-wifiwidget = widget({ type = "textbox" })
-vicious.register(wifiwidget, vicious.widgets.wifi, " ${ssid}: ${link}% |", 31, "wlan0")
-
--- Alsa widget
--- vol should be (math.log(vol/100)+1)*100
-sndwidget = widget({ type = "textbox" })
-vicious.register(sndwidget, vicious.widgets.volume, " Vol: $1% $2 |", 2, "Master")
-sndwidget:buttons(awful.util.table.join(
- awful.button({ }, 1, function () awful.util.spawn("amixer -q set Master toggle", false) end),
- awful.button({ }, 3, function () awful.util.spawn("urxvt -e alsamixer", true) end),
- awful.button({ }, 4, function () awful.util.spawn("amixer -q set Master 1dB+", false) end),
- awful.button({ }, 5, function () awful.util.spawn("amixer -q set Master 1dB-", false) end)
- ))
--- }}}
-
--- {{{ Wibox
--- Create a textclock widget
---mytextclock = awful.widget.textclock({ align = "right" })
-mytextclock = awful.widget.textclock({ align = "right" }, " %a %b %d, %H:%M:%S ", 1)
-
--- Create a systray
-mysystray = widget({ type = "systray" })
-
--- Create a wibox for each screen and add it
-mywibox = {}
-mypromptbox = {}
-mylayoutbox = {}
-mytaglist = {}
-mytaglist.buttons = awful.util.table.join(
- awful.button({ }, 1, awful.tag.viewonly),
- awful.button({ modkey }, 1, awful.client.movetotag),
- awful.button({ }, 3, awful.tag.viewtoggle),
- awful.button({ modkey }, 3, awful.client.toggletag),
- awful.button({ }, 4, awful.tag.viewnext),
- awful.button({ }, 5, awful.tag.viewprev)
- )
-mytasklist = {}
-mytasklist.buttons = awful.util.table.join(
- awful.button({ }, 1, function (c)
- if c == client.focus then
- c.minimized = true
- else
- if not c:isvisible() then
- awful.tag.viewonly(c:tags()[1])
- end
- -- This will also un-minimize
- -- the client, if needed
- client.focus = c
- c:raise()
- end
- end),
- awful.button({ }, 3, function ()
- if instance then
- instance:hide()
- instance = nil
- else
- instance = awful.menu.clients({ width=250 })
- end
- end),
- awful.button({ }, 4, function ()
- awful.client.focus.byidx(1)
- if client.focus then client.focus:raise() end
- end),
- awful.button({ }, 5, function ()
- awful.client.focus.byidx(-1)
- if client.focus then client.focus:raise() end
- end))
-
-for s = 1, screen.count() do
- -- Create a promptbox for each screen
- mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
- -- Create an imagebox widget which will contains an icon indicating which layout we're using.
- -- We need one layoutbox per screen.
- mylayoutbox[s] = awful.widget.layoutbox(s)
- mylayoutbox[s]:buttons(awful.util.table.join(
- awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
- awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
- awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
- awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
- -- Create a taglist widget
- mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
-
- -- Create a tasklist widget
- mytasklist[s] = awful.widget.tasklist(function(c)
- return awful.widget.tasklist.label.currenttags(c, s)
- end, mytasklist.buttons)
-
- -- Create the wibox
- mywibox[s] = awful.wibox({ position = "top", screen = s })
- -- Add widgets to the wibox - order matters
- mywibox[s].widgets = {
- {
- mylauncher,
- mytaglist[s],
- mypromptbox[s],
- layout = awful.widget.layout.horizontal.leftright
- },
- mylayoutbox[s],
- mytextclock,
- memwidget,
- cpuwidget,
- sndwidget,
- wifiwidget,
- 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, }, "r", function () awful.layout.inc(layouts, 1) end),
- awful.key({ modkey, "Shift" }, "r", function () awful.layout.inc(layouts, -1) end),
-
- awful.key({ modkey, "Control" }, "n", awful.client.restore),
-
- -- Custom application launchers
- awful.key({ modkey, }, "b", function () awful.util.spawn("firefox") end),
- awful.key({ modkey, }, "t", function () awful.util.spawn("tor-browser") end),
- awful.key({ modkey, }, "z", function () awful.util.spawn("xscreensaver-command -lock") end),
-
- -- Prompt
- awful.key({ modkey }, "space", function () mypromptbox[mouse.screen]:run() end),
-
- awful.key({ modkey }, "x",
- function ()
- awful.prompt.run({ prompt = "Run Lua code: " },
- mypromptbox[mouse.screen].widget,
- awful.util.eval, nil,
- awful.util.getdir("cache") .. "/history_eval")
- end)
-)
-
-clientkeys = awful.util.table.join(
- awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
- awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
- awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
- awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
- awful.key({ modkey, }, "o", awful.client.movetoscreen ),
- awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end),
- awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
- awful.key({ modkey, }, "n",
- function (c)
- -- The client currently has the input focus, so it cannot be
- -- minimized, since minimized clients can't have the focus.
- c.minimized = true
- end),
- awful.key({ modkey, }, "m",
- function (c)
- c.maximized_horizontal = not c.maximized_horizontal
- c.maximized_vertical = not c.maximized_vertical
- end)
-)
-
--- Compute the maximum number of digit we need, limited to 9
-keynumber = 0
-for s = 1, screen.count() do
- keynumber = math.min(9, math.max(#tags[s], keynumber));
-end
-
--- Bind all key numbers to tags.
--- Be careful: we use keycodes to make it works on any keyboard layout.
--- This should map on the top row of your keyboard, usually 1 to 9.
-for i = 1, keynumber do
- globalkeys = awful.util.table.join(globalkeys,
- awful.key({ modkey }, "#" .. i + 9,
- function ()
- local screen = mouse.screen
- if tags[screen][i] then
- awful.tag.viewonly(tags[screen][i])
- end
- end),
- awful.key({ modkey, "Control" }, "#" .. i + 9,
- function ()
- local screen = mouse.screen
- if tags[screen][i] then
- awful.tag.viewtoggle(tags[screen][i])
- end
- end),
- awful.key({ modkey, "Shift" }, "#" .. i + 9,
- function ()
- if client.focus and tags[client.focus.screen][i] then
- awful.client.movetotag(tags[client.focus.screen][i])
- end
- end),
- awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
- function ()
- if client.focus and tags[client.focus.screen][i] then
- awful.client.toggletag(tags[client.focus.screen][i])
- end
- end))
-end
-
-clientbuttons = awful.util.table.join(
- awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
- awful.button({ modkey }, 1, awful.mouse.client.move),
- awful.button({ modkey }, 3, awful.mouse.client.resize))
-
--- Set keys
-root.keys(globalkeys)
--- }}}
-
--- {{{ Rules
-awful.rules.rules = {
- -- All clients will match this rule.
- { rule = { },
- properties = { border_width = beautiful.border_width,
- border_color = beautiful.border_normal,
- focus = true,
- keys = clientkeys,
- buttons = clientbuttons } },
- { rule = { class = "MPlayer" },
- properties = { floating = true } },
- { rule = { class = "pinentry" },
- properties = { floating = true } },
- { rule = { class = "gimp" },
- properties = { floating = true } },
- -- Set Firefox to always map on tags number 2 of screen 1.
- -- { rule = { class = "Firefox" },
- -- properties = { tag = tags[1][2] } },
-}
--- }}}
-
--- {{{ Signals
--- Signal function to execute when a new client appears.
-client.add_signal("manage", function (c, startup)
- -- Add a titlebar
- -- awful.titlebar.add(c, { modkey = modkey })
-
- -- Enable sloppy focus
- c:add_signal("mouse::enter", function(c)
- if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
- and awful.client.focus.filter(c) then
- client.focus = c
- end
- end)
-
- if not startup then
- -- Set the windows at the slave,
- -- i.e. put it at the end of others instead of setting it master.
- -- awful.client.setslave(c)
-
- -- Put windows in a smart way, only if they does not set an initial position.
- if not c.size_hints.user_position and not c.size_hints.program_position then
- awful.placement.no_overlap(c)
- awful.placement.no_offscreen(c)
- end
- end
-end)
-
-client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
-client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
--- }}}
diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# BSPWM config file
-#
-
-bspc config border_width 2
-bspc config window_gap 10
-
-bspc monitor -d 1 2 3 4 5
-
-bspc config top_padding 30
-
-bspc config split_ratio 0.5
-bspc config gapless_monocle true
-bspc config borderless_monocle true
-
-bspc config focus_follows_pointer true
-
-bspc config focused_border_color \#202020
-bspc config active_border_color \#202020
-bspc config normal_border_color \#202020
-bspc config presel_border_color \#202020
-
-bspc config focused_locked_border_color \#a54242
-bspc config active_locked_border_color \#a54242
-bspc config normal_locked_border_color \#a54242
-
-bspc config focused_sticky_border_color \#8c9440
-bspc config active_sticky_border_color \#8c9440
-bspc config normal_sticky_border_color \#8c9440
-
-bspc config focused_private_border_color \#85678f
-bspc config active_private_border_color \#85678f
-bspc config normal_private_border_color \#85678f
-
-bspc config urgent_border_color \#de935f
diff --git a/.config/bspwm/panel/panel b/.config/bspwm/panel/panel
@@ -1,132 +0,0 @@
-#!/bin/bash
-#
-# Bar Ain't Recursive panel
-# by Ivan Sokolov
-#
-
-WHITE=f8f8f8
-RED=a54242
-GREEN=8c9440
-BLACK=202020
-GRAY=404040
-
-function A {
- echo -n "%{A:$2:}$1%{A}"
-}
-
-function B {
- echo -n "%{B#ff$2}$1%{B-}"
-}
-
-function F {
- echo -n "%{F#ff$2}$1%{F-}"
-}
-
-function o {
- echo "%{+o}$1%{-o}"
-}
-
-function u {
- echo "%{+u}$1%{-u}"
-}
-
-###
-
-DIV=$(F '|' $GRAY)
-
-###
-
-network() {
- ping -c 1 8.8.8.8 >/dev/null 2>&1 && echo -n $(F + $GREEN) || echo -n $(F - $RED)
-}
-
-calendar() {
- #DATE=$(date -u +%d/%m/%y)
- DATE=$(date -u +%Y-%m-%y)
- echo -n $(F $DATE $WHITE)
-}
-
-clock() {
- TIME=$(date -u +%H:%M:%S)
- echo -n $(F $TIME $WHITE)
-}
-
-volume() {
- #VOLUME=$(pamixer --get-volume)
- VOLUME=$(amixer get Master | grep '\[' | awk '{ print $5; }' | sed 's/\[//' | sed 's/%\]//')
- VCOLOR=$WHITE
- #if [[ $(pamixer --get-mute) -eq 'true' ]]
- #then
- # VCOLOR=$WHITE
- #else
- # VCOLOR=$GRAY
- #fi
- #echo -n "$(A $(F $VOLUME $VCOLOR) volume)"
- #echo -n "$(A $(F $VOLUME) volume)"
- echo -n "v:$(A $VOLUME)"
-}
-
-battery() {
- BATTERY=$(acpi -b | awk '{gsub(/%,/,""); print $4}' | sed 's/%//g')
- if [[ $BATTERY -gt 20 ]]
- then
- BCOLOR=$WHITE
- else
- BCOLOR=$RED
- fi
- echo -n b:$(F $BATTERY ff$BCOLOR)
-}
-
-layout() {
- #echo -n "$(A $(F $(xkb-switch) $WHITE) layout)"
- echo -n "$(cat ~/.kbd-layout)"
-}
-
-mpc_status() {
- if [[ -n $(mpc | grep playing) ]]
- then
- echo -n "$(F "$(mpc current -f "[%title%]")" $WHITE) $DIV "
- echo -n "$(F "$(mpc current -f "[%album%]")" $WHITE) $DIV "
- echo -n "$(F "$(mpc current -f "[%artist%]")" $WHITE) "
- else
- echo -n ''
- fi
-}
-
-# echo -n "$(F "$(mpc current -f "[%title% $(F - $GRAY) %album% $(F - $GRAY) %artist%]|[%file%]")" $WHITE)"
-
-mpc_controls() {
- echo -n ''
-}
-
-while true
-do
- # Left
- printf '%s' '%{l}'
- # Desktops
- for i in 1 2 3 4 5
- do
- printf ' %s' "%{A:$i:}$(F \| $GRAY)$(F $i $WHITE)$(F \| $GRAY)%{A}"
- done
-
- # Center
- printf '%s' '%{c}'
- printf '%s' "$(mpc_status)"
- # printf '%s' "$(mpc_controls)"
-
- # Right
- printf '%s' '%{r}'
- printf ' %s' $(network) $DIV
- printf ' %s' $(layout) $DIV
- printf ' %s' $(volume) $DIV
- printf ' %s' $(battery) $DIV
- printf ' %s' $(clock)
- printf ' %s \n' $(calendar)
-
- sleep 0.5s
-done | bar \ #bar-aint-recursive \
- -F \#ff$WHITE \
- -B \#ff$BLACK \
- -g 1346x20+10+10 \
- | ~/.config/bspwm/spawner
- #-f '-*-terminus-medium-r-normal-*-12-*-*-*-c-*-*-u' \
diff --git a/.config/bspwm/panel/panel_bar b/.config/bspwm/panel/panel_bar
@@ -1,74 +0,0 @@
-#! /bin/sh
-#
-# Example panel for LemonBoy's bar
-
-. ~/.config/bspwm/panel/panel_colors
-
-num_mon=$(bspc query -M | wc -l)
-
-while read -r line ; do
- case $line in
- S*)
- # clock output
- sys_infos="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${line#?} %{B-}%{F-}"
- ;;
- T*)
- # xtitle output
- title="%{F$COLOR_TITLE_FG}%{B$COLOR_TITLE_BG} ${line#?} %{B-}%{F-}"
- ;;
- W*)
- # bspwm internal state
- wm_infos=""
- IFS=':'
- set -- ${line#?}
- while [ $# -gt 0 ] ; do
- item=$1
- name=${item#?}
- case $item in
- M*)
- # active monitor
- if [ $num_mon -gt 1 ] ; then
- wm_infos="$wm_infos %{F$COLOR_ACTIVE_MONITOR_FG}%{B$COLOR_ACTIVE_MONITOR_BG} ${name} %{B-}%{F-} "
- fi
- ;;
- m*)
- # inactive monitor
- if [ $num_mon -gt 1 ] ; then
- wm_infos="$wm_infos %{F$COLOR_INACTIVE_MONITOR_FG}%{B$COLOR_INACTIVE_MONITOR_BG} ${name} %{B-}%{F-} "
- fi
- ;;
- O*)
- # focused occupied desktop
- wm_infos="${wm_infos}%{F$COLOR_FOCUSED_OCCUPIED_FG}%{B$COLOR_FOCUSED_OCCUPIED_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}"
- ;;
- F*)
- # focused free desktop
- wm_infos="${wm_infos}%{F$COLOR_FOCUSED_FREE_FG}%{B$COLOR_FOCUSED_FREE_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}"
- ;;
- U*)
- # focused urgent desktop
- wm_infos="${wm_infos}%{F$COLOR_FOCUSED_URGENT_FG}%{B$COLOR_FOCUSED_URGENT_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}"
- ;;
- o*)
- # occupied desktop
- wm_infos="${wm_infos}%{F$COLOR_OCCUPIED_FG}%{B$COLOR_OCCUPIED_BG} ${name} %{B-}%{F-}"
- ;;
- f*)
- # free desktop
- wm_infos="${wm_infos}%{F$COLOR_FREE_FG}%{B$COLOR_FREE_BG} ${name} %{B-}%{F-}"
- ;;
- u*)
- # urgent desktop
- wm_infos="${wm_infos}%{F$COLOR_URGENT_FG}%{B$COLOR_URGENT_BG} ${name} %{B-}%{F-}"
- ;;
- L*)
- # layout
- wm_infos="$wm_infos %{F$COLOR_LAYOUT_FG}%{B$COLOR_LAYOUT_BG} ${name} %{B-}%{F-}"
- ;;
- esac
- shift
- done
- ;;
- esac
- printf "%s\n" "%{l}${wm_infos}%{c}${title}%{r}${sys_infos}"
-done
diff --git a/.config/bspwm/panel/panel_colors b/.config/bspwm/panel/panel_colors
@@ -1,24 +0,0 @@
-COLOR_FOREGROUND='#FFA3A6AB'
-COLOR_BACKGROUND='#FF34322E'
-COLOR_ACTIVE_MONITOR_FG='#FF34322E'
-COLOR_ACTIVE_MONITOR_BG='#FF58C5F1'
-COLOR_INACTIVE_MONITOR_FG='#FF58C5F1'
-COLOR_INACTIVE_MONITOR_BG='#FF34322E'
-COLOR_FOCUSED_OCCUPIED_FG='#FFF6F9FF'
-COLOR_FOCUSED_OCCUPIED_BG='#FF5C5955'
-COLOR_FOCUSED_FREE_FG='#FFF6F9FF'
-COLOR_FOCUSED_FREE_BG='#FF6D561C'
-COLOR_FOCUSED_URGENT_FG='#FF34322E'
-COLOR_FOCUSED_URGENT_BG='#FFF9A299'
-COLOR_OCCUPIED_FG='#FFA3A6AB'
-COLOR_OCCUPIED_BG='#FF34322E'
-COLOR_FREE_FG='#FF6F7277'
-COLOR_FREE_BG='#FF34322E'
-COLOR_URGENT_FG='#FFF9A299'
-COLOR_URGENT_BG='#FF34322E'
-COLOR_LAYOUT_FG='#FFA3A6AB'
-COLOR_LAYOUT_BG='#FF34322E'
-COLOR_TITLE_FG='#FFA3A6AB'
-COLOR_TITLE_BG='#FF34322E'
-COLOR_STATUS_FG='#FFA3A6AB'
-COLOR_STATUS_BG='#FF34322E'
diff --git a/.config/dwb/keys b/.config/dwb/keys
@@ -1,175 +0,0 @@
-[default]
-save_search_field= gs
-tab_new= ga
-allow_session_cookie_tmp= CT
-allow_cookie= CC
-allow_session_cookie= CS
-bookmark= M
-buffers= gt
-cancel_download= ad
-sanitize=
-clear_tab= gc
-only= co
-close_tab= d
-entry_escape=Control c
-entry_confirm=Control g
-entry_history_back=Control k
-entry_history_forward=Control j
-entry_delete_letter=Control h
-entry_delete_active=Control d
-entry_delete_line=Control u
-entry_delete_line_end=Control e
-entry_delete_word=Control w
-entry_delete_word_forward=Control e
-entry_word_back=Control b
-entry_word_forward=Control f
-complete_bookmarks=Control B
-complete_history=Control H
-complete_path=Control p
-complete_searchengines=Control S
-complete_userscript=Control U
-download= gd
-download_set_execute=Control x
-command_mode= :
-tabdo=
-execute_javascript=
-eval=
-execute_userscript= eu
-find_backward_ic= c?
-find_backward= ?
-find_forward_ic= c/
-find_forward= /
-find_next= n
-find_previous= N
-tabgrep=
-focus_input= gi
-focus_next= J
-focus_tab= T
-focus_prev= K
-win_hist_back= wh
-tab_hist_back= th
-history_back= H
-win_hist_forward= wl
-tab_hist_forward= tl
-history_forward= L
-insert_mode= i
-jump='
-show_keys= Sk
-load_html=
-load_html_tab=
-lock_domain= xd
-lock_uri= xu
-mark=`
-tab_move_left= gl
-tab_move_right= gr
-tab_move= gm
-normal_mode=Control n
-open_editor=Control e
-quickmark= b
-tab_quickmark= B
-win_quickmark= wb
-start_page=Control h
-web_inspector= wi
-paste= pp
-tab_paste= Pp
-win_paste= wp
-paste_primary= pP
-win_paste_primary= wP
-tab_paste_primary= PP
-print=Control Mod1 p
-protect=Control P
-quit=Control q
-adblock_reload_rules=
-reload_bookmarks=
-reload= r
-reload_bypass_cache= R
-reload_quickmarks=
-reload_userscripts=
-repeat=.
-save= sf
-save_session= ZZ
-save_named_session= gZZ
-save_quickmark= m
-scroll_down= j
-scroll_right= l
-scroll_left= h
-scroll_page_down=Control f
-scroll_page_up=Control b
-scroll_halfpage_down=Control d
-scroll_halfpage_up=Control u
-scroll_bottom= G
-scroll_top= gg
-scroll_up= k
-local_set=
-set=
-set_key= sk
-set_local_setting= sl
-set_setting= ss
-show_settings= Ss
-print_preview=
-show_bookmarks= Sb
-show_downloads= Sd
-show_history= Sh
-show_quickmarks= Sq
-stop_loading=Control s
-toggle_local_setting=
-toggle_setting=
-toggle_tab=Control @Tab@
-toggle_plugins_host_tmp= pth
-toggle_scripts_host= tsh
-toggle_scripts_host_tmp= tth
-toggle_scripts_uri= tsu
-toggle_plugins_uri_tmp= ptu
-toggle_scripts_uri_tmp= ttu
-fullscreen= @F11@
-toggle_hidden_files= g.
-toggle_plugins_host= ph
-toggle_plugins_uri= pu
-presentation_mode= @F12@
-proxy=Control p
-visible= xv
-toggle_bars= xx
-toggle_statusbar= xb
-toggle_tabbar= xt
-undo= u
-view_source= gf
-visual_mode= v
-dump=
-yank_title= yt
-yank_title_primary= yT
-yank= yy
-yank_primary= yY
-zoom= =
-zoom_in= +
-zoom_out= -
-hints_background= ;b
-hints_images_background= ;Ib
-hints_url_background= ;Ob
-backopen_url= xO
-backopen= xo
-bookmarks= gb
-hints_selector=
-hints= f
-hints_clipboard= ;y
-hints_download= ;d
-hints_editable= ;e
-hints_images= ;i
-hints_links= ;;
-hints_primary= ;Y
-hints_rapid= ;r
-hints_url= ;o
-new_tab=Control T
-new_win= W
-open_url= go
-open= o
-hints_tab= F
-hints_images_tab= ;It
-hints_url_tab= ;Ot
-tab_bookmarks= gB
-tabopen_url= gO
-tabopen= O
-hints_win= wf
-hints_rapid_win= ;R
-win_bookmarks= wB
-winopen_url= wO
-winopen= wo
diff --git a/.config/dwb/searchengines b/.config/dwb/searchengines
@@ -1,8 +0,0 @@
-startpage https://startpage.com/do/search?query=_dwb_search_submit_
-wikipedia https://en.wikipedia.org/w/index.php?search=_dwb_search_submit_&title=Special:Search
-duckduckgo https://duckduckgo.com/?q=_dwb_search_submit_
-debian http://packages.debian.org/search?keywords=_dwb_search_submit_&searchon=names&suite=stable§ion=all
-scholar http://scholar.google.dk/scholar?hl=da&q=_dwb_search_submit_
-sb http://statsbiblioteket.dk/?query=_dwb_search_submit_
-wa https://www.wolframalpha.com/input/?i=_dwb_search_submit_&dataset=
-julia http://docs.julialang.org/en/latest/search/?q=_dwb_search_submit_&check_keywords=yes&area=default
diff --git a/.config/dwb/settings b/.config/dwb/settings
@@ -1,163 +0,0 @@
-[default]
-enable-private-browsing=false
-enable-spell-checking=true
-cookie-expiration=1h
-cookies-accept-policy=nothirdparty
-cookies-store-policy=persistent
-minimum-font-size=6
-minimum-logical-font-size=6
-adblocker=true
-javascript-can-access-clipboard=false
-hint-offset-top=0
-file-sync-interval=120
-download-gradient-end=#00aa00
-status-allowed-color=#00ff00
-tab-number-color=#7ac5cd
-enable-default-context-menu=true
-editable=false
-background-tabs=false
-enable-webgl=false
-enable-page-cache=false
-cache-model=webbrowser
-sans-serif-font-family=sans-serif
-prompt-color=#00ff00
-complete-searchengines=false
-update-search-delay=200
-fantasy-font-family=serif
-hint-fg-color=#000000
-sync-files=all
-default-height=600
-javascript-api=automatic
-scrollbars=false
-hint-bg-color=#ffffff
-show-single-tab=true
-private-color=#505050
-enable-developer-extras=false
-complete-bookmarks=true
-zoom-level=1.00
-download-use-external-program=false
-enable-xss-auditor=true
-custom-encoding=
-print-previewer=
-normal-completion-fg-color=#eeeeee
-close-tab-focus-policy=left
-enable-dns-prefetching=true
-new-tab-position-policy=right
-mouse-cycles-through-tabs=true
-auto-shrink-images=true
-print-backgrounds=true
-enable-caret-browsing=false
-enable-scripts=true
-adblocker-filterlist=/home/adc/.config/dwb/adblock_lists
-proxy=false
-user-agent=
-full-content-zoom=false
-editor=xterm -e vim dwb_uri
-hsts=false
-enable-favicon=true
-hint-active-color=#00ff00
-resizable-text-areas=true
-javascript-schemes=true
-load-on-focus=false
-adblocker-element-hider=true
-download-gradient-start=#0000aa
-hint-normal-color=#ffff99
-spell-checking-languages=
-font-nofocus=
-status-blocked-color=#ffffff
-enable-plugins=true
-download-fg-color=#ffffff
-tabbar-height=0
-enable-frame-flattening=false
-statusbar-height=0
-ssl-use-system-ca-file=true
-bars-padding=0
-active-completion-fg-color=#53868b
-hint-font=bold 10px monospace
-progress-bar-full-color=#ffffff
-tabbed-browsing=true
-hint-highlight-links=false
-active-completion-bg-color=#000000
-font-hidden-statusbar=normal 10px helvetica
-tab-normal-fg-color-2=#dddddd
-tab-normal-fg-color-1=#cccccc
-default-monospace-font-size=10
-save-session=true
-enable-ipc=true
-tabbar-visible=2
-auto-insert-mode=false
-tab-normal-bg-color-2=#707070
-tab-normal-bg-color-1=#505050
-serif-font-family=serif
-accept-language=
-enable-html5-local-storage=true
-tab-protected-color=#ff0000
-hint-letter-seq=FDSARTGBVECWXQYIOPMNHZULKJ
-progress-bar-style=default
-maximum-tabs=0
-passthrough-keys=webkit
-enable-html5-database=true
-hint-autofollow=true
-enable-dom-paste=false
-javascript-can-open-windows-automatically=false
-max-visible-completions=11
-hint-border=1px solid #000000
-widget-packing=dtws
-favicon-size=0
-ssl-trusted-color=#00ff00
-enable-java-applet=true
-hints-key-lock=250
-navigation-history-max=500
-hint-style=letter
-enable-site-specific-quirks=false
-auto-resize-window=false
-zoom-step=0.10
-default-font-family=sans-serif
-ssl-untrusted-color=#ff0000
-plugin-blocker=true
-startpage=dwb:bookmarks
-normal-completion-bg-color=#151515
-cursive-font-family=serif
-default-encoding=
-error-color=#ff0000
-searchengine-submit-pattern=
-hint-opacity=0.80
-font-entry=
-proxy-url=
-font=monospace 8
-monospace-font-family=monospace
-addressbar-dns-lookup=false
-enable-universal-access-from-file-uris=true
-background-color=#000000
-do-not-track=true
-progress-bar-empty-color=#ffffff
-default-width=800
-single-instance=true
-auto-completion=false
-font-completion=
-enable-spatial-navigation=false
-block-insecure-content=false
-download-directory=
-download-external-command=xterm -e wget dwb_uri -O dwb_output --load-cookies dwb_cookies
-user-stylesheet-uri=
-auto-load-images=true
-tab-active-fg-color=#ffffff
-hint-offset-left=0
-history-length=500
-tab-active-bg-color=#000000
-download-bg-color=#000000
-download-no-confirm=false
-enable-file-access-from-file-uris=true
-complete-history=true
-close-last-tab-policy=ignore
-tab-key-cycles-through-elements=true
-enforce-96-dpi=false
-ssl-strict=true
-scroll-step=0.00
-complete-userscripts=false
-foreground-color=#ffffff
-message-delay=2
-scheme-handler=
-default-font-size=12
-enable-offline-web-application-cache=true
-enable-accelerated-compositing=false
diff --git a/.config/dwb/userscripts/wget b/.config/dwb/userscripts/wget
@@ -1,3 +0,0 @@
-#!/bin/bash
-# dwb: Control w
-wget $DWB_URI
diff --git a/.config/dwb/userscripts/youtube-mplayer b/.config/dwb/userscripts/youtube-mplayer
@@ -1,8 +0,0 @@
-#!/bin/bash
-# dwb: Control y
-tmpdir=~/tmp
-tmpfile=youtube.mp4
-mkdir -p $tmpdir
-rm -rf $tmpdir/$tmpfile
-youtube-dl --output $tmpdir/$tmpfile $DWB_URI > $tmpdir/youtube-dl.log 2>&1
-mplayer $tmpdir/$tmpfile >> $tmpdir/youtube-dl.log 2>&1
diff --git a/.config/gopass/config.yml b/.config/gopass/config.yml
@@ -1,19 +0,0 @@
-root:
- askformore: false
- autoclip: true
- autoimport: true
- autosync: true
- check_recipient_hash: false
- cliptimeout: 45
- concurrency: 1
- editrecipients: false
- nocolor: false
- noconfirm: true
- nopager: false
- notifications: true
- path: gpgcli-gitcli-fs+file:///Users/ad/.password-store
- recipient_hash:
- .gpg-id: 3078423739304634414431424638353846450aa69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26
- safecontent: false
- usesymbols: false
-mounts: {}
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
@@ -1,860 +0,0 @@
-# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
-
-#: Fonts {{{
-
-#: kitty has very powerful font management. You can configure
-#: individual font faces and even specify special fonts for particular
-#: characters.
-
-# font_family monospace
-font_family PragmataPro
-# bold_font auto
-# italic_font auto
-# bold_italic_font auto
-
-#: You can specify different fonts for the bold/italic/bold-italic
-#: variants. By default they are derived automatically, by the OSes
-#: font system. Setting them manually is useful for font families that
-#: have many weight variants like Book, Medium, Thick, etc. For
-#: example::
-
-#: font_family Operator Mono Book
-#: bold_font Operator Mono Medium
-#: italic_font Operator Mono Book Italic
-#: bold_italic_font Operator Mono Medium Italic
-
-# font_size 11.0
-font_size 15.0
-
-#: Font size (in pts)
-
-# adjust_line_height 0
-# adjust_column_width 0
-
-#: Change the size of each character cell kitty renders. You can use
-#: either numbers, which are interpreted as pixels or percentages
-#: (number followed by %), which are interpreted as percentages of the
-#: unmodified values. You can use negative pixels or percentages less
-#: than 100% to reduce sizes (but this might cause rendering
-#: artifacts).
-
-# symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
-
-#: Map the specified unicode codepoints to a particular font. Useful
-#: if you need special rendering for some symbols, such as for
-#: Powerline. Avoids the need for patched fonts. Each unicode code
-#: point is specified in the form U+<code point in hexadecimal>. You
-#: can specify multiple code points, separated by commas and ranges
-#: separated by hyphens. symbol_map itself can be specified multiple
-#: times. Syntax is::
-
-#: symbol_map codepoints Font Family Name
-
-# box_drawing_scale 0.001, 1, 1.5, 2
-
-#: Change the sizes of the lines used for the box drawing unicode
-#: characters These values are in pts. They will be scaled by the
-#: monitor DPI to arrive at a pixel value. There must be four values
-#: corresponding to thin, normal, thick, and very thick lines.
-
-#: }}}
-
-#: Cursor customization {{{{{{{{{
-
-# cursor #cccccc
-cursor #f036d2
-
-#: Default cursor color
-
-# cursor_text_color #111111
-cursor_text_color #000000
-
-#: Choose the color of text under the cursor. If you want it rendered
-#: with the background color of the cell underneath instead, use the
-#: special keyword: background
-
-cursor_shape block
-
-#: The cursor shape can be one of (block, beam, underline)
-
-# cursor_blink_interval 0.5
-# cursor_stop_blinking_after 15.0
-cursor_blink_interval 0
-
-#: The interval (in seconds) at which to blink the cursor. Set to zero
-#: to disable blinking. Note that numbers smaller than repaint_delay
-#: will be limited to repaint_delay. Stop blinking cursor after the
-#: specified number of seconds of keyboard inactivity. Set to zero to
-#: never stop blinking.
-
-#: }}}
-# }}}
-#: Scrollback {{{
-
-# scrollback_lines 2000
-
-#: Number of lines of history to keep in memory for scrolling back.
-#: Memory is allocated on demand.
-
-# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
-
-#: Program with which to view scrollback in a new window. The
-#: scrollback buffer is passed as STDIN to this program. If you change
-#: it, make sure the program you use can handle ANSI escape sequences
-#: for colors and text formatting. INPUT_LINE_NUMBER in the command
-#: line above will be replaced by an integer representing which line
-#: should be at the top of the screen.
-
-# wheel_scroll_multiplier 5.0
-
-#: Modify the amount scrolled by the mouse wheel. Note this is only
-#: used for low precision scrolling devices, not for high precision
-#: scrolling on platforms such as macOS and Wayland. Use negative
-#: numbers to change scroll direction.
-
-#: }}}}}}
-
-#: Mouse {{{
-
-# url_color #0087BD
-# url_style curly
-url_style single
-
-#: The color and style for highlighting URLs on mouse-over. url_style
-#: can be one of: none, single, double, curly
-
-# open_url_modifiers kitty_mod
-
-#: The modifier keys to press when clicking with the mouse on URLs to
-#: open the URL
-
-# open_url_with default
-
-#: The program with which to open URLs that are clicked on. The
-#: special value default means to use the operating system's default
-#: URL handler.
-
-# copy_on_select no
-
-#: Copy to clipboard on select. With this enabled, simply selecting
-#: text with the mouse will cause the text to be copied to clipboard.
-#: Useful on platforms such as macOS/Wayland that do not have the
-#: concept of primary selections. Note that this is a security risk,
-#: as all programs, including websites open in your browser can read
-#: the contents of the clipboard.
-
-# rectangle_select_modifiers ctrl+alt
-
-#: The modifiers to use rectangular selection (i.e. to select text in
-#: a rectangular block with the mouse)
-
-# select_by_word_characters :@-./_~?&=%+#
-
-#: Characters considered part of a word when double clicking. In
-#: addition to these characters any character that is marked as an
-#: alpha-numeric character in the unicode database will be matched.
-
-# click_interval 0.5
-
-#: The interval between successive clicks to detect double/triple
-#: clicks (in seconds)
-
-# mouse_hide_wait 3.0
-
-#: Hide mouse cursor after the specified number of seconds of the
-#: mouse not being used. Set to zero to disable mouse cursor hiding.
-
-# focus_follows_mouse no
-
-#: Set the active window to the window under the mouse when moving the
-#: mouse around
-
-#: }}}
-
-#: Performance tuning {{{
-
-# repaint_delay 10
-
-#: Delay (in milliseconds) between screen updates. Decreasing it,
-#: increases frames-per-second (FPS) at the cost of more CPU usage.
-#: The default value yields ~100 FPS which is more than sufficient for
-#: most uses. Note that to actually achieve 100 FPS you have to either
-#: set sync_to_monitor to no or use a monitor with a high refresh
-#: rate.
-
-# input_delay 3
-
-#: Delay (in milliseconds) before input from the program running in
-#: the terminal is processed. Note that decreasing it will increase
-#: responsiveness, but also increase CPU usage and might cause flicker
-#: in full screen programs that redraw the entire screen on each loop,
-#: because kitty is so fast that partial screen updates will be drawn.
-
-# sync_to_monitor yes
-
-#: Sync screen updates to the refresh rate of the monitor. This
-#: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing)
-#: when scrolling. However, it limits the rendering speed to the
-#: refresh rate of your monitor. With a very high speed mouse/high
-#: keyboard repeat rate, you may notice some slight input latency. If
-#: so, set this to no.
-
-#: }}}
-
-#: Terminal bell {{{
-
-# enable_audio_bell yes
-enable_audio_bell no
-
-#: Enable/disable the audio bell. Useful in environments that require
-#: silence.
-
-# visual_bell_duration 0.0
-
-#: Visual bell duration. Flash the screen when a bell occurs for the
-#: specified number of seconds. Set to zero to disable.
-
-# window_alert_on_bell yes
-
-#: Request window attention on bell. Makes the dock icon bounce on
-#: macOS or the taskbar flash on linux.
-
-# bell_on_tab yes
-
-#: Show a bell symbol on the tab if a bell occurs in one of the
-#: windows in the tab and the window is not the currently focused
-#: window
-
-#: }}}
-
-#: Window layout {{{
-
-# remember_window_size yes
-# initial_window_width 640
-# initial_window_height 400
-
-#: If enabled, the window size will be remembered so that new
-#: instances of kitty will have the same size as the previous
-#: instance. If disabled, the window will initially have size
-#: configured by initial_window_width/height, in pixels. You can use a
-#: suffix of "c" on the width/height values to have them interpreted
-#: as number of cells instead of pixels.
-
-# enabled_layouts *
-
-#: The enabled window layouts. A comma separated list of layout names.
-#: The special value * means all layouts. The first listed layout will
-#: be used as the startup layout. For a list of available layouts, see
-#: the https://sw.kovidgoyal.net/kitty/index.html#layouts.
-
-# window_resize_step_cells 2
-# window_resize_step_lines 2
-
-#: The step size (in units of cell width/cell height) to use when
-#: resizing windows. The cells value is used for horizontal resizing
-#: and the lines value for vertical resizing.
-
-# window_border_width 1.0
-
-#: The width (in pts) of window borders. Will be rounded to the
-#: nearest number of pixels based on screen resolution. Note that
-#: borders are displayed only when more than one window is visible.
-#: They are meant to separate multiple windows.
-
-# draw_minimal_borders yes
-
-#: Draw only the minimum borders needed. This means that only the
-#: minimum needed borders for inactive windows are drawn. That is only
-#: the borders that separate the inactive window from a neighbor. Note
-#: that setting a non-zero window margin overrides this and causes all
-#: borders to be drawn.
-
-# window_margin_width 0.0
-
-#: The window margin (in pts) (blank area outside the border)
-
-# single_window_margin_width -1000.0
-
-#: The window margin (in pts) to use when only a single window is
-#: visible. Negative values will cause the value of
-#: window_margin_width to be used instead.
-
-# window_padding_width 0.0
-
-#: The window padding (in pts) (blank area between the text and the
-#: window border)
-
-# active_border_color #00ff00
-
-#: The color for the border of the active window
-
-# inactive_border_color #cccccc
-
-#: The color for the border of inactive windows
-
-# bell_border_color #ff5a00
-
-#: The color for the border of inactive windows in which a bell has
-#: occurred
-
-# inactive_text_alpha 1.0
-
-#: Fade the text in inactive windows by the specified amount (a number
-#: between zero and one, with zero being fully faded).
-
-#: }}}
-
-#: Tab bar {{{
-
-# tab_bar_edge bottom
-
-#: Which edge to show the tab bar on, top or bottom
-
-# tab_bar_margin_width 0.0
-
-#: The margin to the left and right of the tab bar (in pts)
-
-# tab_bar_style fade
-
-#: The tab bar style, can be one of: fade or separator. In the fade
-#: style, each tab's edges fade into the background color, in the
-#: separator style, tabs are separated by a configurable separator.
-
-# tab_fade 0.25 0.5 0.75 1
-
-#: Control how each tab fades into the background when using fade for
-#: the tab_bar_style. Each number is an alpha (between zero and one)
-#: that controls how much the corresponding cell fades into the
-#: background, with zero being no fade and one being full fade. You
-#: can change the number of cells used by adding/removing entries to
-#: this list.
-
-# tab_separator " ┇"
-
-#: The separator between tabs in the tab bar when using separator as
-#: the tab_bar_style.
-
-# active_tab_foreground #000
-# active_tab_background #eee
-# active_tab_font_style bold-italic
-# inactive_tab_foreground #444
-# inactive_tab_background #999
-# inactive_tab_font_style normal
-
-#: Tab bar colors and styles
-
-#: }}}
-
-#: Color scheme {{{
-
-# foreground #dddddd
-# background #000000
-foreground #c5c8c6
-background #1d1f21
-
-#: The foreground and background colors
-
-# background_opacity 1.0
-# dynamic_background_opacity no
-
-#: The opacity of the background. A number between 0 and 1, where 1 is
-#: opaque and 0 is fully transparent. This will only work if
-#: supported by the OS (for instance, when using a compositor under
-#: X11). Note that it only sets the default background color's
-#: opacity. This is so that things like the status bar in vim,
-#: powerline prompts, etc. still look good. But it means that if you
-#: use a color theme with a background color in your editor, it will
-#: not be rendered as transparent. Instead you should change the
-#: default background color in your kitty config and not use a
-#: background color in the editor color scheme. Or use the escape
-#: codes to set the terminals default colors in a shell script to
-#: launch your editor. Be aware that using a value less than 1.0 is a
-#: (possibly significant) performance hit. If you want to dynamically
-#: change transparency of windows set dynamic_background_opacity to
-#: yes (this is off by default as it has a performance cost)
-
-# dim_opacity 0.75
-
-#: How much to dim text that has the DIM/FAINT attribute set. One
-#: means no dimming and zero means fully dimmed (i.e. invisible).
-
-# selection_foreground #000000
-# selection_background #FFFACD
-
-#: The foreground and background for text selected with the mouse
-
-
-#: The 16 terminal colors. There are 8 basic colors, each color has a
-#: dull and bright version. You can also set the remaining colors from
-#: the 256 color table as color16 to color255.
-
-# color0 #000000
-# color8 #767676
-color0 #434944
-color8 #6c6d6b
-
-#: black
-
-# color1 #cc0403
-# color9 #f2201f
-color1 #da5673
-color9 #dba2b4
-
-#: red
-
-# color2 #19cb00
-# color10 #23fd00
-color2 #8cc16d
-color10 #898e38
-
-#: green
-
-# color3 #cecb00
-# color11 #fffd00
-color3 #eebf35
-color11 #8a6b3d
-
-#: yellow
-
-# color4 #0d73cc
-# color12 #1a8fff
-color4 #5cabdc
-color12 #126b8c
-
-#: blue
-
-# color5 #cb1ed1
-# color13 #fd28ff
-color5 #b595cf
-color13 #7457a2
-
-#: magenta
-
-# color6 #0dcdcd
-# color14 #14ffff
-color6 #44a9ba
-color14 #87c7d4
-
-#: cyan
-
-# color7 #dddddd
-# color15 #ffffff
-color7 #fbfbf8
-color15 #bfc2bc
-
-#: white
-
-#: }}}
-
-#: Advanced {{{
-
-# shell .
-
-#: The shell program to execute. The default value of . means to use
-#: whatever shell is set as the default shell for the current user.
-#: Note that on macOS if you change this, you might need to add
-#: --login to ensure that the shell starts in interactive mode and
-#: reads its startup rc files.
-
-# editor .
-
-#: The console editor to use when editing the kitty config file or
-#: similar tasks. A value of . means to use the environment variable
-#: EDITOR. Note that this environment variable has to be set not just
-#: in your shell startup scripts but system-wide, otherwise kitty will
-#: not see it.
-
-# close_on_child_death no
-
-#: Close the window when the child process (shell) exits. If no (the
-#: default), the terminal will remain open when the child exits as
-#: long as there are still processes outputting to the terminal (for
-#: example disowned or backgrounded processes). If yes, the window
-#: will close as soon as the child process exits. Note that setting it
-#: to yes means that any background processes still using the terminal
-#: can fail silently because their stdout/stderr/stdin no longer work.
-
-# allow_remote_control no
-
-#: Allow other programs to control kitty. If you turn this on other
-#: programs can control all aspects of kitty, including sending text
-#: to kitty windows, opening new windows, closing windows, reading the
-#: content of windows, etc. Note that this even works over ssh
-#: connections.
-
-# env
-
-#: Specify environment variables to set in all child processes. Note
-#: that environment variables are expanded recursively, so if you
-#: use::
-
-#: env MYVAR1=a
-#: env MYVAR2=${MYVAR}/${HOME}/b
-
-#: The value of MYVAR2 will be a/<path to home directory>/b.
-
-# startup_session none
-
-#: Path to a session file to use for all kitty instances. Can be
-#: overridden by using the kitty --session command line option for
-#: individual instances. See
-#: https://sw.kovidgoyal.net/kitty/index.html#sessions in the kitty
-#: documentation for details. Note that relative paths are interpreted
-#: with respect to the kitty config directory. Environment variables
-#: in the path are expanded.
-
-# clipboard_control write-clipboard write-primary
-
-#: Allow programs running in kitty to read and write from the
-#: clipboard. You can control exactly which actions are allowed. The
-#: set of possible actions is: write-clipboard read-clipboard write-
-#: primary read-primary The default is to allow writing to the
-#: clipboard and primary selection. Note that enabling the read
-#: functionality is a security risk as it means that any program, even
-#: one running on a remote server via SSH can read your clipboard.
-
-# term xterm-kitty
-term xterm-256color
-
-#: The value of the TERM environment variable to set. Changing this
-#: can break many terminal programs, only change it if you know what
-#: you are doing, not because you read some advice on Stack Overflow
-#: to change it.
-
-#: }}}
-
-#: OS specific tweaks {{{
-
-# macos_titlebar_color system
-
-#: Change the color of the kitty window's titlebar on macOS. A value
-#: of system means to use the default system color, a value of
-#: background means to use the background color of the currently
-#: active window and finally you can use an arbitrary color, such as
-#: #12af59 or red. WARNING: This option works by using a hack, as
-#: there is no proper Cocoa API for it. It sets the background color
-#: of the entire window and makes the titlebar transparent. As such it
-#: is incompatible with background_opacity. If you want to use both,
-#: you are probably better off just hiding the titlebar with
-#: macos_hide_titlebar.
-
-# macos_hide_titlebar no
-macos_hide_titlebar yes
-
-#: Hide the kitty window's title bar on macOS.
-
-# x11_hide_window_decorations no
-x11_hide_window_decorations yes
-
-#: Hide the window decorations (title bar and window borders) on X11
-#: and Wayland. Whether this works and exactly what effect it has
-#: depends on the window manager, as it is the job of the window
-#: manager/compositor to draw window decorations.
-
-# macos_option_as_alt yes
-
-#: Use the option key as an alt key. With this set to no, kitty will
-#: use the macOS native Option+Key = unicode character behavior. This
-#: will break any Alt+key keyboard shortcuts in your terminal
-#: programs, but you can use the macOS unicode input technique.
-
-# macos_hide_from_tasks no
-
-#: Hide the kitty window from running tasks (Option+Tab) on macOS.
-
-# macos_quit_when_last_window_closed no
-
-#: Have kitty quit when all the top-level windows are closed. By
-#: default, kitty will stay running, even with no open windows, as is
-#: the expected behavior on macOS.
-
-# macos_window_resizable yes
-
-#: Disable this if you want kitty top-level (OS) windows to not be
-#: resizable on macOS.
-
-#: }}}
-
-#: Keyboard shortcuts {{{
-
-#: For a list of key names, see: GLFW keys
-#: <http://www.glfw.org/docs/latest/group__keys.html>. The name to use
-#: is the part after the GLFW_KEY_ prefix. For a list of modifier
-#: names, see: GLFW mods
-#: <http://www.glfw.org/docs/latest/group__mods.html>
-
-#: On Linux you can also use XKB key names to bind keys that are not
-#: supported by GLFW. See XKB keys
-#: <https://github.com/xkbcommon/libxkbcommon/blob/master/xkbcommon/xkbcommon-
-#: keysyms.h> for a list of key names. The name to use is the part
-#: after the XKB_KEY_ prefix. Note that you should only use an XKB key
-#: name for keys that are not present in the list of GLFW keys.
-
-#: You can use the special action no_op to unmap a keyboard shortcut
-#: that is assigned in the default configuration.
-
-#: You can combine multiple actions to be triggered by a single
-#: shortcut, using the syntax below::
-
-#: map key combine <separator> action1 <separator> action2 <separator> action3 ...
-
-#: For example::
-
-#: map kitty_mod+e combine : new_window : next_layout
-
-#: this will create a new window and switch to the next available
-#: layout
-
-#: You can use multi-key shortcuts using the syntax shown below::
-
-#: map key1>key2>key3 action
-
-#: For example::
-
-#: map ctrl+f>2 set_font_size 20
-
-# kitty_mod ctrl+shift
-
-#: The value of kitty_mod is used as the modifier for all default
-#: shortcuts, you can change it in your kitty.conf to change the
-#: modifiers for all the default shortcuts.
-
-# clear_all_shortcuts no
-
-#: You can have kitty remove all shortcut definition seen up to this
-#: point. Useful, for instance, to remove the default shortcuts.
-
-#: Clipboard {{{
-
-# map cmd+c copy_to_clipboard
-# map kitty_mod+c copy_to_clipboard
-# map cmd+v paste_from_clipboard
-# map kitty_mod+v paste_from_clipboard
-# map kitty_mod+s paste_from_selection
-# map shift+insert paste_from_selection
-# map kitty_mod+o pass_selection_to_program
-
-#: You can also pass the contents of the current selection to any
-#: program using pass_selection_to_program. By default, the system's
-#: open program is used, but you can specify your own, for example::
-
-#: map kitty_mod+o pass_selection_to_program firefox
-
-#: You can pass the current selection to a terminal program running in
-#: a new kitty window, by using the @selection placeholder::
-
-#: map kitty_mod+y new_window less @selection
-
-#: }}}
-
-#: Scrolling {{{
-
-# map kitty_mod+up scroll_line_up
-# map kitty_mod+k scroll_line_up
-# map kitty_mod+down scroll_line_down
-# map kitty_mod+j scroll_line_down
-# map kitty_mod+page_up scroll_page_up
-# map kitty_mod+page_down scroll_page_down
-# map kitty_mod+home scroll_home
-# map kitty_mod+end scroll_end
-# map kitty_mod+h show_scrollback
-
-#: You can send the contents of the current screen + history buffer as
-#: stdin to an arbitrary program using the placeholders @text (which
-#: is the plain text) and @ansi (which includes text styling escape
-#: codes). For only the current screen, use @screen or @ansi_screen.
-#: For example, the following command opens the scrollback buffer in
-#: less in a new window::
-
-#: map kitty_mod+y new_window @ansi less +G -R
-
-#: }}}
-
-#: Window management {{{
-
-# map kitty_mod+enter new_window
-
-#: You can open a new window running an arbitrary program, for
-#: example::
-
-#: map kitty_mod+y new_window mutt
- map kitty_mod+y new_window mutt
-
-#: You can open a new window with the current working directory set to
-#: the working directory of the current window using::
-
-#: map ctrl+alt+enter new_window_with_cwd
- map ctrl+alt+enter new_window_with_cwd
-
-#: You can open a new window that is allowed to control kitty via the
-#: kitty remote control facility by prefixing the command line with @.
-#: Any programs running in that window will be allowed to control
-#: kitty. For example::
-
-#: map ctrl+enter new_window @ some_program
-
-# map cmd+n new_os_window
-# map kitty_mod+n new_os_window
-# map kitty_mod+w close_window
-# map kitty_mod+] next_window
-# map kitty_mod+[ previous_window
-# map kitty_mod+f move_window_forward
-# map kitty_mod+b move_window_backward
-# map kitty_mod+` move_window_to_top
-# map kitty_mod+r start_resizing_window
-# map kitty_mod+1 first_window
-# map kitty_mod+2 second_window
-# map kitty_mod+3 third_window
-# map kitty_mod+4 fourth_window
-# map kitty_mod+5 fifth_window
-# map kitty_mod+6 sixth_window
-# map kitty_mod+7 seventh_window
-# map kitty_mod+8 eighth_window
-# map kitty_mod+9 ninth_window
-# map kitty_mod+0 tenth_window
-#: }}}
-
-#: Tab management {{{
-
-# map ctrl+tab next_tab
-# map kitty_mod+right next_tab
-# map kitty_mod+left previous_tab
-# map kitty_mod+t new_tab
-# map kitty_mod+q close_tab
-# map kitty_mod+. move_tab_forward
-# map kitty_mod+, move_tab_backward
-# map kitty_mod+alt+t set_tab_title
-
-#: You can also create shortcuts to go to specific tabs, with 1 being
-#: the first tab::
-
-#: map ctrl+alt+1 goto_tab 1
-#: map ctrl+alt+2 goto_tab 2
-
-#: Just as with new_window above, you can also pass the name of
-#: arbitrary commands to run when using new_tab and use
-#: new_tab_with_cwd.
-#: }}}
-
-#: Layout management {{{
-
-# map kitty_mod+l next_layout
-
-#: You can also create shortcuts to switch to specific layouts::
-
-#: map ctrl+alt+t goto_layout tall
-#: map ctrl+alt+s goto_layout stack
-#: }}}
-
-#: Font sizes {{{
-
-#: You can change the font size for all top-level kitty windows at a
-#: time or only the current one.
-
-# map kitty_mod+equal change_font_size all +2.0
-# map kitty_mod+minus change_font_size all -2.0
-# map kitty_mod+backspace change_font_size all 0
-
-#: To setup shortcuts for specific font sizes::
-
-#: map kitty_mod+f6 change_font_size all 10.0
-
-#: To setup shortcuts to change only the current window's font size::
-
-#: map kitty_mod+f6 change_font_size current 10.0
-#: }}}
-
-#: Select and act on visible text {{{
-
-#: Use the hints kitten to select text and either pass it to an
-#: external program or insert it into the terminal or copy it to the
-#: clipboard.
-
-# map kitty_mod+e kitten hints
-
-#: Open a currently visible URL using the keyboard. The program used
-#: to open the URL is specified in open_url_with.
-
-# map kitty_mod+p>f kitten hints --type path --program -
-
-#: Select a path/filename and insert it into the terminal. Useful, for
-#: instance to run git commands on a filename output from a previous
-#: git command.
-
-# map kitty_mod+p>shift+f kitten hints --type path
-
-#: Select a path/filename and open it with the default open program.
-
-# map kitty_mod+p>l kitten hints --type line --program -
-
-#: Select a line of text and insert it into the terminal. Use for the
-#: output of things like: ls -1
-
-# map kitty_mod+p>w kitten hints --type word --program -
-
-#: Select words and insert into terminal.
-
-# map kitty_mod+p>h kitten hints --type hash --program -
-
-#: Select something that looks like a hash and insert it into the
-#: terminal. Useful with git, which uses sha1 hashes to identify
-#: commits
-
-
-#: The hints kitten has many more modes of operation that you can map
-#: to different shortcuts. For a full description see kittens/hints.
-#: }}}
-
-#: Miscellaneous {{{
-
-# map kitty_mod+f11 toggle_fullscreen
-# map kitty_mod+u kitten unicode_input
-# map kitty_mod+f2 edit_config_file
-# map kitty_mod+escape kitty_shell window
-
-#: Open the kitty shell in a new window/tab/overlay/os_window to
-#: control kitty using commands.
-
-# map kitty_mod+a>m set_background_opacity +0.1
-# map kitty_mod+a>l set_background_opacity -0.1
-# map kitty_mod+a>1 set_background_opacity 1
-# map kitty_mod+a>d set_background_opacity default
-# map kitty_mod+delete clear_terminal reset active
-
-#: You can create shortcuts to clear/reset the terminal. For example::
-
-#: map kitty_mod+f9 clear_terminal reset active
-#: map kitty_mod+f10 clear_terminal clear active
-#: map kitty_mod+f11 clear_terminal scrollback active
-
-#: These will reset screen/clear screen/clear screen+scrollback
-#: respectively. If you want to operate on all windows instead of just
-#: the current one, use all instead of :italic`active`.
-
-
-#: You can tell kitty to send arbitrary (UTF-8) encoded text to the
-#: client program when pressing specified shortcut keys. For example::
-
-#: map ctrl+alt+a send_text all Special text
-
-#: This will send "Special text" when you press the ctrl+alt+a key
-#: combination. The text to be sent is a python string literal so you
-#: can use escapes like \x1b to send control codes or \u21fb to send
-#: unicode characters (or you can just input the unicode characters
-#: directly as UTF-8 text). The first argument to send_text is the
-#: keyboard modes in which to activate the shortcut. The possible
-#: values are normal or application or kitty or a comma separated
-#: combination of them. The special keyword all means all modes. The
-#: modes normal and application refer to the DECCKM cursor key mode
-#: for terminals, and kitty refers to the special kitty extended
-#: keyboard protocol.
-
-#: Another example, that outputs a word and then moves the cursor to
-#: the start of the line (same as pressing the Home key)::
-
-#: map ctrl+alt+a send_text normal Word\x1b[H
-#: map ctrl+alt+a send_text application Word\x1bOH
-
-#: }}}
-
-# }}}
diff --git a/.config/luakit/binds.lua b/.config/luakit/binds.lua
@@ -1,588 +0,0 @@
------------------
--- Keybindings --
------------------
-
--- Binding aliases
-local key, buf, but = lousy.bind.key, lousy.bind.buf, lousy.bind.but
-local cmd, any = lousy.bind.cmd, lousy.bind.any
-
--- Util aliases
-local match, join = string.match, lousy.util.table.join
-local strip, split = lousy.util.string.strip, lousy.util.string.split
-
--- Globals or defaults that are used in binds
-local scroll_step = globals.scroll_step or 20
-local zoom_step = globals.zoom_step or 0.1
-
--- Add binds to a mode
-function add_binds(mode, binds, before)
- assert(binds and type(binds) == "table", "invalid binds table type: " .. type(binds))
- mode = type(mode) ~= "table" and {mode} or mode
- for _, m in ipairs(mode) do
- local mdata = get_mode(m)
- if mdata and before then
- mdata.binds = join(binds, mdata.binds or {})
- elseif mdata then
- mdata.binds = mdata.binds or {}
- for _, b in ipairs(binds) do table.insert(mdata.binds, b) end
- else
- new_mode(m, { binds = binds })
- end
- end
-end
-
--- Add commands to command mode
-function add_cmds(cmds, before)
- add_binds("command", cmds, before)
-end
-
--- Adds the default menu widget bindings to a mode
-menu_binds = {
- -- Navigate items
- key({}, "j", function (w) w.menu:move_down() end),
- key({}, "k", function (w) w.menu:move_up() end),
- key({}, "Down", function (w) w.menu:move_down() end),
- key({}, "Up", function (w) w.menu:move_up() end),
- key({}, "Tab", function (w) w.menu:move_down() end),
- key({"Shift"}, "Tab", function (w) w.menu:move_up() end),
-}
-
--- Add binds to special mode "all" which adds its binds to all modes.
-add_binds("all", {
- key({}, "Escape", "Return to `normal` mode.",
- function (w) w:set_mode() end),
-
- key({"Control"}, "[", "Return to `normal` mode.",
- function (w) w:set_mode() end),
-
- -- Mouse bindings
- but({}, 8, "Go back.",
- function (w) w:back() end),
-
- but({}, 9, "Go forward.",
- function (w) w:forward() end),
-
- -- Open link in new tab or navigate to selection
- but({}, 2, [[Open link under mouse cursor in new tab or navigate to the
- contents of `luakit.selection.primary`.]],
- function (w, m)
- -- Ignore button 2 clicks in form fields
- if not m.context.editable then
- -- Open hovered uri in new tab
- local uri = w.view.hovered_uri
- if uri then
- w:new_tab(uri, false)
- else -- Open selection in current tab
- uri = luakit.selection.primary
- if uri then w:navigate(w:search_open(uri)) end
- end
- end
- end),
-
- -- Open link in new tab when Ctrl-clicked.
- but({"Control"}, 1, "Open link under mouse cursor in new tab.",
- function (w, m)
- local uri = w.view.hovered_uri
- if uri then
- w:new_tab(uri, false)
- end
- end),
-
- -- Zoom binds
- but({"Control"}, 4, "Increase text zoom level.",
- function (w, m) w:zoom_in() end),
-
- but({"Control"}, 5, "Reduce text zoom level.",
- function (w, m) w:zoom_out() end),
-
- -- Horizontal mouse scroll binds
- but({"Shift"}, 4, "Scroll left.",
- function (w, m) w:scroll{ xrel = -scroll_step } end),
-
- but({"Shift"}, 5, "Scroll right.",
- function (w, m) w:scroll{ xrel = scroll_step } end),
-})
-
-add_binds("normal", {
- -- Autoparse the `[count]` before a binding and re-call the hit function
- -- with the count removed and added to the opts table.
- any([[Meta-binding to detect the `^[count]` syntax. The `[count]` is parsed
- and stripped from the internal buffer string and the value assigned to
- `state.count`. Then `lousy.bind.hit()` is re-called with the modified
- buffer string & original modifier state.
-
- #### Example binding
-
- lousy.bind.key({}, "%", function (w, state)
- w:scroll{ ypct = state.count }
- end, { count = 0 })
-
- This binding demonstrates several concepts. Firstly that you are able to
- specify per-binding default values of `count`. In this case if the user
- types `"%"` the document will be scrolled vertically to `0%` (the top).
-
- If the user types `"100%"` then the document will be scrolled to `100%`
- (the bottom). All without the need to use `lousy.bind.buf` bindings
- everywhere and or using a `^(%d*)` pattern prefix on every binding which
- would like to make use of the `[count]` syntax.]],
- function (w, m)
- local count, buf
- if m.buffer then
- count = string.match(m.buffer, "^(%d+)")
- end
- if count then
- buf = string.sub(m.buffer, #count + 1, (m.updated_buf and -2) or -1)
- local opts = join(m, {count = tonumber(count)})
- opts.buffer = (#buf > 0 and buf) or nil
- if lousy.bind.hit(w, m.binds, m.mods, m.key, opts) then
- return true
- end
- end
- return false
- end),
-
- key({}, "i", "Enter `insert` mode.",
- function (w) w:set_mode("insert") end),
-
- key({}, ":", "Enter `command` mode.",
- function (w) w:set_mode("command") end),
-
- -- Scrolling
- key({}, "j", "Scroll document down.",
- function (w) w:scroll{ yrel = scroll_step } end),
-
- key({}, "k", "Scroll document up.",
- function (w) w:scroll{ yrel = -scroll_step } end),
-
- key({}, "h", "Scroll document left.",
- function (w) w:scroll{ xrel = -scroll_step } end),
-
- key({}, "l", "Scroll document right.",
- function (w) w:scroll{ xrel = scroll_step } end),
-
- key({}, "Down", "Scroll document down.",
- function (w) w:scroll{ yrel = scroll_step } end),
-
- key({}, "Up", "Scroll document up.",
- function (w) w:scroll{ yrel = -scroll_step } end),
-
- key({}, "Left", "Scroll document left.",
- function (w) w:scroll{ xrel = -scroll_step } end),
-
- key({}, "Right", "Scroll document right.",
- function (w) w:scroll{ xrel = scroll_step } end),
-
- key({}, "^", "Scroll to the absolute left of the document.",
- function (w) w:scroll{ x = 0 } end),
-
- key({}, "$", "Scroll to the absolute right of the document.",
- function (w) w:scroll{ x = -1 } end),
-
- key({}, "0", "Scroll to the absolute left of the document.",
- function (w, m)
- if not m.count then w:scroll{ y = 0 } else return false end
- end),
-
- key({"Control"}, "e", "Scroll document down.",
- function (w) w:scroll{ yrel = scroll_step } end),
-
- key({"Control"}, "y", "Scroll document up.",
- function (w) w:scroll{ yrel = -scroll_step } end),
-
- key({"Control"}, "d", "Scroll half page down.",
- function (w) w:scroll{ ypagerel = 0.5 } end),
-
- key({"Control"}, "u", "Scroll half page up.",
- function (w) w:scroll{ ypagerel = -0.5 } end),
-
- key({"Control"}, "f", "Scroll page down.",
- function (w) w:scroll{ ypagerel = 1.0 } end),
-
- key({"Control"}, "b", "Scroll page up.",
- function (w) w:scroll{ ypagerel = -1.0 } end),
-
- key({}, "space", "Scroll page down.",
- function (w) w:scroll{ ypagerel = 1.0 } end),
-
- key({"Shift"}, "space", "Scroll page up.",
- function (w) w:scroll{ ypagerel = -1.0 } end),
-
- key({}, "BackSpace", "Scroll page up.",
- function (w) w:scroll{ ypagerel = -1.0 } end),
-
- key({}, "Page_Down", "Scroll page down.",
- function (w) w:scroll{ ypagerel = 1.0 } end),
-
- key({}, "Page_Up", "Scroll page up.",
- function (w) w:scroll{ ypagerel = -1.0 } end),
-
- key({}, "Home", "Go to the end of the document.",
- function (w) w:scroll{ y = 0 } end),
-
- key({}, "End", "Go to the top of the document.",
- function (w) w:scroll{ y = -1 } end),
-
- -- Specific scroll
- buf("^gg$", "Go to the top of the document.",
- function (w, b, m) w:scroll{ ypct = m.count } end, {count=0}),
-
- buf("^G$", "Go to the bottom of the document.",
- function (w, b, m) w:scroll{ ypct = m.count } end, {count=100}),
-
- buf("^%%$", "Go to `[count]` percent of the document.",
- function (w, b, m) w:scroll{ ypct = m.count } end),
-
- -- Zooming
- key({}, "+", "Enlarge text zoom of the current page.",
- function (w, m) w:zoom_in(zoom_step * m.count) end, {count=1}),
-
- key({}, "-", "Reduce text zom of the current page.",
- function (w, m) w:zoom_out(zoom_step * m.count) end, {count=1}),
-
- key({}, "=", "Reset zoom level.",
- function (w, m) w:zoom_set() end),
-
- buf("^z[iI]$", [[Enlarge text zoom of current page with `zi` or `zI` to
- reduce full zoom.]],
- function (w, b, m)
- w:zoom_in(zoom_step * m.count, b == "zI")
- end, {count=1}),
-
- buf("^z[oO]$", [[Reduce text zoom of current page with `zo` or `zO` to
- reduce full zoom.]],
- function (w, b, m)
- w:zoom_out(zoom_step * m.count, b == "zO")
- end, {count=1}),
-
- -- Zoom reset or specific zoom ([count]zZ for full content zoom)
- buf("^z[zZ]$", [[Set current page zoom to `[count]` percent with
- `[count]zz`, use `[count]zZ` to set full zoom percent.]],
- function (w, b, m)
- w:zoom_set(m.count/100, b == "zZ")
- end, {count=100}),
-
- -- Fullscreen
- key({}, "F11", "Toggle fullscreen mode.",
- function (w) w.win.fullscreen = not w.win.fullscreen end),
-
- -- Clipboard
- key({}, "p", [[Open a URL based on the current primary selection contents
- in the current tab.]],
- function (w)
- local uri = luakit.selection.primary
- if not uri then w:notify("No primary selection...") return end
- w:navigate(w:search_open(uri))
- end),
-
- key({}, "P", [[Open a URL based on the current primary selection contents
- in `[count=1]` new tab(s).]],
- function (w, m)
- local uri = luakit.selection.primary
- if not uri then w:notify("No primary selection...") return end
- for i = 1, m.count do w:new_tab(w:search_open(uri)) end
- end, {count = 1}),
-
- -- Yanking
- key({}, "y", "Yank current URI to primary selection.",
- function (w)
- local uri = string.gsub(w.view.uri or "", " ", "%%20")
- luakit.selection.primary = uri
- w:notify("Yanked uri: " .. uri)
- end),
-
- -- Commands
- key({"Control"}, "a", "Increment last number in URL.",
- function (w) w:navigate(w:inc_uri(1)) end),
-
- key({"Control"}, "x", "Decrement last number in URL.",
- function (w) w:navigate(w:inc_uri(-1)) end),
-
- key({}, "o", "Open one or more URLs.",
- function (w) w:enter_cmd(":open ") end),
-
- key({}, "t", "Open one or more URLs in a new tab.",
- function (w) w:enter_cmd(":tabopen ") end),
-
- key({}, "w", "Open one or more URLs in a new window.",
- function (w) w:enter_cmd(":winopen ") end),
-
- key({}, "O", "Open one or more URLs based on current location.",
- function (w) w:enter_cmd(":open " .. (w.view.uri or "")) end),
-
- key({}, "T",
- "Open one or more URLs based on current location in a new tab.",
- function (w) w:enter_cmd(":tabopen " .. (w.view.uri or "")) end),
-
- key({}, "W",
- "Open one or more URLs based on current locaton in a new window.",
- function (w) w:enter_cmd(":winopen " .. (w.view.uri or "")) end),
-
- -- History
- key({}, "H", "Go back in the browser history `[count=1]` items.",
- function (w, m) w:back(m.count) end),
-
- key({}, "L", "Go forward in the browser history `[count=1]` times.",
- function (w, m) w:forward(m.count) end),
-
- key({}, "XF86Back", "Go back in the browser history.",
- function (w, m) w:back(m.count) end),
-
- key({}, "XF86Forward", "Go forward in the browser history.",
- function (w, m) w:forward(m.count) end),
-
- key({"Control"}, "o", "Go back in the browser history.",
- function (w, m) w:back(m.count) end),
-
- key({"Control"}, "i", "Go forward in the browser history.",
- function (w, m) w:forward(m.count) end),
-
- -- Tab
- key({"Control"}, "Page_Up", "Go to previous tab.",
- function (w) w:prev_tab() end),
-
- key({"Control"}, "Page_Down", "Go to next tab.",
- function (w) w:next_tab() end),
-
- key({"Control"}, "Tab", "Go to next tab.",
- function (w) w:next_tab() end),
-
- key({"Shift","Control"}, "Tab", "Go to previous tab.",
- function (w) w:prev_tab() end),
-
- buf("^gT$", "Go to previous tab.",
- function (w) w:prev_tab() end),
-
- buf("^gt$", "Go to next tab (or `[count]` nth tab).",
- function (w, b, m)
- if not w:goto_tab(m.count) then w:next_tab() end
- end, {count=0}),
-
- buf("^g0$", "Go to first tab.",
- function (w) w:goto_tab(1) end),
-
- buf("^g$$", "Go to last tab.",
- function (w) w:goto_tab(-1) end),
-
- key({"Control"}, "t", "Open a new tab.",
- function (w) w:new_tab(globals.homepage) end),
-
- key({"Control"}, "w", "Close current tab.",
- function (w) w:close_tab() end),
-
- key({}, "d", "Close current tab (or `[count]` tabs).",
- function (w, m) for i=1,m.count do w:close_tab() end end, {count=1}),
-
- key({}, "<", "Reorder tab left `[count=1]` positions.",
- function (w, m)
- w.tabs:reorder(w.view, w.tabs:current() - m.count)
- end, {count=1}),
-
- key({}, ">", "Reorder tab right `[count=1]` positions.",
- function (w, m)
- w.tabs:reorder(w.view,
- (w.tabs:current() + m.count) % w.tabs:count())
- end, {count=1}),
-
- buf("^gH$", "Open homepage in new tab.",
- function (w) w:new_tab(globals.homepage) end),
-
- buf("^gh$", "Open homepage.",
- function (w) w:navigate(globals.homepage) end),
-
- buf("^gy$", "Duplicate current tab.",
- function (w) w:new_tab(w.view.history or "") end),
-
- key({}, "r", "Reload current tab.",
- function (w) w:reload() end),
-
- key({}, "R", "Reload current tab (skipping cache).",
- function (w) w:reload(true) end),
-
- key({"Control"}, "c", "Stop loading the current tab.",
- function (w) w.view:stop() end),
-
- key({"Control", "Shift"}, "R", "Restart luakit (reloading configs).",
- function (w) w:restart() end),
-
- -- Window
- buf("^ZZ$", "Quit and save the session.",
- function (w) w:save_session() w:close_win() end),
-
- buf("^ZQ$", "Quit and don't save the session.",
- function (w) w:close_win() end),
-
- buf("^D$", "Quit and don't save the session.",
- function (w) w:close_win() end),
-
- -- Enter passthrough mode
- key({"Control"}, "z",
- "Enter `passthrough` mode, ignores all luakit keybindings.",
- function (w) w:set_mode("passthrough") end),
-})
-
-add_binds("insert", {
- key({"Control"}, "z",
- "Enter `passthrough` mode, ignores all luakit keybindings.",
- function (w) w:set_mode("passthrough") end),
-})
-
-readline_bindings = {
- key({"Shift"}, "Insert",
- "Insert contents of primary selection at cursor position.",
- function (w) w:insert_cmd(luakit.selection.primary) end),
-
- key({"Control"}, "w", "Delete previous word.",
- function (w) w:del_word() end),
-
- key({"Control"}, "u", "Delete until beginning of current line.",
- function (w) w:del_line() end),
-
- key({"Control"}, "h", "Delete character to the left.",
- function (w) w:del_backward_char() end),
-
- key({"Control"}, "d", "Delete character to the right.",
- function (w) w:del_forward_char() end),
-
- key({"Control"}, "a", "Move cursor to beginning of current line.",
- function (w) w:beg_line() end),
-
- key({"Control"}, "e", "Move cursor to end of current line.",
- function (w) w:end_line() end),
-
- key({"Control"}, "f", "Move cursor forward one character.",
- function (w) w:forward_char() end),
-
- key({"Control"}, "b", "Move cursor backward one character.",
- function (w) w:backward_char() end),
-
- key({"Mod1"}, "f", "Move cursor forward one word.",
- function (w) w:forward_word() end),
-
- key({"Mod1"}, "b", "Move cursor backward one word.",
- function (w) w:backward_word() end),
-}
-
-add_binds({"command", "search"}, readline_bindings)
-
--- Switching tabs with Mod1+{1,2,3,...}
-mod1binds = {}
-for i=1,10 do
- table.insert(mod1binds,
- key({"Mod1"}, tostring(i % 10), "Jump to tab at index "..i..".",
- function (w) w.tabs:switch(i) end))
-end
-add_binds("normal", mod1binds)
-
--- Command bindings which are matched in the "command" mode from text
--- entered into the input bar.
-add_cmds({
- buf("^%S+!",
- [[Detect bang syntax in `:command!` and recursively calls
- `lousy.bind.match_cmd(..)` removing the bang from the command string
- and setting `bang = true` in the bind opts table.]],
- function (w, cmd, opts)
- local cmd, args = string.match(cmd, "^(%S+)!+(.*)")
- if cmd then
- opts = join(opts, { bang = true })
- return lousy.bind.match_cmd(w, opts.binds, cmd .. args, opts)
- end
- end),
-
- cmd("c[lose]", "Close current tab.",
- function (w) w:close_tab() end),
-
- cmd("print", "Print current page.",
- function (w) w.view:eval_js("print()") end),
-
- cmd("stop", "Stop loading.",
- function (w) w.view:stop() end),
-
- cmd("reload", "Reload page",
- function (w) w:reload() end),
-
- cmd("restart", "Restart browser (reload config files).",
- function (w) w:restart() end),
-
- cmd("write", "Save current session.",
- function (w) w:save_session() end),
-
- cmd("noh[lsearch]", "Clear search highlighting.",
- function (w) w:clear_search() end),
-
- cmd("back", "Go back in the browser history `[count=1]` items.",
- function (w, a) w:back(tonumber(a) or 1) end),
-
- cmd("f[orward]", "Go forward in the browser history `[count=1]` items.",
- function (w, a) w:forward(tonumber(a) or 1) end),
-
- cmd("inc[rease]", "Increment last number in URL.",
- function (w, a) w:navigate(w:inc_uri(tonumber(a) or 1)) end),
-
- cmd("o[pen]", "Open one or more URLs.",
- function (w, a) w:navigate(w:search_open(a)) end),
-
- cmd("t[abopen]", "Open one or more URLs in a new tab.",
- function (w, a) w:new_tab(w:search_open(a)) end),
-
- cmd("w[inopen]", "Open one or more URLs in a new window.",
- function (w, a) window.new{w:search_open(a)} end),
-
- cmd({"javascript", "js"}, "Evaluate JavaScript snippet.",
- function (w, a) w.view:eval_js(a) end),
-
- -- Tab manipulation commands
- cmd("tab", "Execute command and open result in new tab.",
- function (w, a) w:new_tab() w:run_cmd(":" .. a) end),
-
- cmd("tabd[o]", "Execute command in each tab.",
- function (w, a) w:each_tab(function (v) w:run_cmd(":" .. a) end) end),
-
- cmd("tabdu[plicate]", "Duplicate current tab.",
- function (w) w:new_tab(w.view.history) end),
-
- cmd("tabfir[st]", "Switch to first tab.",
- function (w) w:goto_tab(1) end),
-
- cmd("tabl[ast]", "Switch to last tab.",
- function (w) w:goto_tab(-1) end),
-
- cmd("tabn[ext]", "Switch to the next tab.",
- function (w) w:next_tab() end),
-
- cmd("tabp[revious]", "Switch to the previous tab.",
- function (w) w:prev_tab() end),
-
- cmd("q[uit]", "Close the current window.",
- function (w, a, o) w:close_win(o.bang) end),
-
- cmd({"viewsource", "vs"}, "View the source code of the current document.",
- function (w, a, o) w:toggle_source(not o.bang and true or nil) end),
-
- cmd({"wqall", "wq"}, "Save the session and quit.",
- function (w, a, o) w:save_session() w:close_win(o.bang) end),
-
- cmd("lua", "Evaluate Lua snippet.", function (w, a)
- if a then
- local ret = assert(
- loadstring("return function(w) return "..a.." end"))()(w)
- if ret then print(ret) end
- else
- w:set_mode("lua")
- end
- end),
-
- cmd("dump", "Dump current tabs html to file.",
- function (w, a)
- local fname = string.gsub(w.win.title, '[^%w%.%-]', '_')..'.html' -- sanitize filename
- local file = a or luakit.save_file("Save file", w.win, xdg.download_dir or '.', fname)
- if file then
- local fd = assert(io.open(file, "w"), "failed to open: " .. file)
- local html = assert(w.view:eval_js("document.documentElement.outerHTML"), "Unable to get HTML")
- assert(fd:write(html), "unable to save html")
- io.close(fd)
- w:notify("Dumped HTML to: " .. file)
- end
- end),
-})
-
--- vim: et:sw=4:ts=8:sts=4:tw=80
diff --git a/.config/luakit/globals.lua b/.config/luakit/globals.lua
@@ -1,87 +0,0 @@
--- Global variables for luakit
-globals = {
- homepage = "http://luakit.org/",
- -- homepage = "http://github.com/mason-larobina/luakit",
- scroll_step = 40,
- zoom_step = 0.1,
- max_cmd_history = 100,
- max_srch_history = 100,
- -- http_proxy = "http://example.com:3128",
- default_window_size = "800x600",
-
- -- Disables loading of hostnames from /etc/hosts (for large host files)
- -- load_etc_hosts = false,
- -- Disables checking if a filepath exists in search_open function
- -- check_filepath = false,
-}
-
--- Make useragent
-local _, arch = luakit.spawn_sync("uname -sm")
--- Only use the luakit version if in date format (reduces identifiability)
-local lkv = string.match(luakit.version, "^(%d+.%d+.%d+)")
-globals.useragent = string.format("Mozilla/5.0 (%s) AppleWebKit/%s+ (KHTML, like Gecko) WebKitGTK+/%s luakit%s",
- string.sub(arch, 1, -2), luakit.webkit_user_agent_version,
- luakit.webkit_version, (lkv and ("/" .. lkv)) or "")
-
--- Search common locations for a ca file which is used for ssl connection validation.
-local ca_files = {
- -- $XDG_DATA_HOME/luakit/ca-certificates.crt
- luakit.data_dir .. "/ca-certificates.crt",
- "/etc/certs/ca-certificates.crt",
- "/etc/ssl/certs/ca-certificates.crt",
-}
--- Use the first ca-file found
-for _, ca_file in ipairs(ca_files) do
- if os.exists(ca_file) then
- soup.ssl_ca_file = ca_file
- break
- end
-end
-
--- Change to stop navigation sites with invalid or expired ssl certificates
-soup.ssl_strict = false
-
--- Set cookie acceptance policy
-cookie_policy = { always = 0, never = 1, no_third_party = 2 }
-soup.accept_policy = cookie_policy.always
---soup.accept_policy = cookie_policy.no_third_party
-
--- List of search engines. Each item must contain a single %s which is
--- replaced by URI encoded search terms. All other occurances of the percent
--- character (%) may need to be escaped by placing another % before or after
--- it to avoid collisions with lua's string.format characters.
--- See: http://www.lua.org/manual/5.1/manual.html#pdf-string.format
-search_engines = {
- duckduckgo = "https://duckduckgo.com/?q=%s",
- github = "https://github.com/search?q=%s",
- google = "https://google.com/search?q=%s",
- imdb = "http://www.imdb.com/find?s=all&q=%s",
- wikipedia = "https://en.wikipedia.org/wiki/Special:Search?search=%s",
-}
-
--- Set google as fallback search engine
---search_engines.default = search_engines.google
-search_engines.default = search_engines.duckduckgo
--- Use this instead to disable auto-searching
---search_engines.default = "%s"
-
--- Per-domain webview properties
--- See http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html
-domain_props = { --[[
- ["all"] = {
- enable_scripts = false,
- enable_plugins = false,
- enable_private_browsing = false,
- user_stylesheet_uri = "",
- },
- ["youtube.com"] = {
- enable_scripts = true,
- enable_plugins = true,
- },
- ["bbs.archlinux.org"] = {
- user_stylesheet_uri = "file://" .. luakit.data_dir .. "/styles/dark.css",
- enable_private_browsing = true,
- }, ]]
-}
-
--- vim: et:sw=4:ts=8:sts=4:tw=80
diff --git a/.config/luakit/modes.lua b/.config/luakit/modes.lua
@@ -1,163 +0,0 @@
--------------------------------
--- luakit mode configuration --
--------------------------------
-
--- Table of modes and their callback hooks
-local modes = {}
-local lousy = require "lousy"
-local join = lousy.util.table.join
-local order = 0
-
--- Add new mode table (optionally merges with original mode)
-function new_mode(name, desc, mode, replace)
- assert(string.match(name, "^[%w-_]+$"), "invalid mode name: " .. name)
- -- Detect optional description
- if type(desc) == "table" then
- desc, mode, replace = nil, desc, mode
- end
- local traceback = debug.traceback("Creation traceback:", 2)
- order = order + 1
- modes[name] = join({ order = order, traceback = traceback },
- (not replace and modes[name]) or {}, mode or {},
- { name = name, desc = desc })
-end
-
--- Get mode table
-function get_mode(name) return modes[name] end
-
-function get_modes() return lousy.util.table.clone(modes) end
-
--- Attach window & input bar signals for mode hooks
-window.init_funcs.modes_setup = function (w)
- -- Calls the `enter` and `leave` mode hooks.
- w:add_signal("mode-changed", function (_, name, ...)
- local leave = (w.mode or {}).leave
-
- -- Get new modes functions/hooks/data
- local mode = assert(modes[name], "invalid mode: " .. name)
-
- -- Call last modes leave hook.
- if leave then leave(w) end
-
- -- Create w.mode object
- w.mode = mode
-
- -- Update window binds
- w:update_binds(name)
-
- -- Call new modes enter hook.
- if mode.enter then mode.enter(w, ...) end
-
- w:emit_signal("mode-entered", mode)
- end)
-
- local input = w.ibar.input
-
- -- Calls the changed hook on input widget changed.
- input:add_signal("changed", function ()
- local changed = w.mode.changed
- if changed then changed(w, input.text) end
- end)
-
- input:add_signal("property::position", function ()
- local move_cursor = w.mode.move_cursor
- if move_cursor then move_cursor(w, input.position) end
- end)
-
- -- Calls the `activate` hook on input widget activate.
- input:add_signal("activate", function ()
- local mode = w.mode
- if mode and mode.activate then
- local text, hist = input.text, mode.history
- if mode.activate(w, text) == false then return end
- -- Check if last history item is identical
- if hist and hist.items and hist.items[hist.len or -1] ~= text then
- table.insert(hist.items, text)
- end
- end
- end)
-end
-
--- Add mode related window methods
-window.methods.set_mode = lousy.mode.set
-local mget = lousy.mode.get
-window.methods.is_mode = function (w, name) return name == mget(w) end
-
--- Setup normal mode
-new_mode("normal", [[When luakit first starts you will find yourself in this
- mode.]], {
- enter = function (w)
- w:set_prompt()
- w:set_input()
- end,
-})
-
-new_mode("all", [[Special meta-mode in which the bindings for this mode are
- present in all modes.]])
-
--- Setup insert mode
-new_mode("insert", [[When clicking on form fields luakit will enter the insert
- mode which allows you to enter text in form fields without accidentally
- triggering normal mode bindings.]], {
- enter = function (w)
- w:set_prompt("-- INSERT --")
- w:set_input()
- w.view:focus()
- end,
- -- Send key events to webview
- passthrough = true,
-})
-
-new_mode("passthrough", [[Luakit will pass every key event to the WebView
- until the user presses Escape.]], {
- enter = function (w)
- w:set_prompt("-- PASS THROUGH --")
- w:set_input()
- end,
- -- Send key events to webview
- passthrough = true,
- -- Don't exit mode when clicking outside of form fields
- reset_on_focus = false,
- -- Don't exit mode on navigation
- reset_on_navigation = false,
-})
-
--- Setup command mode
-new_mode("command", [[Enter commands.]], {
- enter = function (w)
- w:set_prompt()
- w:set_input(":")
- end,
- changed = function (w, text)
- -- Auto-exit command mode if user backspaces ":" in the input bar.
- if not string.match(text, "^:") then w:set_mode() end
- end,
- activate = function (w, text)
- w:set_mode()
- local cmd = string.sub(text, 2)
- if not string.find(cmd, "%S") then return end
-
- local success, match = xpcall(
- function () return w:match_cmd(cmd) end,
- function (err) w:error(debug.traceback(err, 3)) end)
-
- if success and not match then
- w:error(string.format("Not a browser command: %q", cmd))
- end
- end,
- history = {maxlen = 50},
-})
-
-new_mode("lua", [[Execute arbitrary Lua commands within the luakit
- environment.]], {
- enter = function (w)
- w:set_prompt(">")
- w:set_input("")
- end,
- activate = function (w, text)
- w:set_input("")
- local ret = assert(loadstring("return function(w) return "..text.." end"))()(w)
- if ret then print(ret) end
- end,
- history = {maxlen = 50},
-})
diff --git a/.config/luakit/rc.lua b/.config/luakit/rc.lua
@@ -1,181 +0,0 @@
------------------------------------------------------------------------
--- luakit configuration file, more information at http://luakit.org/ --
------------------------------------------------------------------------
-
-require "lfs"
-
-if unique then
- unique.new("org.luakit")
- -- Check for a running luakit instance
- if unique.is_running() then
- if uris[1] then
- for _, uri in ipairs(uris) do
- if lfs.attributes(uri) then uri = os.abspath(uri) end
- unique.send_message("tabopen " .. uri)
- end
- else
- unique.send_message("winopen")
- end
- luakit.quit()
- end
-end
-
--- Load library of useful functions for luakit
-require "lousy"
-
--- Small util functions to print output (info prints only when luakit.verbose is true)
-function warn(...) io.stderr:write(string.format(...) .. "\n") end
-function info(...) if luakit.verbose then io.stdout:write(string.format(...) .. "\n") end end
-
--- Load users global config
--- ("$XDG_CONFIG_HOME/luakit/globals.lua" or "/etc/xdg/luakit/globals.lua")
-require "globals"
-
--- Load users theme
--- ("$XDG_CONFIG_HOME/luakit/theme.lua" or "/etc/xdg/luakit/theme.lua")
-lousy.theme.init(lousy.util.find_config("theme.lua"))
-theme = assert(lousy.theme.get(), "failed to load theme")
-
--- Load users window class
--- ("$XDG_CONFIG_HOME/luakit/window.lua" or "/etc/xdg/luakit/window.lua")
-require "window"
-
--- Load users webview class
--- ("$XDG_CONFIG_HOME/luakit/webview.lua" or "/etc/xdg/luakit/webview.lua")
-require "webview"
-
--- Load users mode configuration
--- ("$XDG_CONFIG_HOME/luakit/modes.lua" or "/etc/xdg/luakit/modes.lua")
-require "modes"
-
--- Load users keybindings
--- ("$XDG_CONFIG_HOME/luakit/binds.lua" or "/etc/xdg/luakit/binds.lua")
-require "binds"
-
-----------------------------------
--- Optional user script loading --
-----------------------------------
-
-require "webinspector"
-
--- Add sqlite3 cookiejar
-require "cookies"
-
--- Cookie blocking by domain (extends cookies module)
--- Add domains to the whitelist at "$XDG_CONFIG_HOME/luakit/cookie.whitelist"
--- and blacklist at "$XDG_CONFIG_HOME/luakit/cookie.blacklist".
--- Each domain must be on it's own line and you may use "*" as a
--- wildcard character (I.e. "*google.com")
---require "cookie_blocking"
-
--- Block all cookies by default (unless whitelisted)
---cookies.default_allow = false
-
--- Add uzbl-like form filling
-require "formfiller"
-
--- Add proxy support & manager
-require "proxy"
-
--- Add quickmarks support & manager
-require "quickmarks"
-
--- Add session saving/loading support
-require "session"
-
--- Add command to list closed tabs & bind to open closed tabs
-require "undoclose"
-
--- Add command to list tab history items
-require "tabhistory"
-
--- Add greasemonkey-like javascript userscript support
-require "userscripts"
-
--- Add bookmarks support
-require "bookmarks"
-require "bookmarks_chrome"
-
--- Add download support
-require "downloads"
-require "downloads_chrome"
-
--- Example using xdg-open for opening downloads / showing download folders
---downloads.add_signal("open-file", function (file, mime)
--- luakit.spawn(string.format("xdg-open %q", file))
--- return true
---end)
-
--- Add vimperator-like link hinting & following
-require "follow"
-
--- Use a custom charater set for hint labels
---local s = follow.label_styles
---follow.label_maker = s.sort(s.reverse(s.charset("asdfqwerzxcv")))
-
--- Match only hint labels
---follow.pattern_maker = follow.pattern_styles.match_label
-
--- Add command history
-require "cmdhist"
-
--- Add search mode & binds
-require "search"
-
--- Add ordering of new tabs
-require "taborder"
-
--- Save web history
-require "history"
-require "history_chrome"
-
-require "introspector"
-
--- Add command completion
-require "completion"
-
--- NoScript plugin, toggle scripts and or plugins on a per-domain basis.
--- `,ts` to toggle scripts, `,tp` to toggle plugins, `,tr` to reset.
--- Remove all "enable_scripts" & "enable_plugins" lines from your
--- domain_props table (in config/globals.lua) as this module will conflict.
---require "noscript"
-
-require "follow_selected"
-require "go_input"
-require "go_next_prev"
-require "go_up"
-
------------------------------
--- End user script loading --
------------------------------
-
--- Restore last saved session
-local w = (session and session.restore())
-if w then
- for i, uri in ipairs(uris) do
- w:new_tab(uri, i == 1)
- end
-else
- -- Or open new window
- window.new(uris)
-end
-
--------------------------------------------
--- Open URIs from other luakit instances --
--------------------------------------------
-
-if unique then
- unique.add_signal("message", function (msg, screen)
- local cmd, arg = string.match(msg, "^(%S+)%s*(.*)")
- local w = lousy.util.table.values(window.bywidget)[1]
- if cmd == "tabopen" then
- w:new_tab(arg)
- elseif cmd == "winopen" then
- w = window.new((arg ~= "") and { arg } or {})
- end
- w.win.screen = screen
- w.win.urgency_hint = true
- end)
-end
-
--- vim: et:sw=4:ts=8:sts=4:tw=80
diff --git a/.config/luakit/theme.lua b/.config/luakit/theme.lua
@@ -1,69 +0,0 @@
---------------------------
--- Default luakit theme --
---------------------------
-
-local theme = {}
-
--- Default settings
-theme.font = "monospace normal 9"
-theme.fg = "#fff"
-theme.bg = "#000"
-
--- Genaral colours
-theme.success_fg = "#0f0"
-theme.loaded_fg = "#33AADD"
-theme.error_fg = "#FFF"
-theme.error_bg = "#F00"
-
--- Warning colours
-theme.warning_fg = "#F00"
-theme.warning_bg = "#FFF"
-
--- Notification colours
-theme.notif_fg = "#444"
-theme.notif_bg = "#FFF"
-
--- Menu colours
-theme.menu_fg = "#000"
-theme.menu_bg = "#fff"
-theme.menu_selected_fg = "#000"
-theme.menu_selected_bg = "#FF0"
-theme.menu_title_bg = "#fff"
-theme.menu_primary_title_fg = "#f00"
-theme.menu_secondary_title_fg = "#666"
-
--- Proxy manager
-theme.proxy_active_menu_fg = '#000'
-theme.proxy_active_menu_bg = '#FFF'
-theme.proxy_inactive_menu_fg = '#888'
-theme.proxy_inactive_menu_bg = '#FFF'
-
--- Statusbar specific
-theme.sbar_fg = "#fff"
-theme.sbar_bg = "#000"
-
--- Downloadbar specific
-theme.dbar_fg = "#fff"
-theme.dbar_bg = "#000"
-theme.dbar_error_fg = "#F00"
-
--- Input bar specific
-theme.ibar_fg = "#000"
-theme.ibar_bg = "#fff"
-
--- Tab label
-theme.tab_fg = "#888"
-theme.tab_bg = "#222"
-theme.tab_ntheme = "#ddd"
-theme.selected_fg = "#fff"
-theme.selected_bg = "#000"
-theme.selected_ntheme = "#ddd"
-theme.loading_fg = "#33AADD"
-theme.loading_bg = "#000"
-
--- Trusted/untrusted ssl colours
-theme.trust_fg = "#0F0"
-theme.notrust_fg = "#F00"
-
-return theme
--- vim: et:sw=4:ts=8:sts=4:tw=80
diff --git a/.config/luakit/webview.lua b/.config/luakit/webview.lua
@@ -1,350 +0,0 @@
---------------------------
--- WebKit WebView class --
---------------------------
-
--- Webview class table
-webview = {}
-
--- Table of functions which are called on new webview widgets.
-webview.init_funcs = {
- -- Set useragent
- set_useragent = function (view, w)
- view.user_agent = globals.useragent
- end,
-
- -- Check if checking ssl certificates
- checking_ssl = function (view, w)
- local ca_file = soup.ssl_ca_file
- if ca_file and os.exists(ca_file) then
- w.checking_ssl = true
- end
- end,
-
- -- Update window and tab titles
- title_update = function (view, w)
- view:add_signal("property::title", function (v)
- w:update_tablist()
- if w.view == v then
- w:update_win_title()
- end
- end)
- end,
-
- -- Update uri label in statusbar
- uri_update = function (view, w)
- view:add_signal("property::uri", function (v)
- w:update_tablist()
- if w.view == v then
- w:update_uri()
- end
- end)
- end,
-
- -- Update history indicator
- hist_update = function (view, w)
- view:add_signal("load-status", function (v, status)
- if w.view == v then
- w:update_hist()
- end
- end)
- end,
-
- -- Update tab titles
- tablist_update = function (view, w)
- view:add_signal("load-status", function (v, status)
- if status == "provisional" or status == "finished" or status == "failed" then
- w:update_tablist()
- end
- end)
- end,
-
- -- Update scroll widget
- scroll_update = function (view, w)
- view:add_signal("expose", function (v)
- if w.view == v then
- w:update_scroll()
- end
- end)
- end,
-
- -- Update progress widget
- progress_update = function (view, w)
- for _, sig in ipairs({"load-status", "property::progress"}) do
- view:add_signal(sig, function (v)
- if w.view == v then
- w:update_progress()
- w:update_ssl()
- end
- end)
- end
- end,
-
- -- Display hovered link in statusbar
- link_hover_display = function (view, w)
- view:add_signal("link-hover", function (v, link)
- if w.view == v and link then
- w:update_uri(link)
- end
- end)
- view:add_signal("link-unhover", function (v)
- if w.view == v then
- w:update_uri()
- end
- end)
- end,
-
- -- Clicking a form field automatically enters insert mode.
- form_insert_mode = function (view, w)
- view:add_signal("button-press", function (v, mods, button, context)
- -- Clear start search marker
- (w.search_state or {}).marker = nil
-
- if button == 1 and context.editable then
- view:emit_signal("form-active")
- end
- end)
- -- Emit root-active event in button release to prevent "missing"
- -- buttons or links when the input bar hides.
- view:add_signal("button-release", function (v, mods, button, context)
- if button == 1 and not context.editable then
- view:emit_signal("root-active")
- end
- end)
- view:add_signal("form-active", function ()
- if not w.mode.passthrough then
- w:set_mode("insert")
- end
- end)
- view:add_signal("root-active", function ()
- if w.mode.reset_on_focus ~= false then
- w:set_mode()
- end
- end)
- end,
-
- -- Catch keys in non-passthrough modes
- mode_key_filter = function (view, w)
- view:add_signal("key-press", function ()
- if not w.mode.passthrough then
- return true
- end
- end)
- end,
-
- -- Try to match a button event to a users button binding else let the
- -- press hit the webview.
- button_bind_match = function (view, w)
- view:add_signal("button-release", function (v, mods, button, context)
- (w.search_state or {}).marker = nil
- if w:hit(mods, button, { context = context }) then
- return true
- end
- end)
- end,
-
- -- Reset the mode on navigation
- mode_reset_on_nav = function (view, w)
- view:add_signal("load-status", function (v, status)
- if status == "provisional" and w.view == v then
- if w.mode.reset_on_navigation ~= false then
- w:set_mode()
- end
- end
- end)
- end,
-
- -- Domain properties
- domain_properties = function (view, w)
- view:add_signal("load-status", function (v, status)
- if status ~= "committed" or v.uri == "about:blank" then return end
- -- Get domain
- local domain = lousy.uri.parse(v.uri).host
- -- Strip leading www.
- domain = string.match(domain or "", "^www%.(.+)") or domain or "all"
- -- Build list of domain props tables to join & load.
- -- I.e. for luakit.org load .luakit.org, luakit.org, .org
- local props = {domain_props.all or {}, domain_props[domain] or {}}
- repeat
- table.insert(props, 2, domain_props["."..domain] or {})
- domain = string.match(domain, "%.(.+)")
- until not domain
- -- Join all property tables
- for k, v in pairs(lousy.util.table.join(unpack(props))) do
- info("Domain prop: %s = %s (%s)", k, tostring(v), domain)
- view[k] = v
- end
- end)
- end,
-
- -- Action to take on mime type decision request.
- mime_decision = function (view, w)
- -- Return true to accept or false to reject from this signal.
- view:add_signal("mime-type-decision", function (v, uri, mime)
- info("Requested link: %s (%s)", uri, mime)
- -- i.e. block binary files like *.exe
- --if mime == "application/octet-stream" then
- -- return false
- --end
- end)
- end,
-
- -- Action to take on window open request.
- --window_decision = function (view, w)
- -- view:add_signal("new-window-decision", function (v, uri, reason)
- -- if reason == "link-clicked" then
- -- window.new({uri})
- -- else
- -- w:new_tab(uri)
- -- end
- -- return true
- -- end)
- --end,
-
- create_webview = function (view, w)
- -- Return a newly created webview in a new tab
- view:add_signal("create-web-view", function (v)
- return w:new_tab()
- end)
- end,
-
- -- Creates context menu popup from table (and nested tables).
- -- Use `true` for menu separators.
- --populate_popup = function (view, w)
- -- view:add_signal("populate-popup", function (v)
- -- return {
- -- true,
- -- { "_Toggle Source", function () w:toggle_source() end },
- -- { "_Zoom", {
- -- { "Zoom _In", function () w:zoom_in() end },
- -- { "Zoom _Out", function () w:zoom_out() end },
- -- true,
- -- { "Zoom _Reset", function () w:zoom_set() end }, }, },
- -- }
- -- end)
- --end,
-
- -- Action to take on resource request.
- resource_request_decision = function (view, w)
- view:add_signal("resource-request-starting", function(v, uri)
- info("Requesting: %s", uri)
- -- Return false to cancel the request.
- end)
- end,
-}
-
--- These methods are present when you index a window instance and no window
--- method is found in `window.methods`. The window then checks if there is an
--- active webview and calls the following methods with the given view instance
--- as the first argument. All methods must take `view` & `w` as the first two
--- arguments.
-webview.methods = {
- -- Reload with or without ignoring cache
- reload = function (view, w, bypass_cache)
- if bypass_cache then
- view:reload_bypass_cache()
- else
- view:reload()
- end
- end,
-
- -- Toggle source view
- toggle_source = function (view, w, show)
- if show == nil then
- view.view_source = not view.view_source
- else
- view.view_source = show
- end
- view:reload()
- end,
-
- -- Zoom functions
- zoom_in = function (view, w, step, full_zoom)
- view.full_content_zoom = not not full_zoom
- step = step or globals.zoom_step or 0.1
- view.zoom_level = view.zoom_level + step
- end,
-
- zoom_out = function (view, w, step, full_zoom)
- view.full_content_zoom = not not full_zoom
- step = step or globals.zoom_step or 0.1
- view.zoom_level = math.max(0.01, view.zoom_level) - step
- end,
-
- zoom_set = function (view, w, level, full_zoom)
- view.full_content_zoom = not not full_zoom
- view.zoom_level = level or 1.0
- end,
-
- -- History traversing functions
- back = function (view, w, n)
- view:go_back(n or 1)
- end,
-
- forward = function (view, w, n)
- view:go_forward(n or 1)
- end,
-}
-
-function webview.methods.scroll(view, w, new)
- local s = view.scroll
- for _, axis in ipairs{ "x", "y" } do
- -- Relative px movement
- if rawget(new, axis.."rel") then
- s[axis] = s[axis] + new[axis.."rel"]
-
- -- Relative page movement
- elseif rawget(new, axis .. "pagerel") then
- s[axis] = s[axis] + math.ceil(s[axis.."page_size"] * new[axis.."pagerel"])
-
- -- Absolute px movement
- elseif rawget(new, axis) then
- local n = new[axis]
- if n == -1 then
- s[axis] = s[axis.."max"]
- else
- s[axis] = n
- end
-
- -- Absolute page movement
- elseif rawget(new, axis.."page") then
- s[axis] = math.ceil(s[axis.."page_size"] * new[axis.."page"])
-
- -- Absolute percent movement
- elseif rawget(new, axis .. "pct") then
- s[axis] = math.ceil(s[axis.."max"] * (new[axis.."pct"]/100))
- end
- end
-end
-
-function webview.new(w)
- local view = widget{type = "webview"}
-
- view.show_scrollbars = false
- view.enforce_96_dpi = false
-
- -- Call webview init functions
- for k, func in pairs(webview.init_funcs) do
- func(view, w)
- end
- return view
-end
-
--- Insert webview method lookup on window structure
-table.insert(window.indexes, 1, function (w, k)
- if k == "view" then
- local view = w.tabs[w.tabs:current()]
- if view and type(view) == "widget" and view.type == "webview" then
- w.view = view
- return view
- end
- end
- -- Lookup webview method
- local func = webview.methods[k]
- if not func then return end
- local view = w.view
- if view then
- return function (_, ...) return func(view, w, ...) end
- end
-end)
-
--- vim: et:sw=4:ts=8:sts=4:tw=80
diff --git a/.config/luakit/window.lua b/.config/luakit/window.lua
@@ -1,859 +0,0 @@
-------------------
--- Window class --
-------------------
-
-require "lfs"
-
--- Window class table
-window = {}
-
--- List of active windows by window widget
-window.bywidget = setmetatable({}, { __mode = "k" })
-
--- Widget construction aliases
-local function entry() return widget{type="entry"} end
-local function eventbox() return widget{type="eventbox"} end
-local function hbox() return widget{type="hbox"} end
-local function label() return widget{type="label"} end
-local function notebook() return widget{type="notebook"} end
-local function vbox() return widget{type="vbox"} end
-
--- Build and pack window widgets
-function window.build()
- -- Create a table for widgets and state variables for a window
- local w = {
- win = widget{type="window"},
- ebox = eventbox(),
- layout = vbox(),
- paned = widget{type="vpaned"},
- tabs = notebook(),
- -- Tablist widget
- tablist = lousy.widget.tablist(),
- -- Status bar widgets
- sbar = {
- layout = hbox(),
- ebox = eventbox(),
- -- Left aligned widgets
- l = {
- layout = hbox(),
- ebox = eventbox(),
- uri = label(),
- hist = label(),
- loaded = label(),
- },
- -- Fills space between the left and right aligned widgets
- sep = eventbox(),
- -- Right aligned widgets
- r = {
- layout = hbox(),
- ebox = eventbox(),
- buf = label(),
- ssl = label(),
- tabi = label(),
- scroll = label(),
- },
- },
-
- -- Vertical menu window widget (completion results, bookmarks, qmarks, ..)
- menu = lousy.widget.menu(),
-
- -- Input bar widgets
- ibar = {
- layout = hbox(),
- ebox = eventbox(),
- prompt = label(),
- input = entry(),
- },
- closed_tabs = {}
- }
-
- -- Assemble window
- w.ebox.child = w.paned
- w.paned:pack1(w.layout)
- w.win.child = w.ebox
-
- -- Pack tablist
- w.layout:pack(w.tablist.widget)
-
- -- Pack notebook
- w.layout:pack(w.tabs, { expand = true, fill = true })
-
- -- Pack left-aligned statusbar elements
- local l = w.sbar.l
- l.layout:pack(l.uri)
- l.layout:pack(l.hist)
- l.layout:pack(l.loaded)
- l.ebox.child = l.layout
-
- -- Pack right-aligned statusbar elements
- local r = w.sbar.r
- r.layout:pack(r.buf)
- r.layout:pack(r.ssl)
- r.layout:pack(r.tabi)
- r.layout:pack(r.scroll)
- r.ebox.child = r.layout
-
- -- Pack status bar elements
- local s = w.sbar
- s.layout:pack(l.ebox)
- s.layout:pack(s.sep, { expand = true, fill = true })
- s.layout:pack(r.ebox)
- s.ebox.child = s.layout
- w.layout:pack(s.ebox)
-
- -- Pack menu widget
- w.layout:pack(w.menu.widget)
- w.menu:hide()
-
- -- Pack input bar
- local i = w.ibar
- i.layout:pack(i.prompt)
- i.layout:pack(i.input, { expand = true, fill = true })
- i.ebox.child = i.layout
- w.layout:pack(i.ebox)
-
- -- Other settings
- i.input.show_frame = false
- w.tabs.show_tabs = false
- l.loaded:hide()
- l.hist:hide()
- l.uri.selectable = true
- r.ssl:hide()
-
- -- Allows indexing of window struct by window widget
- window.bywidget[w.win] = w
-
- return w
-end
-
--- Table of functions to call on window creation. Normally used to add signal
--- handlers to the new windows widgets.
-window.init_funcs = {
- -- Attach notebook widget signals
- notebook_signals = function (w)
- w.tabs:add_signal("page-added", function (nbook, view, idx)
- luakit.idle_add(function ()
- w:update_tab_count()
- w:update_tablist()
- return false
- end)
- end)
- w.tabs:add_signal("switch-page", function (nbook, view, idx)
- w.view = nil
- w:set_mode()
- -- Update widgets after tab switch
- luakit.idle_add(function ()
- w:update_tab_count()
- w:update_win_title()
- w:update_uri()
- w:update_progress()
- w:update_tablist()
- w:update_buf()
- w:update_ssl()
- w:update_hist()
- return false
- end)
- end)
- w.tabs:add_signal("page-reordered", function (nbook, view, idx)
- w:update_tab_count()
- w:update_tablist()
- end)
- end,
-
- last_win_check = function (w)
- w.win:add_signal("destroy", function ()
- -- call the quit function if this was the last window left
- if #luakit.windows == 0 then luakit.quit() end
- if w.close_win then w:close_win() end
- end)
- end,
-
- key_press_match = function (w)
- w.win:add_signal("key-press", function (_, mods, key)
- -- Match & exec a bind
- local success, match = xpcall(
- function () return w:hit(mods, key) end,
- function (err) w:error(debug.traceback(err, 3)) end)
-
- if success and match then
- return true
- end
- end)
- end,
-
- tablist_tab_click = function (w)
- w.tablist:add_signal("tab-clicked", function (_, index, mods, button)
- if button == 1 then
- w.tabs:switch(index)
- return true
- elseif button == 2 then
- w:close_tab(w.tabs[index])
- return true
- end
- end)
- end,
-
- apply_window_theme = function (w)
- local s, i = w.sbar, w.ibar
-
- -- Set foregrounds
- for wi, v in pairs({
- [s.l.uri] = theme.uri_sbar_fg,
- [s.l.hist] = theme.hist_sbar_fg,
- [s.l.loaded] = theme.sbar_loaded_fg,
- [s.r.buf] = theme.buf_sbar_fg,
- [s.r.tabi] = theme.tabi_sbar_fg,
- [s.r.scroll] = theme.scroll_sbar_fg,
- [i.prompt] = theme.prompt_ibar_fg,
- [i.input] = theme.input_ibar_fg,
- }) do wi.fg = v end
-
- -- Set backgrounds
- for wi, v in pairs({
- [s.l.ebox] = theme.sbar_bg,
- [s.r.ebox] = theme.sbar_bg,
- [s.sep] = theme.sbar_bg,
- [s.ebox] = theme.sbar_bg,
- [i.ebox] = theme.ibar_bg,
- [i.input] = theme.input_ibar_bg,
- }) do wi.bg = v end
-
- -- Set fonts
- for wi, v in pairs({
- [s.l.uri] = theme.uri_sbar_font,
- [s.l.hist] = theme.hist_sbar_font,
- [s.l.loaded] = theme.sbar_loaded_font,
- [s.r.buf] = theme.buf_sbar_font,
- [s.r.ssl] = theme.ssl_sbar_font,
- [s.r.tabi] = theme.tabi_sbar_font,
- [s.r.scroll] = theme.scroll_sbar_font,
- [i.prompt] = theme.prompt_ibar_font,
- [i.input] = theme.input_ibar_font,
- }) do wi.font = v end
- end,
-
- set_default_size = function (w)
- local size = globals.default_window_size or "800x600"
- if string.match(size, "^%d+x%d+$") then
- w.win:set_default_size(string.match(size, "^(%d+)x(%d+)$"))
- else
- warn("E: window.lua: invalid window size: %q", size)
- end
- end,
-
- set_window_icon = function (w)
- local path = (luakit.dev_paths and os.exists("./extras/luakit.png")) or
- os.exists("/usr/share/pixmaps/luakit.png")
- if path then w.win.icon = path end
- end,
-
- clear_urgency_hint = function (w)
- w.win:add_signal("focus", function ()
- w.win.urgency_hint = false
- end)
- end,
-}
-
--- Helper functions which operate on the window widgets or structure.
-window.methods = {
- -- Wrapper around the bind plugin's hit method
- hit = function (w, mods, key, opts)
- local opts = lousy.util.table.join(opts or {}, {
- enable_buffer = w:is_mode("normal"),
- buffer = w.buffer,
- })
-
- local caught, newbuf = lousy.bind.hit(w, w.binds, mods, key, opts)
- if w.win then -- Check binding didn't cause window to exit
- w.buffer = newbuf
- w:update_buf()
- end
- return caught
- end,
-
- -- Wrapper around the bind plugin's match_cmd method
- match_cmd = function (w, buffer)
- return lousy.bind.match_cmd(w, get_mode("command").binds, buffer)
- end,
-
- -- enter command or characters into command line
- enter_cmd = function (w, cmd, opts)
- w:set_mode("command")
- w:set_input(cmd, opts)
- end,
-
- -- run command as if typed into the command line
- run_cmd = function (w, cmd, opts)
- w:enter_cmd(cmd, opts)
- w:activate()
- end,
-
- -- insert a string into the command line at the current cursor position
- insert_cmd = function (w, str)
- if not str then return end
- local i = w.ibar.input
- local text = i.text
- local pos = i.position
- local left, right = string.sub(text, 1, pos), string.sub(text, pos+1)
- i.text = left .. str .. right
- i.position = pos + #str
- end,
-
- -- Emulates pressing the Return key in input field
- activate = function (w)
- w.ibar.input:emit_signal("activate")
- end,
-
- del_word = function (w)
- local i = w.ibar.input
- local text = i.text
- local pos = i.position
- if text and #text > 1 and pos > 1 then
- local left, right = string.sub(text, 2, pos), string.sub(text, pos+1)
- if not string.find(left, "%s") then
- left = ""
- elseif string.find(left, "%w+%s*$") then
- left = string.sub(left, 0, string.find(left, "%w+%s*$") - 1)
- elseif string.find(left, "%W+%s*$") then
- left = string.sub(left, 0, string.find(left, "%W+%s*$") - 1)
- end
- i.text = string.sub(text, 1, 1) .. left .. right
- i.position = #left + 1
- end
- end,
-
- del_line = function (w)
- local i = w.ibar.input
- if not string.match(i.text, "^[:/?]$") then
- i.text = string.sub(i.text, 1, 1)
- i.position = -1
- end
- end,
-
- del_backward_char = function (w)
- local i = w.ibar.input
- local text = i.text
- local pos = i.position
-
- if pos > 1 then
- i.text = string.sub(text, 0, pos - 1) .. string.sub(text, pos + 1)
- i.position = pos - 1
- end
- end,
-
- del_forward_char = function (w)
- local i = w.ibar.input
- local text = i.text
- local pos = i.position
-
- i.text = string.sub(text, 0, pos) .. string.sub(text, pos + 2)
- i.position = pos
- end,
-
- beg_line = function (w)
- local i = w.ibar.input
- i.position = 1
- end,
-
- end_line = function (w)
- local i = w.ibar.input
- i.position = -1
- end,
-
- forward_char = function (w)
- local i = w.ibar.input
- i.position = i.position + 1
- end,
-
- backward_char = function (w)
- local i = w.ibar.input
- local pos = i.position
- if pos > 1 then
- i.position = pos - 1
- end
- end,
-
- forward_word = function (w)
- local i = w.ibar.input
- local text = i.text
- local pos = i.position
- if text and #text > 1 then
- local right = string.sub(text, pos+1)
- if string.find(right, "%w+") then
- local _, move = string.find(right, "%w+")
- i.position = pos + move
- end
- end
- end,
-
- backward_word = function (w)
- local i = w.ibar.input
- local text = i.text
- local pos = i.position
- if text and #text > 1 and pos > 1 then
- local left = string.reverse(string.sub(text, 2, pos))
- if string.find(left, "%w+") then
- local _, move = string.find(left, "%w+")
- i.position = pos - move
- end
- end
- end,
-
- -- Shows a notification until the next keypress of the user.
- notify = function (w, msg, set_mode)
- if set_mode ~= false then w:set_mode() end
- w:set_prompt(msg, { fg = theme.notif_fg, bg = theme.notif_bg })
- end,
-
- warning = function (w, msg, set_mode)
- if set_mode ~= false then w:set_mode() end
- w:set_prompt(msg, { fg = theme.warning_fg, bg = theme.warning_bg })
- end,
-
- error = function (w, msg, set_mode)
- if set_mode ~= false then w:set_mode() end
- w:set_prompt("Error: "..msg, { fg = theme.error_fg, bg = theme.error_bg })
- end,
-
- -- Set and display the prompt
- set_prompt = function (w, text, opts)
- local prompt, ebox, opts = w.ibar.prompt, w.ibar.ebox, opts or {}
- prompt:hide()
- -- Set theme
- fg, bg = opts.fg or theme.ibar_fg, opts.bg or theme.ibar_bg
- if prompt.fg ~= fg then prompt.fg = fg end
- if ebox.bg ~= bg then ebox.bg = bg end
- -- Set text or remain hidden
- if text then
- prompt.text = lousy.util.escape(text)
- prompt:show()
- end
- end,
-
- -- Set display and focus the input bar
- set_input = function (w, text, opts)
- local input, opts = w.ibar.input, opts or {}
- input:hide()
- -- Set theme
- fg, bg = opts.fg or theme.ibar_fg, opts.bg or theme.ibar_bg
- if input.fg ~= fg then input.fg = fg end
- if input.bg ~= bg then input.bg = bg end
- -- Set text or remain hidden
- if text then
- input.text = ""
- input:show()
- input:focus()
- input.text = text
- input.position = opts.pos or -1
- end
- end,
-
- -- GUI content update functions
- update_tab_count = function (w)
- w.sbar.r.tabi.text = string.format("[%d/%d]", w.tabs:current(), w.tabs:count())
- end,
-
- update_win_title = function (w)
- local uri, title = w.view.uri, w.view.title
- title = (title or "luakit") .. ((uri and " - " .. uri) or "")
- local max = globals.max_title_len or 80
- if #title > max then title = string.sub(title, 1, max) .. "..." end
- w.win.title = title
- end,
-
- update_uri = function (w, link)
- w.sbar.l.uri.text = lousy.util.escape((link and "Link: " .. link)
- or (w.view and w.view.uri) or "about:blank")
- end,
-
- update_progress = function (w)
- local p = w.view.progress
- local loaded = w.sbar.l.loaded
- if not w.view:loading() or p == 1 then
- loaded:hide()
- else
- loaded:show()
- loaded.text = string.format("(%d%%)", p * 100)
- end
- end,
-
- update_scroll = function (w)
- local scroll, label = w.view.scroll, w.sbar.r.scroll
- local y, max, text = scroll.y, scroll.ymax
- if max == 0 then text = "All"
- elseif y == 0 then text = "Top"
- elseif y == max then text = "Bot"
- else text = string.format("%2d%%", (y / max) * 100)
- end
- if label.text ~= text then label.text = text end
- end,
-
- update_ssl = function (w)
- local trusted = w.view:ssl_trusted()
- local ssl = w.sbar.r.ssl
- if trusted ~= nil and not w.checking_ssl then
- ssl.fg = theme.notrust_fg
- ssl.text = "(nocheck)"
- ssl:show()
- elseif trusted == true then
- ssl.fg = theme.trust_fg
- ssl.text = "(trust)"
- ssl:show()
- elseif trusted == false then
- ssl.fg = theme.notrust_fg
- ssl.text = "(notrust)"
- ssl:show()
- else
- ssl:hide()
- end
- end,
-
- update_hist = function (w)
- local hist = w.sbar.l.hist
- local back, forward = w.view:can_go_back(), w.view:can_go_forward()
- local s = (back and "+" or "") .. (forward and "-" or "")
- if s ~= "" then
- hist.text = '['..s..']'
- hist:show()
- else
- hist:hide()
- end
- end,
-
- update_buf = function (w)
- local buf = w.sbar.r.buf
- if w.buffer then
- buf.text = lousy.util.escape(string.format(" %-3s", w.buffer))
- buf:show()
- else
- buf:hide()
- end
- end,
-
- update_binds = function (w, mode)
- -- Generate the list of active key & buffer binds for this mode
- w.binds = lousy.util.table.join((get_mode(mode) or {}).binds or {}, get_mode('all').binds or {})
- -- Clear & hide buffer
- w.buffer = nil
- w:update_buf()
- end,
-
- update_tablist = function (w)
- local current = w.tabs:current()
- local fg, bg, nfg, snfg = theme.tab_fg, theme.tab_bg, theme.tab_ntheme, theme.selected_ntheme
- local lfg, bfg, gfg = theme.tab_loading_fg, theme.tab_notrust_fg, theme.tab_trust_fg
- local escape = lousy.util.escape
- local tabs, tfmt = {}, ' <span foreground="%s">%s</span> %s'
-
- for i, view in ipairs(w.tabs.children) do
- -- Get tab number theme
- local ntheme = nfg
- if view:loading() then -- Show loading on all tabs
- ntheme = lfg
- elseif current == i then -- Show ssl trusted/untrusted on current tab
- local trusted = view:ssl_trusted()
- ntheme = snfg
- if trusted == false or (trusted ~= nil and not w.checking_ssl) then
- ntheme = bfg
- elseif trusted then
- ntheme = gfg
- end
- end
- local title = view.title or view.uri or "(Untitled)"
- tabs[i] = {
- title = string.format(tfmt, ntheme or fg, i, escape(title)),
- fg = (current == i and theme.tab_selected_fg) or fg,
- bg = (current == i and theme.tab_selected_bg) or bg,
- }
- end
-
- if #tabs < 2 then tabs, current = {}, 0 end
- w.tablist:update(tabs, current)
- end,
-
- new_tab = function (w, arg, switch, order)
- local view
- -- Use blank tab first
- if w.has_blank and w.tabs:count() == 1 and w.tabs[1].uri == "about:blank" then
- view = w.tabs[1]
- end
- w.has_blank = nil
- -- Make new webview widget
- if not view then
- view = webview.new(w)
- -- Get tab order function
- if not order and taborder then
- order = (switch == false and taborder.default_bg)
- or taborder.default
- end
- pos = w.tabs:insert((order and order(w, view)) or -1, view)
- if switch ~= false then w.tabs:switch(pos) end
- end
- -- Load uri or webview history table
- if type(arg) == "string" then view.uri = arg
- elseif type(arg) == "table" then view.history = arg end
- -- Update statusbar widgets
- w:update_tab_count()
- w:update_tablist()
- return view
- end,
-
- -- close the current tab
- close_tab = function (w, view, blank_last)
- view = view or w.view
- -- Treat a blank last tab as an empty notebook (if blank_last=true)
- if blank_last ~= false and w.tabs:count() == 1 then
- if not view:loading() and view.uri == "about:blank" then return end
- w:new_tab("about:blank", false)
- w.has_blank = true
- end
- -- Save tab history
- local tab = {hist = view.history,}
- -- And relative location
- local index = w.tabs:indexof(view)
- if index ~= 1 then tab.after = w.tabs[index-1] end
- table.insert(w.closed_tabs, tab)
- view:destroy()
- w:update_tab_count()
- w:update_tablist()
- end,
-
- close_win = function (w, force)
- -- Ask plugins if it's OK to close last window
- if not force and (#luakit.windows == 1) then
- local emsg = luakit.emit_signal("can-close", w)
- if emsg then
- assert(type(emsg) == "string", "invalid exit error message")
- w:error(string.format("Can't close luakit: %s (force close "
- .. "with :q! or :wq!)", emsg))
- return false
- end
- end
-
- w:emit_signal("close")
-
- -- Close all tabs
- while w.tabs:count() ~= 0 do
- w:close_tab(nil, false)
- end
-
- -- Destroy tablist
- w.tablist:destroy()
-
- -- Remove from window index
- window.bywidget[w.win] = nil
-
- -- Clear window struct
- w = setmetatable(w, {})
-
- -- Recursively remove widgets from window
- local children = lousy.util.recursive_remove(w.win)
- -- Destroy all widgets
- for i, c in ipairs(lousy.util.table.join(children, {w.win})) do
- if c.hide then c:hide() end
- c:destroy()
- end
-
- -- Remove all window table vars
- for k, _ in pairs(w) do w[k] = nil end
-
- -- Quit if closed last window
- if #luakit.windows == 0 then luakit.quit() end
- end,
-
- -- Navigate current view or open new tab
- navigate = function (w, uri, view)
- view = view or w.view
- if view then
- local js = string.match(uri, "^javascript:(.+)$")
- if js then
- return view:eval_js(luakit.uri_decode(js))
- end
- view.uri = uri
- else
- return w:new_tab(uri)
- end
- end,
-
- -- Save, restart luakit and reload session.
- restart = function (w)
- -- Generate luakit launch command.
- local args = {({string.gsub(luakit.execpath, " ", "\\ ")})[1]}
- if luakit.verbose then table.insert(args, "-v") end
- -- Relaunch without libunique bindings?
- if luakit.nounique then table.insert(args, "-U") end
-
- -- Get new config path
- local conf
- if luakit.confpath ~= "/etc/xdg/luakit/rc.lua" and os.exists(luakit.confpath) then
- conf = luakit.confpath
- table.insert(args, string.format("-c %q", conf))
- end
-
- -- Check config has valid syntax
- local cmd = table.concat(args, " ")
- if luakit.spawn_sync(cmd .. " -k") ~= 0 then
- return w:error("Cannot restart, syntax error in configuration file"..((conf and ": "..conf) or "."))
- end
-
- -- Save session.
- local wins = {}
- for _, w in pairs(window.bywidget) do table.insert(wins, w) end
- session.save(wins)
-
- -- Replace current process with new luakit instance.
- luakit.exec(cmd)
- end,
-
- -- Intelligent open command which can detect a uri or search argument.
- search_open = function (w, arg)
- local lstring = lousy.util.string
- local match, find = string.match, string.find
-
- -- Detect blank uris
- if not arg or match(arg, "^%s*$") then return "about:blank" end
-
- -- Strip whitespace and split by whitespace into args table
- local args = lstring.split(lstring.strip(arg))
-
- -- Guess if first argument is an address, search engine, file
- if #args == 1 then
- local uri = args[1]
- if uri == "about:blank" then return uri end
-
- -- Check if search engine name
- if search_engines[uri] then
- return string.format(search_engines[uri], "")
- end
-
- -- Navigate if . or / in uri (I.e. domains, IP's, scheme://)
- if find(uri, "%.") or find(uri, "/") then return uri end
-
- -- Navigate if this is a javascript-uri
- if find(uri, "^javascript:") then return uri end
-
- -- Valid hostnames to check
- local hosts = { "localhost" }
- if globals.load_etc_hosts ~= false then
- hosts = lousy.util.get_etc_hosts()
- end
-
- -- Check hostnames
- for _, h in pairs(hosts) do
- if h == uri or match(uri, "^"..h..":%d+$") then return uri end
- end
-
- -- Check for file in filesystem
- if globals.check_filepath ~= false then
- if lfs.attributes(uri) then return "file://" .. uri end
- end
- end
-
- -- Find search engine (or use search_engines.default)
- local engine = "default"
- if args[1] and search_engines[args[1]] then
- engine = args[1]
- table.remove(args, 1)
- end
-
- -- URI encode search terms
- local terms = luakit.uri_encode(table.concat(args, " "))
- return string.format(search_engines[engine], terms)
- end,
-
- -- Increase (or decrease) the last found number in the current uri
- inc_uri = function (w, arg)
- local uri = string.gsub(w.view.uri, "(%d+)([^0-9]*)$", function (num, rest)
- return string.format("%0"..#num.."d", tonumber(num) + (arg or 1)) .. rest
- end)
- return uri
- end,
-
- -- Tab traversing functions
- next_tab = function (w, n)
- w.tabs:switch((((n or 1) + w.tabs:current() -1) % w.tabs:count()) + 1)
- end,
-
- prev_tab = function (w, n)
- w.tabs:switch(((w.tabs:current() - (n or 1) -1) % w.tabs:count()) + 1)
- end,
-
- goto_tab = function (w, n)
- if n and (n == -1 or n > 0) then
- return w.tabs:switch((n <= w.tabs:count() and n) or -1)
- end
- end,
-
- -- For each tab, switches to that tab and calls the given function passing
- -- it the view contained in the tab.
- each_tab = function (w, fn)
- for index = 1, w.tabs:count() do
- w:goto_tab(index)
- fn(w.tabs[index])
- end
- end,
-
- -- If argument is form-active or root-active, emits signal. Ignores all
- -- other signals.
- emit_form_root_active_signal = function (w, s)
- if s == "form-active" then
- w.view:emit_signal("form-active")
- elseif s == "root-active" then
- w.view:emit_signal("root-active")
- end
- end,
-}
-
--- Ordered list of class index functions. Other classes (E.g. webview) are able
--- to add their own index functions to this list.
-window.indexes = {
- -- Find function in window.methods first
- function (w, k) return window.methods[k] end
-}
-
--- Create new window
-function window.new(uris)
- local w = window.build()
-
- -- Set window metatable
- setmetatable(w, {
- __index = function (_, k)
- -- Check widget structure first
- local v = rawget(w, k)
- if v then return v end
- -- Call each window index function
- for _, index in ipairs(window.indexes) do
- v = index(w, k)
- if v then return v end
- end
- end,
- })
-
- -- Setup window widget for signals
- lousy.signal.setup(w)
-
- -- Call window init functions
- for _, func in pairs(window.init_funcs) do
- func(w)
- end
-
- -- Populate notebook with tabs
- for _, uri in ipairs(uris or {}) do
- w:new_tab(w:search_open(uri), false)
- end
-
- -- Make sure something is loaded
- if w.tabs:count() == 0 then
- w:new_tab(w:search_open(globals.homepage), false)
- end
-
- -- Set initial mode
- w:set_mode()
-
- -- Show window
- w.win:show()
-
- return w
-end
-
--- vim: et:sw=4:ts=8:sts=4:tw=80
diff --git a/.config/openbox/autostart b/.config/openbox/autostart
@@ -1,94 +0,0 @@
-## Openbox autostart.sh
-## ====================
-## When you login to your CrunchBang Openbox session, this autostart script
-## will be executed to set-up your environment and launch any applications
-## you want to run at startup.
-##
-## Note*: some programs, such as 'nm-applet' are run via XDG autostart.
-## Run '/usr/lib/openbox/openbox-xdg-autostart --list' to list any
-## XDG autostarted programs.
-##
-## More information about this can be found at:
-## http://openbox.org/wiki/Help:Autostart
-##
-## If you do something cool with your autostart script and you think others
-## could benefit from your hack, please consider sharing it at:
-## http://crunchbang.org/forums/
-##
-## Have fun & happy CrunchBangin'! :)
-
-## GNOME PolicyKit and Keyring
-eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg) &
-
-## Set root window colour
-hsetroot -solid "#2E3436" &
-
-## Group start:
-## 1. nitrogen - restores wallpaper
-## 2. compositor - start
-## 3. sleep - give compositor time to start
-## 4. tint2 panel
-(\
-nitrogen --restore && \
-cb-compositor --start && \
-sleep 2s && \
-tint2 \
-) &
-
-## Volume control for systray
-(sleep 2s && pnmixer) &
-
-## Volume keys daemon
-xfce4-volumed &
-
-## Enable power management
-xfce4-power-manager &
-
-## Start Thunar Daemon
-thunar --daemon &
-
-## Detect and configure touchpad. See 'man synclient' for more info.
-if egrep -iq 'touchpad' /proc/bus/input/devices; then
- synclient VertEdgeScroll=1 &
- synclient TapButton1=1 &
-fi
-
-## Start xscreensaver
-xscreensaver -no-splash &
-
-## Start Clipboard manager
-(sleep 3s && clipit) &
-
-## Set keyboard settings - 250 ms delay and 25 cps (characters per second) repeat rate.
-## Adjust the values according to your preferances.
-xset r rate 250 25 &
-
-## Turn on/off system beep
-xset b off &
-
-## The following command runs hacks and fixes for #! LiveCD sessions.
-## Safe to delete after installation.
-cb-cowpowers &
-
-## cb-welcome - post-installation script, will not run in a live session and
-## only runs once. Safe to remove.
-(sleep 10s && cb-welcome --firstrun) &
-
-## cb-fortune - have Waldorf say a little adage
-#(sleep 120s && cb-fortune) &
-
-## Run the conky
-conky -q &
-
-# Autostart the Dropbox deamon
-(sleep 60s && ~/.dropbox-dist/dropboxd) &
-
-# Enable tap-to-click on touchpad
-synclient TapButton1=1
-synclient TapButton2=2
-synclient TapButton3=3
-
-# Custom key bindings from ~/.xbindkeysrc
-xbindkeys
-
-
diff --git a/.config/openbox/menu.xml b/.config/openbox/menu.xml
@@ -1,524 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<openbox_menu xmlns="http://openbox.org/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://openbox.org/
- file:///usr/share/openbox/menu.xsd">
-
- <menu id="root-menu" label="Openbox 3">
- <item label="Run Program">
- <action name="Execute">
- <command>
- gmrun
- </command>
- </action>
- </item>
- <separator/>
- <item label="Terminal">
- <action name="Execute">
- <command>
- terminator
- </command>
- </action>
- </item>
- <item label="Web Browser">
- <action name="Execute">
- <command>
- x-www-browser
- </command>
- </action>
- </item>
- <item label="File Manager">
- <action name="Execute">
- <command>
- thunar
- </command>
- </action>
- </item>
- <item label="Text Editor">
- <action name="Execute">
- <command>
- geany
- </command>
- </action>
- </item>
- <item label="Media Player">
- <action name="Execute">
- <command>
- vlc
- </command>
- </action>
- </item>
- <separator/>
- <menu id="accessories" label="Accessories">
- <item label="Catfish File Search">
- <action name="Execute">
- <command>
- catfish
- </command>
- </action>
- </item>
- <item label="Archive Manager">
- <action name="Execute">
- <command>
- file-roller
- </command>
- </action>
- </item>
- <item label="Geany Text Editor">
- <action name="Execute">
- <command>
- geany
- </command>
- </action>
- </item>
- <item label="Task Manager (htop)">
- <action name="Execute">
- <command>terminator --command="htop"</command>
- </action>
- </item>
- <item label="Terminator Terminal">
- <action name="Execute">
- <command>
- terminator
- </command>
- </action>
- </item>
- <item label="Thunar File Manager">
- <action name="Execute">
- <command>
- thunar
- </command>
- </action>
- </item>
- <item label="Thunar File Manager (root)">
- <action name="Execute">
- <command>
- gksudo thunar
- </command>
- </action>
- </item>
- </menu>
- <menu id="graphics" label="Graphics">
- <item label="GIMP">
- <action name="Execute">
- <command>
- gimp
- </command>
- </action>
- </item>
- <item label="Viewnior Image Viewer">
- <action name="Execute">
- <command>
- viewnior
- </command>
- </action>
- </item>
- <menu id="graphicsScreenshots" label="Take Screenshot">
- <item label="Screenshooter">
- <action name="Execute">
- <command>
- xfce4-screenshooter
- </command>
- </action>
- </item>
- <separator label="scrot"/>
- <item label="Now">
- <action name="Execute">
- <command>
- scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
- </command>
- </action>
- </item>
- <item label="In 5 Seconds...">
- <action name="Execute">
- <command>
- scrot -d 5 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
- </command>
- </action>
- </item>
- <item label="In 10 Seconds...">
- <action name="Execute">
- <command>
- scrot -d 10 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
- </command>
- </action>
- </item>
- <item label="Selected Area... (click & drag mouse)">
- <action name="Execute">
- <command>
- scrot -s '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
- </command>
- </action>
- </item>
- </menu>
- </menu>
- <menu id="multimedia" label="Multimedia">
- <item label="VLC Media Player">
- <action name="Execute">
- <command>
- vlc
- </command>
- </action>
- </item>
- <item label="Volume Control">
- <action name="Execute">
- <command>
- pavucontrol
- </command>
- </action>
- </item>
- <item label="Xfburn">
- <action name="Execute">
- <command>
- xfburn
- </command>
- </action>
- </item>
- </menu>
- <menu id="network" label="Network">
- <menu execute="cb-x-www-browser-pipemenu" id="wwwbrowsers" label="WWW Browsers"/>
- <item label="gFTP Client">
- <action name="Execute">
- <command>
- gftp
- </command>
- </action>
- </item>
- <item label="Transmission BitTorrent Client">
- <action name="Execute">
- <command>
- transmission-gtk
- </command>
- </action>
- </item>
- <item label="XChat IRC Client">
- <action name="Execute">
- <command>
- xchat
- </command>
- </action>
- </item>
- <item label="Remote Filesystems">
- <action name="Execute">
- <command>
- gigolo
- </command>
- </action>
- </item>
- <menu execute="cb-remote-desktop-pipemenu" id="remotedesktop" label="Remote Desktop"/>
- <menu execute="cb-sshconfig-pipemenu" id="sshconfig" label="SSH"/>
- <separator label="Services"/>
- <menu execute="cb-dropbox-pipemenu" id="dropbox" label="Dropbox"/>
- </menu>
- <menu id="office" label="Office">
- <menu id="libreoffice" label="LibreOffice" execute="cb-libreoffice-pipemenu" />
- <item label="Google Docs">
- <action name="Execute">
- <command>
- x-www-browser https://drive.google.com/
- </command>
- </action>
- </item>
- <item label="AbiWord Word Processor">
- <action name="Execute">
- <command>
- abiword
- </command>
- </action>
- </item>
- <item label="Gnumeric Spreadsheet">
- <action name="Execute">
- <command>
- gnumeric
- </command>
- </action>
- </item>
- <item label="Calculator">
- <action name="Execute">
- <command>
- galculator
- </command>
- </action>
- </item>
- <item label="Evince PDF Viewer">
- <action name="Execute">
- <command>
- evince
- </command>
- </action>
- </item>
- </menu>
- <separator/>
- <menu execute="cb-places-pipemenu" id="pipe-placesmenu" label="Places"/>
- <menu execute="cb-recent-files-pipemenu" id="pipe-recentfilesmenu" label="Recent Files"/>
- <separator/>
- <menu id="settings" label="Settings">
- <menu execute="cb-compositor" id="CompositingPipeMenu" label="Compositor"/>
- <menu id="conkyconfig" label="Conky">
- <item label="Edit .conkyrc">
- <action name="Execute">
- <command>
- geany ~/.conkyrc
- </command>
- </action>
- </item>
- <item label="Restart Conky">
- <action name="Execute">
- <command>
- conkywonky
- </command>
- </action>
- </item>
- <separator label="Help?"/>
- <item label="man page">
- <action name="Execute">
- <command>
- terminator --command="man conky"
- </command>
- </action>
- </item>
- <item label="Wiki Page">
- <action name="Execute">
- <command>
- x-www-browser http://crunchbanglinux.org/wiki/conky
- </command>
- </action>
- </item>
- </menu>
- <menu id="dmenuconfig" label="dmenu">
- <item label="Edit start-up script">
- <action name="Execute">
- <command>
- geany ~/.config/dmenu/dmenu-bind.sh
- </command>
- </action>
- </item>
- <separator label="Help?"/>
- <item label="man page">
- <action name="Execute">
- <command>
- terminator --command="man dmenu"
- </command>
- </action>
- </item>
- </menu>
- <menu id="gmrunconfig" label="gmrun">
- <item label="Edit config file">
- <action name="Execute">
- <command>
- geany ~/.gmrunrc
- </command>
- </action>
- </item>
- <separator label="Help?"/>
- <item label="man page">
- <action name="Execute">
- <command>
- terminator --command="man gmrun"
- </command>
- </action>
- </item>
- </menu>
- <menu id="obConfig" label="Openbox">
- <item label="Edit menu.xml">
- <action name="Execute">
- <command>
- geany ~/.config/openbox/menu.xml
- </command>
- </action>
- </item>
- <item label="Edit rc.xml">
- <action name="Execute">
- <command>
- geany ~/.config/openbox/rc.xml
- </command>
- </action>
- </item>
- <item label="Edit autostart">
- <action name="Execute">
- <command>
- geany ~/.config/openbox/autostart
- </command>
- </action>
- </item>
- <separator/>
- <item label="GUI Menu Editor">
- <action name="Execute">
- <command>
- obmenu
- </command>
- </action>
- </item>
- <item label="GUI Applications Settings Editor">
- <action name="Execute">
- <command>
- obapps
- </command>
- </action>
- </item>
- <item label="GUI Config Tool">
- <action name="Execute">
- <command>
- obconf
- </command>
- </action>
- </item>
- <separator/>
- <item label="Reconfigure">
- <action name="Reconfigure"/>
- </item>
- <item label="Restart">
- <action name="Restart"/>
- </item>
- </menu>
- <menu id="terminatorconfig" label="Terminator">
- <item label="Edit config file">
- <action name="Execute">
- <command>
- geany ~/.config/terminator/config
- </command>
- </action>
- </item>
- <separator label="Help?"/>
- <item label="man page">
- <action name="Execute">
- <command>
- terminator --command="man terminator_config"
- </command>
- </action>
- </item>
- </menu>
- <menu id="tint2config" label="tint2">
- <item label="Edit config file">
- <action name="Execute">
- <command>
- geany ~/.config/tint2/tint2rc
- </command>
- </action>
- </item>
- <item label="Restart tint2">
- <action name="Execute">
- <command>
- tint2restart
- </command>
- </action>
- </item>
- <separator label="Help?"/>
- <item label="man page">
- <action name="Execute">
- <command>
- terminator --command="man tint2"
- </command>
- </action>
- </item>
- <item label="Online Help">
- <action name="Execute">
- <command>
- x-www-browser http://code.google.com/p/tint2/wiki/Welcome
- </command>
- </action>
- </item>
- </menu>
- <menu id="DisplaySettings" label="Display Settings">
- <item label="ARandR Screen Layout Editor">
- <action name="Execute">
- <command>
- arandr
- </command>
- </action>
- </item>
- <separator label="Help?"/>
- <item label="man xrandr">
- <action name="Execute">
- <command>
- terminator --command="man xrandr"
- </command>
- </action>
- </item>
- </menu>
- <menu id="Notifications" label="Notifications">
- <item label="settings">
- <action name="Execute">
- <command>xfce4-notifyd-config</command>
- </action>
- </item>
- </menu>
- <item label="Edit Default Applications">
- <action name="Execute">
- <command>
- terminator --command="sudo update-alternatives --all"
- </command>
- </action>
- </item>
- <item label="User Interface Settings">
- <action name="Execute">
- <command>
- lxappearance
- </command>
- </action>
- </item>
- <item label="Power Management">
- <action name="Execute">
- <command>
- xfce4-power-manager-settings
- </command>
- </action>
- </item>
- <item label="Screensaver">
- <action name="Execute">
- <command>
- xscreensaver-demo
- </command>
- </action>
- </item>
- <item label="Choose Wallpaper">
- <action name="Execute">
- <command>
- nitrogen ~/images/wallpapers/
- </command>
- </action>
- </item>
- </menu>
- <menu id="system" label="System">
- <menu execute="cb-printing-pipemenu" id="PrintingPipeMenu" label="Printers"/>
- <item label="GParted">
- <action name="Execute">
- <command>
- gksudo gparted
- </command>
- </action>
- </item>
- <item label="Synaptic Package Manager">
- <action name="Execute">
- <command>
- gksudo synaptic
- </command>
- </action>
- </item>
- <item label="User Login Settings">
- <action name="Execute">
- <command>
- gksudo slimconf
- </command>
- </action>
- </item>
- </menu>
- <!--<menu id="help" label="Help" execute="cb-help-pipemenu" />-->
- <separator/>
- <item label="Lock Screen">
- <action name="Execute">
- <command>
- cb-lock
- </command>
- </action>
- </item>
- <item label="Exit">
- <action name="Execute">
- <command>
- cb-exit
- </command>
- </action>
- </item>
- </menu>
-</openbox_menu>
diff --git a/.config/openbox/rc.xml b/.config/openbox/rc.xml
@@ -1,1002 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
- <resistance>
- <strength>10</strength>
- <screen_edge_strength>20</screen_edge_strength>
- </resistance>
- <focus>
- <focusNew>yes</focusNew>
- <!-- always try to focus new windows when they appear. other rules do
- apply -->
- <followMouse>no</followMouse>
- <!-- move focus to a window when you move the mouse into it -->
- <focusLast>yes</focusLast>
- <!-- focus the last used window when changing desktops, instead of the one
- under the mouse pointer. when followMouse is enabled -->
- <underMouse>no</underMouse>
- <!-- move focus under the mouse, even when the mouse is not moving -->
- <focusDelay>200</focusDelay>
- <!-- when followMouse is enabled, the mouse must be inside the window for
- this many milliseconds (1000 = 1 sec) before moving focus to it -->
- <raiseOnFocus>no</raiseOnFocus>
- <!-- when followMouse is enabled, and a window is given focus by moving the
- mouse into it, also raise the window -->
- </focus>
- <placement>
- <policy>Smart</policy>
- <!-- 'Smart' or 'UnderMouse' -->
- <center>yes</center>
- <!-- whether to place windows in the center of the free area found or
- the top left corner -->
- <monitor>Any</monitor>
- <!-- with Smart placement on a multi-monitor system, try to place new windows
- on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
- the active window is, 'Primary' - only on the primary monitor -->
- <primaryMonitor>1</primaryMonitor>
- <!-- The monitor where Openbox should place popup dialogs such as the
- focus cycling popup, or the desktop switch popup. It can be an index
- from 1, specifying a particular monitor. Or it can be one of the
- following: 'Mouse' - where the mouse is, or
- 'Active' - where the active window is -->
- </placement>
- <theme>
- <name>waldorf</name>
- <titleLayout>DSLIMC</titleLayout>
- <!--
- avaible characters are NDSLIMC, each can occur at most once.
- N: window icon
- L: window label (AKA title).
- I: iconify
- M: maximize
- C: close
- S: shade (roll up/down)
- D: omnipresent (on all desktops).
- -->
- <keepBorder>yes</keepBorder>
- <animateIconify>no</animateIconify>
- <font place="ActiveWindow">
- <name>Liberation Sans</name>
- <size>10</size>
- <!-- font size in points -->
- <weight>Bold</weight>
- <!-- 'bold' or 'normal' -->
- <slant>Normal</slant>
- <!-- 'italic' or 'normal' -->
- </font>
- <font place="InactiveWindow">
- <name>Liberation Sans</name>
- <size>10</size>
- <!-- font size in points -->
- <weight>Normal</weight>
- <!-- 'bold' or 'normal' -->
- <slant>Normal</slant>
- <!-- 'italic' or 'normal' -->
- </font>
- <font place="MenuHeader">
- <name>Liberation Sans</name>
- <size>10</size>
- <!-- font size in points -->
- <weight>Normal</weight>
- <!-- 'bold' or 'normal' -->
- <slant>Normal</slant>
- <!-- 'italic' or 'normal' -->
- </font>
- <font place="MenuItem">
- <name>Liberation Sans</name>
- <size>10</size>
- <!-- font size in points -->
- <weight>Normal</weight>
- <!-- 'bold' or 'normal' -->
- <slant>Normal</slant>
- <!-- 'italic' or 'normal' -->
- </font>
- <font place="ActiveOnScreenDisplay">
- <name>Liberation Sans</name>
- <size>10</size>
- <!-- font size in points -->
- <weight>Normal</weight>
- <!-- 'bold' or 'normal' -->
- <slant>normal</slant>
- <!-- 'italic' or 'normal' -->
- </font>
- <font place="InactiveOnScreenDisplay">
- <name>Liberation Sans</name>
- <size>10</size>
- <!-- font size in points -->
- <weight>Normal</weight>
- <!-- 'bold' or 'normal' -->
- <slant>normal</slant>
- <!-- 'italic' or 'normal' -->
- </font>
- </theme>
- <desktops>
- <!-- this stuff is only used at startup, pagers allow you to change them
- during a session
-
- these are default values to use when other ones are not already set
- by other applications, or saved in your session
-
- use obconf if you want to change these without having to log out
- and back in -->
- <number>4</number>
- <firstdesk>1</firstdesk>
- <names>
- <!-- set names up here if you want to, like this:
- <name>desktop 1</name>
- <name>desktop 2</name>
- -->
- <name>1</name>
- <name>2</name>
- <name>3</name>
- <name>4</name>
- </names>
- <popupTime>875</popupTime>
- <!-- The number of milliseconds to show the popup for when switching
- desktops. Set this to 0 to disable the popup. -->
- </desktops>
- <resize>
- <drawContents>yes</drawContents>
- <popupShow>Nonpixel</popupShow>
- <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
- <popupPosition>Center</popupPosition>
- <!-- 'Center' or 'Top' -->
- <popupFixedPosition>
- <!-- these are used if popupPosition is set to 'Fixed' -->
- <x>10</x>
- <!-- positive number for distance from left edge, negative number for
- distance from right edge, or 'Center' -->
- <y>10</y>
- <!-- positive number for distance from top edge, negative number for
- distance from bottom edge, or 'Center' -->
- </popupFixedPosition>
- </resize>
- <!-- You can reserve a portion of your screen where windows will not cover when
- they are maximized, or when they are initially placed.
- Many programs reserve space automatically, but you can use this in other
- cases. -->
- <margins>
- <top>1</top>
- <bottom>0</bottom>
- <left>0</left>
- <right>0</right>
- </margins>
- <dock>
- <position>TopLeft</position>
- <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
- <floatingX>0</floatingX>
- <floatingY>0</floatingY>
- <noStrut>no</noStrut>
- <stacking>Above</stacking>
- <!-- 'Above', 'Normal', or 'Below' -->
- <direction>Vertical</direction>
- <!-- 'Vertical' or 'Horizontal' -->
- <autoHide>no</autoHide>
- <hideDelay>300</hideDelay>
- <!-- in milliseconds (1000 = 1 second) -->
- <showDelay>300</showDelay>
- <!-- in milliseconds (1000 = 1 second) -->
- <moveButton>Middle</moveButton>
- <!-- 'Left', 'Middle', 'Right' -->
- </dock>
- <keyboard>
- <chainQuitKey>C-g</chainQuitKey>
- <!-- Keybindings for desktop switching -->
- <keybind key="C-A-Left">
- <action name="GoToDesktop">
- <to>left</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="C-A-Right">
- <action name="GoToDesktop">
- <to>right</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="C-A-Up">
- <action name="GoToDesktop">
- <to>up</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="C-A-Down">
- <action name="GoToDesktop">
- <to>down</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="S-A-Left">
- <action name="SendToDesktop">
- <to>left</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="S-A-Right">
- <action name="SendToDesktop">
- <to>right</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="S-A-Up">
- <action name="SendToDesktop">
- <to>up</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="S-A-Down">
- <action name="SendToDesktop">
- <to>down</to>
- <wrap>no</wrap>
- </action>
- </keybind>
- <keybind key="W-1">
- <action name="GoToDesktop">
- <to>1</to>
- </action>
- </keybind>
- <keybind key="W-2">
- <action name="GoToDesktop">
- <to>2</to>
- </action>
- </keybind>
- <keybind key="W-3">
- <action name="GoToDesktop">
- <to>3</to>
- </action>
- </keybind>
- <keybind key="W-4">
- <action name="GoToDesktop">
- <to>4</to>
- </action>
- </keybind>
- <keybind key="W-d">
- <action name="ToggleShowDesktop"/>
- </keybind>
- <!-- Keybindings for windows -->
- <keybind key="A-F4">
- <action name="Close"/>
- </keybind>
- <keybind key="A-Escape">
- <action name="Lower"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- </keybind>
- <keybind key="A-space">
- <action name="ShowMenu">
- <menu>client-menu</menu>
- </action>
- </keybind>
- <keybind key="Print">
- <action name="Execute">
- <command>xfce4-screenshooter</command>
- </action>
- </keybind>
- <keybind key="A-Print">
- <action name="Execute">
- <command>scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'</command>
- </action>
- </keybind>
- <!-- Keybindings for window switching -->
- <keybind key="A-Tab">
- <action name="NextWindow">
- <finalactions>
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </finalactions>
- </action>
- </keybind>
- <keybind key="A-S-Tab">
- <action name="PreviousWindow">
- <finalactions>
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </finalactions>
- </action>
- </keybind>
- <keybind key="C-A-Tab">
- <action name="NextWindow">
- <panels>yes</panels>
- <desktop>yes</desktop>
- <finalactions>
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </finalactions>
- </action>
- </keybind>
- <!-- Keybindings for window switching with the arrow keys -->
- <keybind key="W-S-Right">
- <action name="DirectionalCycleWindows">
- <direction>right</direction>
- </action>
- </keybind>
- <keybind key="W-S-Left">
- <action name="DirectionalCycleWindows">
- <direction>left</direction>
- </action>
- </keybind>
- <keybind key="W-S-Up">
- <action name="DirectionalCycleWindows">
- <direction>up</direction>
- </action>
- </keybind>
- <keybind key="W-S-Down">
- <action name="DirectionalCycleWindows">
- <direction>down</direction>
- </action>
- </keybind>
- <!-- Keybindings for running applications -->
- <keybind key="A-F2">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Run Program</name>
- </startupnotify>
- <command>gmrun</command>
- </action>
- </keybind>
- <keybind key="W-r">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>dmenu-bind</name>
- </startupnotify>
- <command>~/.config/dmenu/dmenu-bind.sh</command>
- </action>
- </keybind>
- <keybind key="W-f">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>thunar</name>
- </startupnotify>
- <command>thunar</command>
- </action>
- </keybind>
- <keybind key="W-t">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Terminal</name>
- </startupnotify>
- <!-- <command>terminator</command> -->
- <command>urxvt</command>
- </action>
- </keybind>
- <keybind key="W-w">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Web Browser</name>
- </startupnotify>
- <command>x-www-browser</command>
- </action>
- </keybind>
- <keybind key="W-q">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Tor browser</name>
- </startupnotify>
- <command>tor-browser.sh</command>
- </action>
- </keybind>
- <keybind key="W-i">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Mail</name>
- </startupnotify>
- <command>icedove</command>
- </action>
- </keybind>
- <keybind key="W-l">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Lock screen</name>
- </startupnotify>
- <command>cb-lock</command>
- </action>
- </keybind>
- <keybind key="W-e">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Editor</name>
- </startupnotify>
- <command>geany</command>
- </action>
- </keybind>
- <keybind key="W-m">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Mediaplayer</name>
- </startupnotify>
- <command>vlc</command>
- </action>
- </keybind>
- <keybind key="W-h">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>htop</name>
- </startupnotify>
- <command>terminator --command="htop"</command>
- </action>
- </keybind>
- <keybind key="W-v">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Volume</name>
- </startupnotify>
- <command>pavucontrol</command>
- </action>
- </keybind>
- <keybind key="W-x">
- <action name="Execute">
- <startupnotify>
- <enabled>true</enabled>
- <name>Logout</name>
- </startupnotify>
- <command>cb-exit</command>
- </action>
- </keybind>
- <keybind key="W-Tab">
- <action name="ShowMenu">
- <menu>client-list-combined-menu</menu>
- </action>
- </keybind>
- <keybind key="W-space">
- <action name="ShowMenu">
- <menu>root-menu</menu>
- </action>
- </keybind>
- <keybind key="A-C-q">
- <action name="ShowMenu">
- <menu>root-menu</menu>
- </action>
- </keybind>
- <!-- A bit of tiling -->
- <keybind key="W-Right">
- <action name="GrowToEdgeEast"/>
- </keybind>
- <keybind key="W-Left">
- <action name="GrowToEdgeWest"/>
- </keybind>
- <keybind key="W-Down">
- <action name="GrowToEdgeSouth"/>
- </keybind>
- <keybind key="W-Up">
- <action name="GrowToEdgeNorth"/>
- </keybind>
- <keybind key="W-A-Left">
- <action name="Execute">
- <command>cb-aerosnap --left</command>
- </action>
- </keybind>
- <keybind key="W-A-Right">
- <action name="Execute">
- <command>cb-aerosnap --right</command>
- </action>
- </keybind>
- </keyboard>
- <mouse>
- <dragThreshold>8</dragThreshold>
- <!-- number of pixels the mouse must move before a drag begins -->
- <doubleClickTime>200</doubleClickTime>
- <!-- in milliseconds (1000 = 1 second) -->
- <screenEdgeWarpTime>400</screenEdgeWarpTime>
- <!-- Time before changing desktops when the pointer touches the edge of the
- screen while moving a window, in milliseconds (1000 = 1 second).
- Set this to 0 to disable warping -->
- <screenEdgeWarpMouse>false</screenEdgeWarpMouse>
- <!-- Set this to TRUE to move the mouse pointer across the desktop when
- switching due to hitting the edge of the screen -->
- <context name="Frame">
- <mousebind button="A-Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="A-Left" action="Click">
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="A-Left" action="Drag">
- <action name="Move"/>
- </mousebind>
- <mousebind button="A-Right" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="A-Right" action="Drag">
- <action name="Resize"/>
- </mousebind>
- <mousebind button="A-Middle" action="Press">
- <action name="Lower"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- </mousebind>
- <mousebind button="A-Up" action="Click">
- <action name="GoToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="A-Down" action="Click">
- <action name="GoToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- <mousebind button="C-A-Up" action="Click">
- <action name="GoToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="C-A-Down" action="Click">
- <action name="GoToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- <mousebind button="A-S-Up" action="Click">
- <action name="SendToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="A-S-Down" action="Click">
- <action name="SendToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- </context>
- <context name="Titlebar">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Move"/>
- </mousebind>
- <mousebind button="Left" action="DoubleClick">
- <action name="ToggleMaximize"/>
- </mousebind>
- <mousebind button="Middle" action="Press">
- <action name="Lower"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- </mousebind>
- <mousebind button="Up" action="Click">
- <action name="if">
- <shaded>no</shaded>
- <then>
- <action name="Shade"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- <action name="Lower"/>
- </then>
- </action>
- </mousebind>
- <mousebind button="Down" action="Click">
- <action name="if">
- <shaded>yes</shaded>
- <then>
- <action name="Unshade"/>
- <action name="Raise"/>
- </then>
- </action>
- </mousebind>
- <mousebind button="Right" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="ShowMenu">
- <menu>client-menu</menu>
- </action>
- </mousebind>
- </context>
- <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Middle" action="Press">
- <action name="Lower"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- </mousebind>
- <mousebind button="Right" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="ShowMenu">
- <menu>client-menu</menu>
- </action>
- </mousebind>
- </context>
- <context name="Top">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize">
- <edge>top</edge>
- </action>
- </mousebind>
- </context>
- <context name="Left">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize">
- <edge>left</edge>
- </action>
- </mousebind>
- </context>
- <context name="Right">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize">
- <edge>right</edge>
- </action>
- </mousebind>
- </context>
- <context name="Bottom">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize">
- <edge>bottom</edge>
- </action>
- </mousebind>
- <mousebind button="Middle" action="Press">
- <action name="Lower"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- </mousebind>
- <mousebind button="Right" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="ShowMenu">
- <menu>client-menu</menu>
- </action>
- </mousebind>
- </context>
- <context name="TRCorner BRCorner TLCorner BLCorner">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize"/>
- </mousebind>
- </context>
- <context name="Client">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Middle" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Right" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- </context>
- <context name="Icon">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- <action name="ShowMenu">
- <menu>client-menu</menu>
- </action>
- </mousebind>
- <mousebind button="Right" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="ShowMenu">
- <menu>client-menu</menu>
- </action>
- </mousebind>
- </context>
- <context name="AllDesktops">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Left" action="Click">
- <action name="ToggleOmnipresent"/>
- </mousebind>
- </context>
- <context name="Shade">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Click">
- <action name="ToggleShade"/>
- </mousebind>
- </context>
- <context name="Iconify">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Click">
- <action name="Iconify"/>
- </mousebind>
- </context>
- <context name="Maximize">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Middle" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Right" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Left" action="Click">
- <action name="ToggleMaximize"/>
- </mousebind>
- <mousebind button="Middle" action="Click">
- <action name="ToggleMaximize">
- <direction>vertical</direction>
- </action>
- </mousebind>
- <mousebind button="Right" action="Click">
- <action name="ToggleMaximize">
- <direction>horizontal</direction>
- </action>
- </mousebind>
- </context>
- <context name="Close">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Left" action="Click">
- <action name="Close"/>
- </mousebind>
- </context>
- <context name="Desktop">
- <mousebind button="Up" action="Click">
- <action name="GoToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="Down" action="Click">
- <action name="GoToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- <mousebind button="A-Up" action="Click">
- <action name="GoToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="A-Down" action="Click">
- <action name="GoToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- <mousebind button="C-A-Up" action="Click">
- <action name="GoToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="C-A-Down" action="Click">
- <action name="GoToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- </context>
- <context name="Root">
- <!-- Menus -->
- <mousebind button="Middle" action="Press">
- <action name="ShowMenu">
- <menu>client-list-combined-menu</menu>
- </action>
- </mousebind>
- <mousebind button="Right" action="Press">
- <action name="ShowMenu">
- <menu>root-menu</menu>
- </action>
- </mousebind>
- </context>
- <context name="MoveResize">
- <mousebind button="Up" action="Click">
- <action name="GoToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="Down" action="Click">
- <action name="GoToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- <mousebind button="A-Up" action="Click">
- <action name="GoToDesktop">
- <to>previous</to>
- </action>
- </mousebind>
- <mousebind button="A-Down" action="Click">
- <action name="GoToDesktop">
- <to>next</to>
- </action>
- </mousebind>
- </context>
- </mouse>
- <menu>
- <!-- You can specify more than one menu file in here and they are all loaded,
- just don't make menu ids clash or, well, it'll be kind of pointless -->
- <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
- <!-- system menu files on Debian systems
- <file>/var/lib/openbox/debian-menu.xml</file>
- <file>debian-menu.xml</file> -->
- <file>menu.xml</file>
- <hideDelay>200</hideDelay>
- <!-- if a press-release lasts longer than this setting (in milliseconds), the
- menu is hidden again -->
- <middle>no</middle>
- <!-- center submenus vertically about the parent entry -->
- <submenuShowDelay>100</submenuShowDelay>
- <!-- time to delay before showing a submenu after hovering over the parent
- entry.
- if this is a negative value, then the delay is infinite and the
- submenu will not be shown until it is clicked on -->
- <submenuHideDelay>400</submenuHideDelay>
- <!-- time to delay before hiding a submenu when selecting another
- entry in parent menu
- if this is a negative value, then the delay is infinite and the
- submenu will not be hidden until a different submenu is opened -->
- <applicationIcons>yes</applicationIcons>
- <!-- controls if icons appear in the client-list-(combined-)menu -->
- <manageDesktops>yes</manageDesktops>
- <!-- show the manage desktops section in the client-list-(combined-)menu -->
- </menu>
- <applications>
- <!--
- # this is an example with comments through out. use these to make your
- # own rules, but without the comments of course.
- # you may use one or more of the name/class/role/title/type rules to specify
- # windows to match
-
- <application name="the window's _OB_APP_NAME property (see obxprop)"
- class="the window's _OB_APP_CLASS property (see obxprop)"
- role="the window's _OB_APP_ROLE property (see obxprop)"
- title="the window's _OB_APP_TITLE property (see obxprop)"
- type="the window's _OB_APP_TYPE property (see obxprob)..
- (if unspecified, then it is 'dialog' for child windows)">
- # you may set only one of name/class/role/title/type, or you may use more
- # than one together to restrict your matches.
-
- # the name, class, role, and title use simple wildcard matching such as those
- # used by a shell. you can use * to match any characters and ? to match
- # any single character.
-
- # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
- # or desktop
-
- # when multiple rules match a window, they will all be applied, in the
- # order that they appear in this list
-
-
- # each rule element can be left out or set to 'default' to specify to not
- # change that attribute of the window
-
- <decor>yes</decor>
- # enable or disable window decorations
-
- <shade>no</shade>
- # make the window shaded when it appears, or not
-
- <position force="no">
- # the position is only used if both an x and y coordinate are provided
- # (and not set to 'default')
- # when force is "yes", then the window will be placed here even if it
- # says you want it placed elsewhere. this is to override buggy
- # applications who refuse to behave
- <x>center</x>
- # a number like 50, or 'center' to center on screen. use a negative number
- # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
- # right edge (or bottom).
- <y>200</y>
- <monitor>1</monitor>
- # specifies the monitor in a xinerama setup.
- # 1 is the first head, or 'mouse' for wherever the mouse is
- </position>
-
- <focus>yes</focus>
- # if the window should try be given focus when it appears. if this is set
- # to yes it doesn't guarantee the window will be given focus. some
- # restrictions may apply, but Openbox will try to
-
- <desktop>1</desktop>
- # 1 is the first desktop, 'all' for all desktops
-
- <layer>normal</layer>
- # 'above', 'normal', or 'below'
-
- <iconic>no</iconic>
- # make the window iconified when it appears, or not
-
- <skip_pager>no</skip_pager>
- # asks to not be shown in pagers
-
- <skip_taskbar>no</skip_taskbar>
- # asks to not be shown in taskbars. window cycling actions will also
- # skip past such windows
-
- <fullscreen>yes</fullscreen>
- # make the window in fullscreen mode when it appears
-
- <maximized>true</maximized>
- # 'Horizontal', 'Vertical' or boolean (yes/no)
- </application>
-
- # end of the example
--->
- <application name="urxvt">
- <decor>no</decor>
- </application>
- <application name="gmessage">
- <decor>no</decor>
- <shade>no</shade>
- <skip_pager>yes</skip_pager>
- <skip_taskbar>yes</skip_taskbar>
- <fullscreen>no</fullscreen>
- <maximized>no</maximized>
- </application>
- <application class="Gimp" name="gimp" role="gimp-toolbox" type="utility">
- <maximized>vertical</maximized>
- </application>
- <application class="Gimp" name="gimp" role="gimp-dock" type="utility">
- <maximized>vertical</maximized>
- </application>
- <application class="Gimp" name="gimp" role="gimp-image-window" type="normal">
- <position force="no">
- <x>center</x>
- <y>center</y>
- </position>
- </application>
- <application class="Gimp" name="gimp-2.8" role="gimp-toolbox" type="utility">
- <maximized>vertical</maximized>
- </application>
- <application class="Gimp" name="gimp-2.8" role="gimp-dock" type="utility">
- <maximized>vertical</maximized>
- </application>
- <application class="Gimp" name="gimp-2.8" role="gimp-image-window" type="normal">
- <position force="no">
- <x>center</x>
- <y>center</y>
- </position>
- </application>
- </applications>
-</openbox_config>
diff --git a/.config/ranger/commands.py b/.config/ranger/commands.py
@@ -1,216 +0,0 @@
-# This is a sample commands.py. You can add your own commands here.
-#
-# Please refer to commands_full.py for all the default commands and a complete
-# documentation. Do NOT add them all here, or you may end up with defunct
-# commands when upgrading ranger.
-
-# You always need to import ranger.api.commands here to get the Command class:
-from ranger.api.commands import *
-
-# A simple command for demonstration purposes follows.
-#------------------------------------------------------------------------------
-
-# You can import any python module as needed.
-import os
-
-# Any class that is a subclass of "Command" will be integrated into ranger as a
-# command. Try typing ":my_edit<ENTER>" in ranger!
-class my_edit(Command):
- # The so-called doc-string of the class will be visible in the built-in
- # help that is accessible by typing "?c" inside ranger.
- """:my_edit <filename>
-
- A sample command for demonstration purposes that opens a file in an editor.
- """
-
- # The execute method is called when you run this command in ranger.
- def execute(self):
- # self.arg(1) is the first (space-separated) argument to the function.
- # This way you can write ":my_edit somefilename<ENTER>".
- if self.arg(1):
- # self.rest(1) contains self.arg(1) and everything that follows
- target_filename = self.rest(1)
- else:
- # self.fm is a ranger.core.filemanager.FileManager object and gives
- # you access to internals of ranger.
- # self.fm.thisfile is a ranger.container.file.File object and is a
- # reference to the currently selected file.
- target_filename = self.fm.thisfile.path
-
- # This is a generic function to print text in ranger.
- self.fm.notify("Let's edit the file " + target_filename + "!")
-
- # Using bad=True in fm.notify allows you to print error messages:
- if not os.path.exists(target_filename):
- self.fm.notify("The given file does not exist!", bad=True)
- return
-
- # This executes a function from ranger.core.acitons, a module with a
- # variety of subroutines that can help you construct commands.
- # Check out the source, or run "pydoc ranger.core.actions" for a list.
- self.fm.edit_file(target_filename)
-
- # The tab method is called when you press tab, and should return a list of
- # suggestions that the user will tab through.
- def tab(self):
- # This is a generic tab-completion function that iterates through the
- # content of the current directory.
- return self._tab_directory_content()
-
-
-# https://github.com/ranger/ranger/wiki/Integrating-File-Search-with-fzf
-# Now, simply bind this function to a key, by adding this to your ~/.config/ranger/rc.conf: map <C-f> fzf_select
-class fzf_select(Command):
- """
- :fzf_select
-
- Find a file using fzf.
-
- With a prefix argument select only directories.
-
- See: https://github.com/junegunn/fzf
- """
- def execute(self):
- import subprocess
- if self.quantifier:
- # match only directories
- command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \
- -o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m"
- else:
- # match files and directories
- command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \
- -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m"
- fzf = self.fm.execute_command(command, stdout=subprocess.PIPE)
- stdout, stderr = fzf.communicate()
- if fzf.returncode == 0:
- fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n'))
- if os.path.isdir(fzf_file):
- self.fm.cd(fzf_file)
- else:
- self.fm.select_file(fzf_file)
-# fzf_locate
-class fzf_locate(Command):
- """
- :fzf_locate
-
- Find a file using fzf.
-
- With a prefix argument select only directories.
-
- See: https://github.com/junegunn/fzf
- """
- def execute(self):
- import subprocess
- if self.quantifier:
- command="locate home media | fzf -e -i"
- else:
- command="locate home media | fzf -e -i"
- fzf = self.fm.execute_command(command, stdout=subprocess.PIPE)
- stdout, stderr = fzf.communicate()
- if fzf.returncode == 0:
- fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n'))
- if os.path.isdir(fzf_file):
- self.fm.cd(fzf_file)
- else:
- self.fm.select_file(fzf_file)
-
-class fzf_bring(Command):
- """
- :fzf_bring
-
- Find a file using fzf and bring it to the current directory.
-
- See: https://github.com/junegunn/fzf
- """
- def execute(self):
- import subprocess
- if self.quantifier:
- # match only directories
- command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \
- -o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m"
- else:
- # match files and directories
- command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \
- -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m"
- fzf = self.fm.execute_command(command, stdout=subprocess.PIPE)
- stdout, stderr = fzf.communicate()
- if fzf.returncode == 0:
- fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n'))
- if os.path.isdir(fzf_file):
- self.fm.cd(fzf_file)
- else:
- self.fm.select_file(fzf_file)
-
-
-import os
-from ranger.core.loader import CommandLoader
-
-class compress(Command):
- def execute(self):
- """ Compress marked files to current directory """
- cwd = self.fm.thisdir
- marked_files = cwd.get_selection()
-
- if not marked_files:
- return
-
- def refresh(_):
- cwd = self.fm.get_directory(original_path)
- cwd.load_content()
-
- original_path = cwd.path
- parts = self.line.split()
- au_flags = parts[1:]
-
- descr = "compressing files in: " + os.path.basename(parts[1])
- obj = CommandLoader(args=['apack'] + au_flags + \
- [os.path.relpath(f.path, cwd.path) for f in marked_files], descr=descr)
-
- obj.signal_bind('after', refresh)
- self.fm.loader.add(obj)
-
- def tab(self):
- """ Complete with current folder name """
-
- extension = ['.zip', '.tar.gz', '.rar', '.7z']
- return ['compress ' + os.path.basename(self.fm.thisdir.path) + ext for ext in extension]
-
-
-
-
-import os
-from ranger.core.loader import CommandLoader
-
-class extracthere(Command):
- def execute(self):
- """ Extract copied files to current directory """
- copied_files = tuple(self.fm.copy_buffer)
-
- if not copied_files:
- return
-
- def refresh(_):
- cwd = self.fm.get_directory(original_path)
- cwd.load_content()
-
- one_file = copied_files[0]
- cwd = self.fm.thisdir
- original_path = cwd.path
- au_flags = ['-X', cwd.path]
- au_flags += self.line.split()[1:]
- au_flags += ['-e']
-
- self.fm.copy_buffer.clear()
- self.fm.cut_buffer = False
- if len(copied_files) == 1:
- descr = "extracting: " + os.path.basename(one_file.path)
- else:
- descr = "extracting files from: " + os.path.basename(one_file.dirname)
- obj = CommandLoader(args=['aunpack'] + au_flags \
- + [f.path for f in copied_files], descr=descr)
-
- obj.signal_bind('after', refresh)
- self.fm.loader.add(obj)
-
-
-
diff --git a/.config/ranger/luke_ranger_readme.md b/.config/ranger/luke_ranger_readme.md
@@ -1,85 +0,0 @@
-# Luke's ranger setup
-
-## Basic Ranger shortcuts
-
-These are the basic key binds in ranger, even outside of my configs. Note that they are mostly vim-based.
-
-+ h/j/k/l -- Move left/down/up/right (where left moves up in the directory structure, right moves into a folder)
-+ Space -- select/highlight file
-+ dd -- cut selected files
-+ yy -- copy/yank selected files
-+ pp -- paste/move cut/copied files
-+ / -- search, when (n/N) next/previos result
-+ zh or CTRL-h -- show hidden files
-+ Renaming files:
- + cw -- rename file from scratch
- + A -- rename file adding to the end
- + aa -- rename file appending before the extension
- + I -- rename file adding at the beginning
-
-## Shortcuts
-
-As I say in the main readme, there are shortcut commands generated for ranger
-based on what bookmarked directories and files you give it. For directory
-shortcuts, here are the "verbs":
-
-+ g -- "go or cd"
-+ t -- "new tab"
-+ m -- "move file"
-+ Y -- "yank or copy file"
-
-These "verbs" take "nouns" or "arguments," like these:
-
-+ d -- "~/Documents"
-+ D -- "~/Downloads"
-+ cf -- "~/.config"
-+ And many others, including those you add to `~/.bmdirs`.
-
-Press any "verb" followed by any "argument" to perform a folder operation. "gd" will cd to ~/Documents, for example. "mD" will move the selected file(s) to ~/Downloads. "tcf" will create a new tab in ~/.config, etc. etc.
-
-## Many little additions!
-
-+ Basic additions:
- + V -- Make a new file and edit it in vim
- + cW -- rename *all* selected files, editing in your text editor
- + mkd -- Make a directory/folder
- + sc -- Makes a link/shortcut (ln -sT)
- + D -- delete selected file
- + X -- Extract a zip/rar/tar.gz, whatever. Runs a script that picks the right command for the right archive.
- + Z -- zips a folder up into a .tar.gz archive.
- + CTRL-f -- Fuzzy find a file
- + CTRL-l -- Fuzzy locate a file
-+ Document manipulation:
- + p1s -- print this file on the default printer, one-sided (lpr)
- + p2s -- print this file on the default printer, double-sided (lpr)
- + MP -- convert to a .pdf with pandoc (I use this to convert markdown, etc.)
- + MX -- compile selected document in XeLaTeX
- + ML -- compile selected document in LaTeX
- + TC -- clear all non-visible TeX build files in this directory
- + Txa -- copy article template to new file
- + Txs -- copy slideshow/beamer template to new file
- + Txh -- copy handout template to new file
-+ Image commands:
- + bg -- (for i3 users) makes an image your background (assuming i3 is looking at ~/.config/wall.png for your background)
- + bw -- runs Pywal on the selected image, making it your background and generating a color scheme based off of it.
- + C -- rotates an image (requires imagemagick)
- + F -- flips an image (requires imagemagick)
- + TR -- add transparency to image file
-+ mpd/mpc shortcuts
- + MS -- Start mpd
- + MK -- kill mpd
- + MN -- Start playing selected song/folder now
- + Ma -- Enqueue selected song/folder
- + Mp -- Pause
- + Mn -- Next track
- + Mb -- Previous track
- + Mo -- Restart track
-+ Audio tagging with eye3D:
- + Ta -- change artist name
- + TA -- change album name
- + Tb -- change album artist
- + Tt -- change title
- + Tn -- change track number
-+ Downloading:
- + ytv -- Download online video (paste in url) (requires youtube-dl)
- + yta -- Download audio of online video (paste in url) (requires youtube-dl)
diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf
@@ -1,518 +0,0 @@
-###SETTINGS###
-
-set column_ratios 1,3,4
-#set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
-set hidden_filter ^\.|\.(?:pyc|vrb|pyo|lof|bak|swp|aux|log|nav|out|snm|toc|bcf|run\.xml|synctex\.gz|blg|bbl)$|^lost\+found$|^__(py)?cache__$
-set show_hidden false
-set confirm_on_delete multiple
-set preview_script ~/.config/ranger/scope.sh
-set use_preview_script true
-set automatically_count_files true
-set open_all_images true
-set vcs_aware false
-set vcs_backend_git enabled
-set vcs_backend_hg disabled
-set vcs_backend_bzr disabled
-set preview_images true
-set preview_images_method w3m
-set unicode_ellipsis false
-set show_hidden_bookmarks false
-set colorscheme default
-set preview_files true
-set preview_directories true
-set collapse_preview true
-set save_console_history false
-set status_bar_on_top false
-set draw_progress_bar_in_status_bar true
-set draw_borders false
-set dirname_in_tabs false
-set mouse_enabled true
-set display_size_in_main_column true
-set display_size_in_status_bar true
-set display_tags_in_all_columns true
-set update_title false
-set update_tmux_title true
-set shorten_title 3
-set tilde_in_titlebar true
-set max_history_size 20
-set max_console_history_size 50
-set scroll_offset 8
-set flushinput true
-set padding_right true
-set autosave_bookmarks false
-set autoupdate_cumulative_size false
-set show_cursor false
-set sort natural
-set sort_reverse false
-set sort_case_insensitive true
-set sort_directories_first true
-set sort_unicode false
-set xterm_alt_key false
-set cd_bookmarks false
-set preview_max_size 0
-set show_selection_in_titlebar true
-set idle_delay 2000
-set metadata_deep_search false
-
-
-###ALIASES###
-alias e edit
-alias q quit
-alias q! quitall
-alias qa quitall
-alias qall quitall
-alias setl setlocal
-
-alias filter scout -prt
-alias find scout -aeit
-alias mark scout -mr
-alias unmark scout -Mr
-alias search scout -rs
-alias search_inc scout -rts
-alias travel scout -aefiklst
-
-
-###BASIC KEYS###
-
-#BASIC
-map Q quit!
-map q quit
-copymap q ZZ ZQ
-
-#map R reload_cwd
-map <C-r> reset
-#map <C-l> redraw_window
-map <C-c> abort
-map <esc> change_mode normal
-
-map i display_file
-map ? help
-#map W display_log
-map w taskview_open
-map S shell $SHELL
-
-map : console
-map ; console
-map ! console shell%space
-map @ console -p6 shell %s
-map # console shell -p%space
-#map s console shell%space
-map r chain draw_possible_programs; console open_with%%space
-map f console find%space
-map cd console cd%space
-
-
-# Change the line mode
-#map Mf linemode filename
-#map Mi linemode fileinfo
-#map Mp linemode permissions
-#map Mt linemode metatitle
-
-#moc
-#map Mc shell mocp -c
-#map Ma shell mocp -a %s
-#map Ms shell mocp -p
-#map MS shell mocp -S
-#map Mp shell mocp -G
-#map Mn shell mocp -f
-#map Mb shell mocp -r
-#map MN shell mocp -s && mocp -c && mocp -a %s && mocp -p
-#map Mo shell mocp -j 0%%
-#map MK shell killall mocp
-
-
-
-# Tagging / Marking
-map at tag_toggle
-map ut tag_remove
-map "<any> tag_toggle tag=%any
-map <Space> mark_files toggle=True
-map va mark_files all=True toggle=True
-map uv mark_files all=True val=False
-map vs toggle_visual_mode
-map uV toggle_visual_mode reverse=True
-
-
-
-# For the nostalgics: Midnight Commander bindings
-map <F1> help
-map <F3> display_file
-map <F4> edit
-map <F5> copy
-map <F5> console shell echo "require(rmarkdown); render_site()" | R --vanilla
-map <F6> cut
-map <F7> console mkdir%space
-map <F8> console delete
-map <F10> exit
-
-
-# In case you work on a keyboard with dvorak layout
-map <UP> move up=1
-map <DOWN> move down=1
-map <LEFT> move left=1
-map <RIGHT> move right=1
-map <HOME> move to=0
-map <END> move to=-1
-map <PAGEDOWN> move down=1 pages=True
-map <PAGEUP> move up=1 pages=True
-map <CR> move right=1
-map <DELETE> console delete
-map <INSERT> console touch%space
-
-
-# VIM-like
-copymap <UP> k
-copymap <DOWN> j
-copymap <LEFT> h
-copymap <RIGHT> l
-copymap <HOME> gg
-copymap <END> G
-copymap <PAGEDOWN> <C-F>
-copymap <PAGEUP> <C-B>
-
-map J move down=0.5 pages=True
-map K move up=0.5 pages=True
-copymap J <C-D>
-copymap K <C-U>
-
-
-# Jumping around
-map H history_go -1
-map L history_go 1
-map ] move_parent 1
-map [ move_parent -1
-map } traverse
-
-#DEFAULT MOVEMENT
-map ge cd /etc
-map gu cd /usr
-#map gl cd -r .
-map gL cd -r %f
-#map gv cd /var
-map gM cd /mnt
-map gr cd /
-map gR eval fm.cd(ranger.RANGERDIR)
-map g? cd /usr/share/doc/ranger
-
-# Tabs
-map <C-n> tab_new ~
-map <C-w> tab_close
-map <TAB> tab_move 1
-map <S-TAB> tab_move -1
-map <A-Right> tab_move 1
-map <A-Left> tab_move -1
-#map gt tab_move 1
-#map gT tab_move -1
-map gn tab_new ~
-#map gc tab_close
-map tt tab_close
-map uq tab_restore
-map <a-1> tab_open 1
-map <a-2> tab_open 2
-map <a-3> tab_open 3
-map <a-4> tab_open 4
-map <a-5> tab_open 5
-map <a-6> tab_open 6
-map <a-7> tab_open 7
-map <a-8> tab_open 8
-map <a-9> tab_open 9
-
-
-# External Programs
-map E edit
-map du shell -p du --max-depth=1 -h --apparent-size
-map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
-map yp shell -f echo -n %%d/%%f | xsel -i; xsel -o | xsel -i -b
-map yd shell -f echo -n %%d | xsel -i; xsel -o | xsel -i -b
-map yn shell -f echo -n %%f | xsel -i; xsel -o | xsel -i -b
-
-
-# Filesystem Operations
-map = chmod
-map cw console rename%space
-map aa rename_append
-map A eval fm.open_console('rename ' + fm.thisfile.relative_path)
-map I eval fm.open_console('rename ' + fm.thisfile.relative_path, position=7)
-map pp paste
-map po paste overwrite=True
-map pP paste append=True
-map pO paste overwrite=True append=True
-map pl paste_symlink relative=False
-map pL paste_symlink relative=True
-map phl paste_hardlink
-map pht paste_hardlinked_subtree
-
-map dD console delete
-
-map dd cut
-map ud uncut
-map da cut mode=add
-map dr cut mode=remove
-
-map yy copy
-map uy uncut
-map ya copy mode=add
-map yr copy mode=remove
-
-
-# Temporary workarounds
-map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
-map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
-map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
-map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
-map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
-map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
-map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
-map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
-
-
-# Searching
-map / console search%space
-map n search_next
-map N search_next forward=False
-map ct search_next order=tag
-map cs search_next order=size
-map ci search_next order=mimetype
-map cc search_next order=ctime
-map cm search_next order=mtime
-map ca search_next order=atime
-
-
-# Sorting
-map or toggle_option sort_reverse
-map oz set sort=random
-map os chain set sort=size; set sort_reverse=False
-map ob chain set sort=basename; set sort_reverse=False
-map on chain set sort=natural; set sort_reverse=False
-map om chain set sort=mtime; set sort_reverse=False
-map oc chain set sort=ctime; set sort_reverse=False
-map oa chain set sort=atime; set sort_reverse=False
-map ot chain set sort=type; set sort_reverse=False
-map oe chain set sort=extension; set sort_reverse=False
-
-map oS chain set sort=size; set sort_reverse=True
-map oB chain set sort=basename; set sort_reverse=True
-map oN chain set sort=natural; set sort_reverse=True
-map oM chain set sort=mtime; set sort_reverse=True
-map oC chain set sort=ctime; set sort_reverse=True
-map oA chain set sort=atime; set sort_reverse=True
-map oT chain set sort=type; set sort_reverse=True
-map oE chain set sort=extension; set sort_reverse=True
-
-map dc get_cumulative_size
-
-
-# Settings
-map zc toggle_option collapse_preview
-map zd toggle_option sort_directories_first
-map zh toggle_option show_hidden
-map <C-h> toggle_option show_hidden
-map zi toggle_option flushinput
-map zm toggle_option mouse_enabled
-map zp toggle_option preview_files
-map zP toggle_option preview_directories
-map zs toggle_option sort_case_insensitive
-map zu toggle_option autoupdate_cumulative_size
-map zv toggle_option use_preview_script
-map zf console filter%space
-
-
-# Bookmarks
-#map `<any> enter_bookmark %any
-#map '<any> enter_bookmark %any
-#map mm<any> set_bookmark %any
-#map um<any> unset_bookmark %any
-
-#map m<bg> draw_bookmarks
-#copymap m<bg> um<bg> `<bg> '<bg>
-
-
-# Generate all the chmod bindings with some python help:
-eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
-
-eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
-eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
-
-
-###CONSOLE KEYS###
-# Basic
-cmap <tab> eval fm.ui.console.tab()
-cmap <s-tab> eval fm.ui.console.tab(-1)
-cmap <ESC> eval fm.ui.console.close()
-cmap <CR> eval fm.ui.console.execute()
-#cmap <C-l> redraw_window
-
-copycmap <ESC> <C-c>
-copycmap <CR> <C-j>
-
-
-# Move around
-cmap <up> eval fm.ui.console.history_move(-1)
-cmap <down> eval fm.ui.console.history_move(1)
-cmap <left> eval fm.ui.console.move(left=1)
-cmap <right> eval fm.ui.console.move(right=1)
-cmap <home> eval fm.ui.console.move(right=0, absolute=True)
-cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
-
-
-# Line Editing
-cmap <backspace> eval fm.ui.console.delete(-1)
-cmap <delete> eval fm.ui.console.delete(0)
-cmap <C-w> eval fm.ui.console.delete_word()
-cmap <A-d> eval fm.ui.console.delete_word(backward=False)
-cmap <C-k> eval fm.ui.console.delete_rest(1)
-cmap <C-u> eval fm.ui.console.delete_rest(-1)
-cmap <C-y> eval fm.ui.console.paste()
-
-# And of course the emacs way
-#copycmap <up> <C-p>
-#copycmap <down> <C-n>
-#copycmap <left> <C-b>
-#copycmap <right> <C-f>
-#copycmap <home> <C-a>
-#copycmap <end> <C-e>
-#copycmap <delete> <C-d>
-#copycmap <backspace> <C-h>
-
-
-# Note: There are multiple ways to express backspaces. <backspace> (code 263)
-# and <backspace2> (code 127). To be sure, use both.
-copycmap <backspace> <backspace2>
-
-# This special expression allows typing in numerals:
-cmap <allow_quantifiers> false
-
-
-
-###PAGER KEYS###
-# Movement
-pmap <down> pager_move down=1
-pmap <up> pager_move up=1
-pmap <left> pager_move left=4
-pmap <right> pager_move right=4
-pmap <home> pager_move to=0
-pmap <end> pager_move to=-1
-pmap <pagedown> pager_move down=1.0 pages=True
-pmap <pageup> pager_move up=1.0 pages=True
-pmap <C-d> pager_move down=0.5 pages=True
-pmap <C-u> pager_move up=0.5 pages=True
-
-copypmap <UP> k <C-p>
-copypmap <DOWN> j <C-n> <CR>
-copypmap <LEFT> h
-copypmap <RIGHT> l
-copypmap <HOME> g
-copypmap <END> G
-copypmap <C-d> d
-copypmap <C-u> u
-copypmap <PAGEDOWN> n f <C-F> <Space>
-copypmap <PAGEUP> p b <C-B>
-
-
-# Basic
-#pmap <C-l> redraw_window
-pmap <ESC> pager_close
-copypmap <ESC> q Q i <F3>
-pmap E edit_file
-
-# ===================================================================
-# == Taskview Keybindings
-# ===================================================================
-
-# Movement
-tmap <up> taskview_move up=1
-tmap <down> taskview_move down=1
-tmap <home> taskview_move to=0
-tmap <end> taskview_move to=-1
-tmap <pagedown> taskview_move down=1.0 pages=True
-tmap <pageup> taskview_move up=1.0 pages=True
-tmap <C-d> taskview_move down=0.5 pages=True
-tmap <C-u> taskview_move up=0.5 pages=True
-
-copytmap <UP> k <C-p>
-copytmap <DOWN> j <C-n> <CR>
-copytmap <HOME> g
-copytmap <END> G
-copytmap <C-u> u
-copytmap <PAGEDOWN> n f <C-F> <Space>
-copytmap <PAGEUP> p b <C-B>
-
-# Changing priority and deleting tasks
-tmap J eval -q fm.ui.taskview.task_move(-1)
-tmap K eval -q fm.ui.taskview.task_move(0)
-tmap dd eval -q fm.ui.taskview.task_remove()
-tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
-tmap <pageup> eval -q fm.ui.taskview.task_move(0)
-tmap <delete> eval -q fm.ui.taskview.task_remove()
-
-# Basic
-#tmap <C-l> redraw_window
-tmap <ESC> taskview_close
-copytmap <ESC> q Q w <C-c>
-
-
-map sp console shell bash speedvid.sh %f%space
-map x shell chmod -x %s
-
-#General
-map V console shell vim%space
-map cW bulkrename %s
-map mkd console mkdir%space
-map sc console shell ln -sT%space
-map D console delete
-map X shell extract %f
-map Z shell tar -cvzf %f.tar.gz %f
-map <C-f> fzf_select
-map <C-l> fzf_locate
-
-#Document Manipulation
-map p1s shell lpr -o sides=one-sided %f
-map p2s shell lpr -o sides=two-sided-long-edge %f
-map MP shell pandoc %f -o %f.pdf
-map MX shell xelatex %f
-map ML shell latex %f
-map TC shell texclear
-map Txa console shell cp ~/Documents/LaTeX/article.tex%space
-map Txs console shell cp ~/Documents/LaTeX/beamer.tex%space
-map Txh console shell cp ~/Documents/LaTeX/handout.tex%space
-
-#Image commands
-map bg shell cp %f ~/.config/wall.png && feh --bg-scale %f
-map bw shell wal -c -i %f && cp %f ~/.config/wall.png
-map C shell killall w3mimgdisplay && convert -rotate 90 %s %s
-map F shell killall w3mimgdisplay && convert -flop %s %s
-map bl shell killall w3mimgdisplay && convert %s -resize 1440x1080\> bl_%s
-map TR shell convert %s -transparent white %s
-
-#Music (mpd) shortcuts
-map MS shell mpd
-map MK shell killall mpd
-map Ma shell mpc add "%s"
-map Ms shell mpc play
-map Mp shell mpc toggle
-map Mn shell mpc next
-map Mb shell mpc prev
-map MN shell mpc stop && mpc clear && mpc add "%s"
-map Mo shell mpc seek 0%
-
-#Audio tagging (Requires eyeD3)
-map Ta eval fm.open_console('shell eyeD3 -a ' + fm.thisfile.relative_path, position=15)
-#Artist
-map TA eval fm.open_console('shell eyeD3 -A ' + fm.thisfile.relative_path, position=15)
-#Album
-map Tb eval fm.open_console('shell eyeD3 -b ' + fm.thisfile.relative_path, position=15)
-#Album artist
-map Tt eval fm.open_console('shell eyeD3 -t "" ' + fm.thisfile.relative_path, position=16)
-map Tn eval fm.open_console('shell eyeD3 -n "" ' + fm.thisfile.relative_path, position=16)
-
-#Downloading
-map ytv console shell youtube-dl -ic%space
-map yta console shell youtube-dl -xic%space
-source ~/.config/ranger/shortcuts.conf
diff --git a/.config/ranger/rifle.conf b/.config/ranger/rifle.conf
@@ -1,234 +0,0 @@
-# vim: ft=cfg
-#
-# This is the configuration file of "rifle", ranger's file executor/opener.
-# Each line consists of conditions and a command. For each line the conditions
-# are checked and if they are met, the respective command is run.
-#
-# Syntax:
-# <condition1> , <condition2> , ... = command
-#
-# The command can contain these environment variables:
-# $1-$9 | The n-th selected file
-# $@ | All selected files
-#
-# If you use the special command "ask", rifle will ask you what program to run.
-#
-# Prefixing a condition with "!" will negate its result.
-# These conditions are currently supported:
-# match <regexp> | The regexp matches $1
-# ext <regexp> | The regexp matches the extension of $1
-# mime <regexp> | The regexp matches the mime type of $1
-# name <regexp> | The regexp matches the basename of $1
-# path <regexp> | The regexp matches the absolute path of $1
-# has <program> | The program is installed (i.e. located in $PATH)
-# env <variable> | The environment variable "variable" is non-empty
-# file | $1 is a file
-# directory | $1 is a directory
-# number <n> | change the number of this command to n
-# terminal | stdin, stderr and stdout are connected to a terminal
-# X | $DISPLAY is not empty (i.e. Xorg runs)
-#
-# There are also pseudo-conditions which have a "side effect":
-# flag <flags> | Change how the program is run. See below.
-# label <label> | Assign a label or name to the command so it can
-# | be started with :open_with <label> in ranger
-# | or `rifle -p <label>` in the standalone executable.
-# else | Always true.
-#
-# Flags are single characters which slightly transform the command:
-# f | Fork the program, make it run in the background.
-# | New command = setsid $command >& /dev/null &
-# r | Execute the command with root permissions
-# | New command = sudo $command
-# t | Run the program in a new terminal. If $TERMCMD is not defined,
-# | rifle will attempt to extract it from $TERM.
-# | New command = $TERMCMD -e $command
-# Note: The "New command" serves only as an illustration, the exact
-# implementation may differ.
-# Note: When using rifle in ranger, there is an additional flag "c" for
-# only running the current file even if you have marked multiple files.
-
-#-------------------------------------------
-# Websites
-#-------------------------------------------
-# Rarely installed browsers get higher priority; It is assumed that if you
-# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
-# other hand are often only installed as fallback browsers.
-
-ext x?html?, has waterfox, X, flag f = waterfox -- "$@"
-ext x?html?, has surf, X, flag f = surf -- file://"$1"
-ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
-ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
-ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
-ext x?html?, has dwb, X, flag f = dwb -- "$@"
-ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
-ext x?html?, has luakit, X, flag f = luakit -- "$@"
-ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
-ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
-ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
-ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
-ext x?html?, has midori, X, flag f = midori -- "$@"
-ext x?html?, has chromium, X, flag f = chromium -- "$@"
-ext x?html?, has opera, X, flag f = opera -- "$@"
-ext x?html?, has firefox, X, flag f = firefox -- "$@"
-ext x?html?, has dillo, X, flag f = dillo -- "$@"
-ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
-ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
-ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
-ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
-ext x?html?, has elinks, terminal = elinks "$@"
-ext x?html?, has links2, terminal = links2 "$@"
-ext x?html?, has links, terminal = links "$@"
-ext x?html?, has lynx, terminal = lynx -- "$@"
-ext x?html?, has w3m, terminal = w3m "$@"
-
-
-#Spreadsheets for scim
-ext sc|csv|sxc|xlsx?|xlt|xlw|gnm|gnumeric, = sc-im -- "$@"
-
-#-------------------------------------------
-# Misc
-#-------------------------------------------
-# Define the "editor" for text files as first action
-mime ^text, label editor = $EDITOR -- "$@"
-mime ^text, label pager = "$PAGER" -- "$@"
-!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
-!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
-
-ext 1 = man "$1"
-ext s[wmf]c, has zsnes, X = zsnes "$1"
-ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
-ext nes, has fceux, X = fceux "$1"
-ext exe = wine "$1"
-name ^[mM]akefile$ = make
-
-#--------------------------------------------
-# Code
-#-------------------------------------------
-ext py = python -- "$1"
-ext pl = perl -- "$1"
-ext rb = ruby -- "$1"
-ext js = node -- "$1"
-ext sh = sh -- "$1"
-ext php = php -- "$1"
-
-#--------------------------------------------
-# Video/Audio with a GUI
-#-------------------------------------------
-mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
-mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
-mime ^video, has mpv, X, flag f = mpv -- "$@"
-mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
-mime ^video, has mpv, X, flag f = mpv --loop -- "$@"
-mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
-mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
-mime ^video, has mplayer, X, flag f = mplayer -- "$@"
-mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
-# mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
-mime ^video|audio, has totem, X, flag f = totem -- "$@"
-mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
-#--------------------------------------------
-# Audio without X
-#-------------------------------------------
-mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
-mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
-mime ^audio|ogg$, terminal, has mpv = mpv --no-audio-display -- "$@"
-mime ^audio|ogg$ = tag "$@"
-mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
-ext midi?, terminal, has wildmidi = wildmidi -- "$@"
-
-
-#--------------------------------------------
-# Video without X:
-#-------------------------------------------
-mime ^video, terminal, !X, has mpv = mpv -- "$@"
-mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
-mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
-
-#-------------------------------------------
-# Documents
-#-------------------------------------------
-ext pdf, has llpp, X, flag f = llpp "$@"
-ext pdf, has zathura, X, flag f = zathura -- "$@"
-ext pdf, has mupdf, X, flag f = mupdf "$@"
-ext pdf, has mupdf, X, flag f = mupdf -I "$@"
-ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
-ext pdf, has apvlv, X, flag f = apvlv -- "$@"
-ext pdf, has xpdf, X, flag f = xpdf -- "$@"
-ext pdf, has evince, X, flag f = evince -- "$@"
-ext pdf, has atril, X, flag f = atril -- "$@"
-ext pdf, has okular, X, flag f = okular -- "$@"
-ext pdf, has epdfview, X, flag f = epdfview -- "$@"
-ext pdf, has qpdfview, X, flag f = qpdfview "$@"
-
-ext epub, has zathura, X, flag f = zathura -- "$@"
-ext epub, has mupdf, X, flag f = mupdf "$@"
-
-
-ext docx, has abiword, X, flag f = abiword "$@"
-
-ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
-
-ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
-ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
-ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
-ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
-ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
-
-ext djvu, has zathura,X, flag f = zathura -- "$@"
-ext djvu, has evince, X, flag f = evince -- "$@"
-ext djvu, has atril, X, flag f = atril -- "$@"
-
-#-------------------------------------------
-# Image Viewing:
-#-------------------------------------------
-mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
-mime ^image/svg, has display, X, flag f = display -- "$@"
-mime ^image/gif, has mpv, X, flag f = mpv --loop -- "$@"
-mime ^image/gif, has viewnior, X, flag f = viewnior -- "$@"
-mime ^image/gif, has qutebrowser, X, flag f = qutebrowser -- "$@"
-
-ext xcf, X, flag f = gimp -- "$@"
-mime ^image, has sxiv, X, flag f = sxiv -a -- "$@"
-mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom --image-bg black -- "$@"
-mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom -- "$@"
-mime ^image, has sxiv, X, flag f = sxiv -- "$@"
-mime ^image, has mirage, X, flag f = mirage -- "$@"
-mime ^image, has ristretto, X, flag f = ristretto "$@"
-mime ^image, has eog, X, flag f = eog -- "$@"
-mime ^image, has eom, X, flag f = eom -- "$@"
-mime ^image, has gimp, X, flag f = gimp -- "$@"
-mime ^image, has inkscape, X, flag f = inkscape -- "$@"
-mime ^image, has pinta, X, flag f = pinta -- "$@"
-mime ^image, has mypaint, X, flag f = mypaint -- "$@"
-mime ^image, has kolourpaint, X, flag f = kolourpaint -- "$@"
-
-#-------------------------------------------
-# Archives
-#-------------------------------------------
-# This requires atool
-ext jar = java -jar "$@"
-
-ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has als = als -- "$@" | "$PAGER"
-ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has als = als -- "$@" | "$PAGER"
-ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has aunpack = aunpack -- "$@"
-ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has aunpack = aunpack -- "$@"
-
-# Fallback:
-ext tar|gz, has tar = tar vvtf "$@" | "$PAGER"
-ext tar|gz, has tar = tar vvxf "$@"
-
-#-------------------------------------------
-# Misc
-#-------------------------------------------
-label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
-label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
-label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
-label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
-
-# Define the editor for non-text files + pager as last action
- !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
-label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
-label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
-
-ext blend, has blender, X, flag f = blender -- "$@"
diff --git a/.config/ranger/scope.sh b/.config/ranger/scope.sh
@@ -1,125 +0,0 @@
-#!/usr/bin/env sh
-# ranger supports enhanced previews. If the option "use_preview_script"
-# is set to True and this file exists, this script will be called and its
-# output is displayed in ranger. ANSI color codes are supported.
-
-# NOTES: This script is considered a configuration file. If you upgrade
-# ranger, it will be left untouched. (You must update it yourself.)
-# Also, ranger disables STDIN here, so interactive scripts won't work properly
-
-# Meanings of exit codes:
-# code | meaning | action of ranger
-# -----+------------+-------------------------------------------
-# 0 | success | success. display stdout as preview
-# 1 | no preview | failure. display no preview at all
-# 2 | plain text | display the plain content of the file
-# 3 | fix width | success. Don't reload when width changes
-# 4 | fix height | success. Don't reload when height changes
-# 5 | fix both | success. Don't ever reload
-# 6 | image | success. display the image $cached points to as an image preview
-# 7 | image | success. display the file directly as an image
-
-# Meaningful aliases for arguments:
-path="$1" # Full path of the selected file
-width="$2" # Width of the preview pane (number of fitting characters)
-height="$3" # Height of the preview pane (number of fitting characters)
-cached="$4" # Path that should be used to cache image previews
-preview_images="$5" # "True" if image previews are enabled, "False" otherwise.
-
-maxln=200 # Stop after $maxln lines. Can be used like ls | head -n $maxln
-
-# Find out something about the file:
-mimetype=$(file --mime-type -Lb "$path")
-extension=$(/bin/echo "${path##*.}" | awk '{print tolower($0)}')
-
-# Functions:
-# runs a command and saves its output into $output. Useful if you need
-# the return value AND want to use the output in a pipe
-try() { output=$(eval '"$@"'); }
-
-# writes the output of the previously used "try" command
-dump() { /bin/echo "$output"; }
-
-# a common post-processing function used after most commands
-trim() { head -n "$maxln"; }
-
-# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success
-safepipe() { "$@"; test $? = 0 -o $? = 141; }
-
-# Image previews, if enabled in ranger.
-if [ "$preview_images" = "True" ]; then
- case "$mimetype" in
- image/svg+xml)
- convert "$path" "$cached" && exit 6 || exit 1;;
- image/*)
- exit 7;;
- # Image preview for video, disabled by default.:
- ###video/*)
- ### ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;;
- # Image preview for video, disabled by default.:
- video/*)
- mpv --frames=0 "$path" | tail -n +5 | \
- sed 's/^\.$//' | \
- awk '1;/Description: /{exit}' && exit 0 || exit 1;;
- esac
-fi
-
-case "$extension" in
- # Archive extensions:
- a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
- rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
- try als "$path" && { dump | trim; exit 0; }
- try acat "$path" && { dump | trim; exit 3; }
- try bsdtar -lf "$path" && { dump | trim; exit 0; }
- exit 1;;
- csv)
- sed "s/\(.*\".*\),\(.*\".*\)/\1~\2/;s/,/\t/g;s/~/,/g;s/\t\"/\t/g;s/\"\t/\t/g" "$path" && { dump| trim; exit 0; } || exit 1;;
- rar)
- # avoid password prompt by providing empty password
- try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;;
- 7z)
- # avoid password prompt by providing empty password
- try 7z -p l "$path" && { dump | trim; exit 0; } || exit 1;;
- # PDF documents:
- pdf)
- try pdftoppm -jpeg -singlefile "$path" "${cached//.jpg}" && exit 6 || exit 1;;
- #try pdftotext -l 10 -nopgbrk -q "$path" - && \
- #{ dump | trim | fmt -s -w $width; exit 0; } || exit 1;;
- # BitTorrent Files
- torrent)
- try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;;
- # ODT Files
- odt|ods|odp|sxw)
- try odt2txt "$path" && { dump | trim; exit 5; } || exit 1;;
- # HTML Pages:
- htm|html|xhtml)
- try w3m -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
- try lynx -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
- try elinks -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
- ;; # fall back to highlight/cat if the text browsers fail
-esac
-
-case "$mimetype" in
- # Syntax highlight for text files:
- text/* | */xml)
- if [ "$(tput colors)" -ge 256 ]; then
- pygmentize_format=terminal256
- highlight_format=ansi
- else
- pygmentize_format=terminal
- highlight_format=ansi
- fi
- try safepipe highlight --out-format=${highlight_format} "$path" && { dump | trim; exit 5; }
- try safepipe pygmentize -f ${pygmentize_format} "$path" && { dump | trim; exit 5; }
- exit 2;;
- # Ascii-previews of images:
- image/*)
- img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;;
- # Display information about media files:
- video/* | audio/*)
- exiftool "$path" && exit 5
- # Use sed to remove spaces so the output fits into the narrow window
- try mediainfo "$path" && { dump | trim | sed 's/ \+:/: /;'; exit 5; } || exit 1;;
-esac
-
-exit 1
diff --git a/.config/ranger/shortcuts.conf b/.config/ranger/shortcuts.conf
@@ -1,404 +0,0 @@
-map gaa cd ~/articles
-map taa tab_new ~/articles
-map maa shell mv -v %s ~/articles
-map Yaa shell cp -rv %s ~/articles
-map gao cd ~/articles/own
-map tao tab_new ~/articles/own
-map mao shell mv -v %s ~/articles/own
-map Yao shell cp -rv %s ~/articles/own
-map gag cd ~/articles/glaciology_sedimentology
-map tag tab_new ~/articles/glaciology_sedimentology
-map mag shell mv -v %s ~/articles/glaciology_sedimentology
-map Yag shell cp -rv %s ~/articles/glaciology_sedimentology
-map gbin cd ~/bin
-map tbin tab_new ~/bin
-map mbin shell mv -v %s ~/bin
-map Ybin shell cp -rv %s ~/bin
-map gbb cd ~/books
-map tbb tab_new ~/books
-map mbb shell mv -v %s ~/books
-map Ybb shell cp -rv %s ~/books
-map gbc cd ~/books/cheatsheets
-map tbc tab_new ~/books/cheatsheets
-map mbc shell mv -v %s ~/books/cheatsheets
-map Ybc shell cp -rv %s ~/books/cheatsheets
-map gbd cd ~/books/db
-map tbd tab_new ~/books/db
-map mbd shell mv -v %s ~/books/db
-map Ybd shell cp -rv %s ~/books/db
-map gbf cd ~/books/fiction
-map tbf tab_new ~/books/fiction
-map mbf shell mv -v %s ~/books/fiction
-map Ybf shell cp -rv %s ~/books/fiction
-map gbg cd ~/books/golang
-map tbg tab_new ~/books/golang
-map mbg shell mv -v %s ~/books/golang
-map Ybg shell cp -rv %s ~/books/golang
-map gbl cd ~/books/linux
-map tbl tab_new ~/books/linux
-map mbl shell mv -v %s ~/books/linux
-map Ybl shell cp -rv %s ~/books/linux
-map gbn cd ~/books/netsec
-map tbn tab_new ~/books/netsec
-map mbn shell mv -v %s ~/books/netsec
-map Ybn shell cp -rv %s ~/books/netsec
-map gbp cd ~/books/photography
-map tbp tab_new ~/books/photography
-map mbp shell mv -v %s ~/books/photography
-map Ybp shell cp -rv %s ~/books/photography
-map gby cd ~/books/python
-map tby tab_new ~/books/python
-map mby shell mv -v %s ~/books/python
-map Yby shell cp -rv %s ~/books/python
-map gbs cd ~/books/science
-map tbs tab_new ~/books/science
-map mbs shell mv -v %s ~/books/science
-map Ybs shell cp -rv %s ~/books/science
-map gbv cd ~/books/vim
-map tbv tab_new ~/books/vim
-map mbv shell mv -v %s ~/books/vim
-map Ybv shell cp -rv %s ~/books/vim
-map gcf cd ~/.config
-map tcf tab_new ~/.config
-map mcf shell mv -v %s ~/.config
-map Ycf shell cp -rv %s ~/.config
-map gcg cd ~/code/geodatahub
-map tcg tab_new ~/code/geodatahub
-map mcg shell mv -v %s ~/code/geodatahub
-map Ycg shell cp -rv %s ~/code/geodatahub
-map gcm cd ~/code/mst
-map tcm tab_new ~/code/mst
-map mcm shell mv -v %s ~/code/mst
-map Ycm shell cp -rv %s ~/code/mst
-map gcs cd ~/code/sphere
-map tcs tab_new ~/code/sphere
-map mcs shell mv -v %s ~/code/sphere
-map Ycs shell cp -rv %s ~/code/sphere
-map gcw cd ~/code/webpage
-map tcw tab_new ~/code/webpage
-map mcw shell mv -v %s ~/code/webpage
-map Ycw shell cp -rv %s ~/code/webpage
-map gD cd ~/code/dotfiles
-map tD tab_new ~/code/dotfiles
-map mD shell mv -v %s ~/code/dotfiles
-map YD shell cp -rv %s ~/code/dotfiles
-map gdd cd ~/doc
-map tdd tab_new ~/doc
-map mdd shell mv -v %s ~/doc
-map Ydd shell cp -rv %s ~/doc
-map gdc cd ~/doc/camera
-map tdc tab_new ~/doc/camera
-map mdc shell mv -v %s ~/doc/camera
-map Ydc shell cp -rv %s ~/doc/camera
-map gdf cd ~/doc/finances
-map tdf tab_new ~/doc/finances
-map mdf shell mv -v %s ~/doc/finances
-map Ydf shell cp -rv %s ~/doc/finances
-map gdg cd ~/doc/geodatahub
-map tdg tab_new ~/doc/geodatahub
-map mdg shell mv -v %s ~/doc/geodatahub
-map Ydg shell cp -rv %s ~/doc/geodatahub
-map gdp cd ~/doc/photography
-map tdp tab_new ~/doc/photography
-map mdp shell mv -v %s ~/doc/photography
-map Ydp shell cp -rv %s ~/doc/photography
-map gdr cd ~/doc/receipts
-map tdr tab_new ~/doc/receipts
-map mdr shell mv -v %s ~/doc/receipts
-map Ydr shell cp -rv %s ~/doc/receipts
-map gdt cd ~/doc/thinkpad_x220
-map tdt tab_new ~/doc/thinkpad_x220
-map mdt shell mv -v %s ~/doc/thinkpad_x220
-map Ydt shell cp -rv %s ~/doc/thinkpad_x220
-map gdv cd ~/doc/vigtige_papirer
-map tdv tab_new ~/doc/vigtige_papirer
-map mdv shell mv -v %s ~/doc/vigtige_papirer
-map Ydv shell cp -rv %s ~/doc/vigtige_papirer
-map ge cd /etc
-map te tab_new /etc
-map me shell mv -v %s /etc
-map Ye shell cp -rv %s /etc
-map gh cd ~/
-map th tab_new ~/
-map mh shell mv -v %s ~/
-map Yh shell cp -rv %s ~/
-map gmnt cd /mnt
-map tmnt tab_new /mnt
-map mmnt shell mv -v %s /mnt
-map Ymnt shell cp -rv %s /mnt
-map gM cd ~/music
-map tM tab_new ~/music
-map mM shell mv -v %s ~/music
-map YM shell cp -rv %s ~/music
-map gpp cd ~/photos
-map tpp tab_new ~/photos
-map mpp shell mv -v %s ~/photos
-map Ypp shell cp -rv %s ~/photos
-map gsrv cd /mnt/ad-server-volumes/ext2
-map tsrv tab_new /mnt/ad-server-volumes/ext2
-map msrv shell mv -v %s /mnt/ad-server-volumes/ext2
-map Ysrv shell cp -rv %s /mnt/ad-server-volumes/ext2
-map gt cd ~/tmp
-map tt tab_new ~/tmp
-map mt shell mv -v %s ~/tmp
-map Yt shell cp -rv %s ~/tmp
-map gu cd ~/uni
-map tu tab_new ~/uni
-map mu shell mv -v %s ~/uni
-map Yu shell cp -rv %s ~/uni
-map gue cd ~/uni/events
-map tue tab_new ~/uni/events
-map mue shell mv -v %s ~/uni/events
-map Yue shell cp -rv %s ~/uni/events
-map gup cd ~/uni/postdoc
-map tup tab_new ~/uni/postdoc
-map mup shell mv -v %s ~/uni/postdoc
-map Yup shell cp -rv %s ~/uni/postdoc
-map gupr cd ~/uni/presentations
-map tupr tab_new ~/uni/presentations
-map mupr shell mv -v %s ~/uni/presentations
-map Yupr shell cp -rv %s ~/uni/presentations
-map guj cd ~/uni/job
-map tuj tab_new ~/uni/job
-map muj shell mv -v %s ~/uni/job
-map Yuj shell cp -rv %s ~/uni/job
-map gujc cd ~/uni/job/cv
-map tujc tab_new ~/uni/job/cv
-map mujc shell mv -v %s ~/uni/job/cv
-map Yujc shell cp -rv %s ~/uni/job/cv
-map gvv cd ~/videos
-map tvv tab_new ~/videos
-map mvv shell mv -v %s ~/videos
-map Yvv shell cp -rv %s ~/videos
-map gvp cd ~/videos/photo
-map tvp tab_new ~/videos/photo
-map mvp shell mv -v %s ~/videos/photo
-map Yvp shell cp -rv %s ~/videos/photo
-map gvs cd ~/videos/science
-map tvs tab_new ~/videos/science
-map mvs shell mv -v %s ~/videos/science
-map Yvs shell cp -rv %s ~/videos/science
-map gvt cd ~/videos/tech
-map tvt tab_new ~/videos/tech
-map mvt shell mv -v %s ~/videos/tech
-map Yvt shell cp -rv %s ~/videos/tech
-map bf shell $EDITOR ~/.bmfiles
-map bd shell $EDITOR ~/.bmdirs
-map cfb shell $EDITOR ~/.config/i3/i3blocks
-map cfd shell $EDITOR ~/code/dotfiles/lib/dwm/config.h
-map cfm shell $EDITOR ~/.mutt/muttrc
-map cfn shell $EDITOR ~/.config/newsboat/config
-map cfr shell $EDITOR ~/.config/ranger/rc.conf
-map cfs shell $EDITOR ~/code/dotfiles/lib/st/config.h
-map cfS shell $EDITOR ~/code/dotfiles/lib/slstatus/config.h
-map cft shell $EDITOR ~/code/dotfiles/lib/tabbed/config.h
-map cfi shell $EDITOR ~/.config/i3/config
-map cfu shell $EDITOR ~/.config/newsboat/urls
-map cfv shell $EDITOR ~/.vim/vimrc
-map cfx shell $EDITOR ~/.xinitrc
-map cfX shell $EDITOR ~/.Xresources
-map cfz shell $EDITOR ~/.zshrc
-map cv shell $EDITOR ~/uni/job/cv/cv.tex
-map eb shell $EDITOR ~/articles/own/BIB.bib
-map gaa cd ~/articles
-map taa tab_new ~/articles
-map maa shell mv -v %s ~/articles
-map Yaa shell cp -rv %s ~/articles
-map gao cd ~/articles/own
-map tao tab_new ~/articles/own
-map mao shell mv -v %s ~/articles/own
-map Yao shell cp -rv %s ~/articles/own
-map gag cd ~/articles/glaciology_sedimentology
-map tag tab_new ~/articles/glaciology_sedimentology
-map mag shell mv -v %s ~/articles/glaciology_sedimentology
-map Yag shell cp -rv %s ~/articles/glaciology_sedimentology
-map gbin cd ~/bin
-map tbin tab_new ~/bin
-map mbin shell mv -v %s ~/bin
-map Ybin shell cp -rv %s ~/bin
-map gbb cd ~/books
-map tbb tab_new ~/books
-map mbb shell mv -v %s ~/books
-map Ybb shell cp -rv %s ~/books
-map gbc cd ~/books/cheatsheets
-map tbc tab_new ~/books/cheatsheets
-map mbc shell mv -v %s ~/books/cheatsheets
-map Ybc shell cp -rv %s ~/books/cheatsheets
-map gbd cd ~/books/db
-map tbd tab_new ~/books/db
-map mbd shell mv -v %s ~/books/db
-map Ybd shell cp -rv %s ~/books/db
-map gbf cd ~/books/fiction
-map tbf tab_new ~/books/fiction
-map mbf shell mv -v %s ~/books/fiction
-map Ybf shell cp -rv %s ~/books/fiction
-map gbg cd ~/books/golang
-map tbg tab_new ~/books/golang
-map mbg shell mv -v %s ~/books/golang
-map Ybg shell cp -rv %s ~/books/golang
-map gbl cd ~/books/linux
-map tbl tab_new ~/books/linux
-map mbl shell mv -v %s ~/books/linux
-map Ybl shell cp -rv %s ~/books/linux
-map gbn cd ~/books/netsec
-map tbn tab_new ~/books/netsec
-map mbn shell mv -v %s ~/books/netsec
-map Ybn shell cp -rv %s ~/books/netsec
-map gbp cd ~/books/photography
-map tbp tab_new ~/books/photography
-map mbp shell mv -v %s ~/books/photography
-map Ybp shell cp -rv %s ~/books/photography
-map gby cd ~/books/python
-map tby tab_new ~/books/python
-map mby shell mv -v %s ~/books/python
-map Yby shell cp -rv %s ~/books/python
-map gbs cd ~/books/science
-map tbs tab_new ~/books/science
-map mbs shell mv -v %s ~/books/science
-map Ybs shell cp -rv %s ~/books/science
-map gbv cd ~/books/vim
-map tbv tab_new ~/books/vim
-map mbv shell mv -v %s ~/books/vim
-map Ybv shell cp -rv %s ~/books/vim
-map gcf cd ~/.config
-map tcf tab_new ~/.config
-map mcf shell mv -v %s ~/.config
-map Ycf shell cp -rv %s ~/.config
-map gcg cd ~/code/geodatahub
-map tcg tab_new ~/code/geodatahub
-map mcg shell mv -v %s ~/code/geodatahub
-map Ycg shell cp -rv %s ~/code/geodatahub
-map gcm cd ~/code/mst
-map tcm tab_new ~/code/mst
-map mcm shell mv -v %s ~/code/mst
-map Ycm shell cp -rv %s ~/code/mst
-map gcs cd ~/code/sphere
-map tcs tab_new ~/code/sphere
-map mcs shell mv -v %s ~/code/sphere
-map Ycs shell cp -rv %s ~/code/sphere
-map gcw cd ~/code/webpage
-map tcw tab_new ~/code/webpage
-map mcw shell mv -v %s ~/code/webpage
-map Ycw shell cp -rv %s ~/code/webpage
-map gD cd ~/code/dotfiles
-map tD tab_new ~/code/dotfiles
-map mD shell mv -v %s ~/code/dotfiles
-map YD shell cp -rv %s ~/code/dotfiles
-map gdd cd ~/doc
-map tdd tab_new ~/doc
-map mdd shell mv -v %s ~/doc
-map Ydd shell cp -rv %s ~/doc
-map gdc cd ~/doc/camera
-map tdc tab_new ~/doc/camera
-map mdc shell mv -v %s ~/doc/camera
-map Ydc shell cp -rv %s ~/doc/camera
-map gdf cd ~/doc/finances
-map tdf tab_new ~/doc/finances
-map mdf shell mv -v %s ~/doc/finances
-map Ydf shell cp -rv %s ~/doc/finances
-map gdg cd ~/doc/geodatahub
-map tdg tab_new ~/doc/geodatahub
-map mdg shell mv -v %s ~/doc/geodatahub
-map Ydg shell cp -rv %s ~/doc/geodatahub
-map gdp cd ~/doc/photography
-map tdp tab_new ~/doc/photography
-map mdp shell mv -v %s ~/doc/photography
-map Ydp shell cp -rv %s ~/doc/photography
-map gdr cd ~/doc/receipts
-map tdr tab_new ~/doc/receipts
-map mdr shell mv -v %s ~/doc/receipts
-map Ydr shell cp -rv %s ~/doc/receipts
-map gdt cd ~/doc/thinkpad_x220
-map tdt tab_new ~/doc/thinkpad_x220
-map mdt shell mv -v %s ~/doc/thinkpad_x220
-map Ydt shell cp -rv %s ~/doc/thinkpad_x220
-map gdv cd ~/doc/vigtige_papirer
-map tdv tab_new ~/doc/vigtige_papirer
-map mdv shell mv -v %s ~/doc/vigtige_papirer
-map Ydv shell cp -rv %s ~/doc/vigtige_papirer
-map ge cd /etc
-map te tab_new /etc
-map me shell mv -v %s /etc
-map Ye shell cp -rv %s /etc
-map gh cd ~/
-map th tab_new ~/
-map mh shell mv -v %s ~/
-map Yh shell cp -rv %s ~/
-map gmnt cd /mnt
-map tmnt tab_new /mnt
-map mmnt shell mv -v %s /mnt
-map Ymnt shell cp -rv %s /mnt
-map gM cd ~/music
-map tM tab_new ~/music
-map mM shell mv -v %s ~/music
-map YM shell cp -rv %s ~/music
-map gpp cd ~/photos
-map tpp tab_new ~/photos
-map mpp shell mv -v %s ~/photos
-map Ypp shell cp -rv %s ~/photos
-map gsrv cd /mnt/ad-server-volumes/ext2
-map tsrv tab_new /mnt/ad-server-volumes/ext2
-map msrv shell mv -v %s /mnt/ad-server-volumes/ext2
-map Ysrv shell cp -rv %s /mnt/ad-server-volumes/ext2
-map gt cd ~/tmp
-map tt tab_new ~/tmp
-map mt shell mv -v %s ~/tmp
-map Yt shell cp -rv %s ~/tmp
-map gu cd ~/uni
-map tu tab_new ~/uni
-map mu shell mv -v %s ~/uni
-map Yu shell cp -rv %s ~/uni
-map gue cd ~/uni/events
-map tue tab_new ~/uni/events
-map mue shell mv -v %s ~/uni/events
-map Yue shell cp -rv %s ~/uni/events
-map gup cd ~/uni/postdoc
-map tup tab_new ~/uni/postdoc
-map mup shell mv -v %s ~/uni/postdoc
-map Yup shell cp -rv %s ~/uni/postdoc
-map gupr cd ~/uni/presentations
-map tupr tab_new ~/uni/presentations
-map mupr shell mv -v %s ~/uni/presentations
-map Yupr shell cp -rv %s ~/uni/presentations
-map guj cd ~/uni/job
-map tuj tab_new ~/uni/job
-map muj shell mv -v %s ~/uni/job
-map Yuj shell cp -rv %s ~/uni/job
-map gujc cd ~/uni/job/cv
-map tujc tab_new ~/uni/job/cv
-map mujc shell mv -v %s ~/uni/job/cv
-map Yujc shell cp -rv %s ~/uni/job/cv
-map gvv cd ~/videos
-map tvv tab_new ~/videos
-map mvv shell mv -v %s ~/videos
-map Yvv shell cp -rv %s ~/videos
-map gvp cd ~/videos/photo
-map tvp tab_new ~/videos/photo
-map mvp shell mv -v %s ~/videos/photo
-map Yvp shell cp -rv %s ~/videos/photo
-map gvs cd ~/videos/science
-map tvs tab_new ~/videos/science
-map mvs shell mv -v %s ~/videos/science
-map Yvs shell cp -rv %s ~/videos/science
-map gvt cd ~/videos/tech
-map tvt tab_new ~/videos/tech
-map mvt shell mv -v %s ~/videos/tech
-map Yvt shell cp -rv %s ~/videos/tech
-map bf shell $EDITOR ~/.bmfiles
-map bd shell $EDITOR ~/.bmdirs
-map cfb shell $EDITOR ~/.config/i3/i3blocks
-map cfd shell $EDITOR ~/code/dotfiles/lib/dwm/config.h
-map cfm shell $EDITOR ~/.mutt/muttrc
-map cfn shell $EDITOR ~/.config/newsboat/config
-map cfr shell $EDITOR ~/.config/ranger/rc.conf
-map cfs shell $EDITOR ~/code/dotfiles/lib/st/config.h
-map cfS shell $EDITOR ~/code/dotfiles/lib/slstatus/config.h
-map cft shell $EDITOR ~/code/dotfiles/lib/tabbed/config.h
-map cfi shell $EDITOR ~/.config/i3/config
-map cfu shell $EDITOR ~/.config/newsboat/urls
-map cfv shell $EDITOR ~/.vim/vimrc
-map cfx shell $EDITOR ~/.xinitrc
-map cfX shell $EDITOR ~/.Xresources
-map cfz shell $EDITOR ~/.zshrc
-map cv shell $EDITOR ~/uni/job/cv/cv.tex
-map eb shell $EDITOR ~/articles/own/BIB.bib
diff --git a/.config/rofi/config b/.config/rofi/config
@@ -1,2 +0,0 @@
-rofi.theme: /usr/share/rofi/themes/Monokai.rasi
-rofi.font: PragmataPro 10
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-#
-# BSPWM hotkeys
-#
-
-# Quit
-#super + alt + Escape
-super + shift + e
- pamixer --get-volume > ~/.volume \
- pkill panel
-
-# Balance tree
-super + b
- bspc desktop -B
-
-# Change windows params
-super + {g,f,s,l}
- bspc window -t {floating,fullscreen,sticky,locked}
-
-# Close window
-alt + w
- bspc window -c
-
-# Desktops
-super + {1-5}
- bspc desktop -f ^{1-5}
-
-# Move focus: super+h,j,k,l
-# Swap windows: super+shift+h,j,k,l
-super + {_,shift + }{h,j,k,l}
- bspc window --{focus,swap} {left,down,up,right}
-
-
-# Mouse
-~button1
- bspc pointer -g focus
-
-super + button{1-3}
- bspc pointer -g {move,resize_side,resize_corner}
-
-super + !button{1-3}
- bspc pointer -t %i %i
-
-super + @button{1-3}
- bspc pointer -u
-
-#
-# Non WM hotkeys
-#
-
-# URxvt
-super + Return
- urxvt -e tmux
-super + shift + Return
- urxvt
-
-# XTerm
-super + alt + Return
- xterm
-
-# dmenu
-super + space
- dmenu_wrapper
-
-# Reload SXHKD
-super + r
- pkill -USR1 -x sxhkd \
- ~/.config/bspwm/bspwmrc
diff --git a/.kwm/kwmrc b/.kwm/kwmrc
@@ -1,203 +0,0 @@
-# This is a sample config for Kwm
-# The commands listed here can be of
-# two types.
-#
-# Commands prefixed with 'kwmc' will call
-# local functions corresponding to the
-# kwmc syntax.
-#
-# To run a system command, use the prefix
-# 'sys' and then the requested command
-# e.g 'sys mvim' would open macvim
-
-# Read file and execute commands as
-# if they were written inside kwmrc.
-#
-# include filename
-#
-# e.g: bind-commands in a separate file called 'binds'
-# include binds
-
-# Set default values for screen padding
-kwmc config padding 40 20 20 20
-
-# Set default values for container gaps
-kwmc config gap 15 15
-
-# Default tiling mode for Kwm (bsp | monocle | float | off)
-kwmc config tiling float
-
-# Let Kwm listen for hotkeys
-kwmc config hotkeys on
-
-# Set prefix for Kwms hotkeys
-kwmc config prefix-key ctrl-x
-
-# Prefix is not applied globally
-kwmc config prefix-global off
-
-# Time in seconds, before prefix must be re-activated
-kwmc config prefix-timeout 0.75
-
-# Automatically float windows that fail to resize
-kwmc config float-non-resizable on
-
-# Set focus-follows-mouse-mode to autoraise
-kwmc config focus autoraise
-
-# Focus-follows-mouse is temporarily disabled when
-# a floating window has focus
-kwmc config focus standby-on-float on
-
-# The mouse will automatically move to the center
-# of the focused window
-kwmc config focus mouse-follows on
-
-# Allow window focus to wrap-around
-kwmc config cycle-focus screen
-
-# Default tiling mode for new spaces
-kwmc config space bsp
-
-# Override default settings for space 1 on screen 0
-# kwmc config space 0 1 mode monocle
-# kwmc config space 0 1 padding 100 100 100 100
-# kwmc config space 0 1 gap 40 40
-
-# Override default settings for screen 1
-# kwmc config screen 1 mode bsp
-# kwmc config screen 1 padding 100 100 100 100
-# kwmc config screen 1 gap 40 40
-
-# Set default container split-ratio
-kwmc config split-ratio 0.5
-
-# New splits become the left leaf-node
-kwmc config spawn left
-
-# Add custom tiling rules for applications that
-# does not get tiled by Kwm by default.
-# This is because some applications do not have the
-# AXWindowRole and AXStandardWindowSubRole
-kwmc config add-role AXDialog iTerm2
-
-# The following command blacklists a specific application
-# from Kwms tiling (PS: The app name is case-sensitive)
-# If the name consist of multiple words, the command
-# looks like: kwmc config float Google Chrome
-kwmc config float Steam
-kwmc config float Photoshop
-
-# The following command captures an application to the
-# given screen, if the screen exists. By doing this
-# the application can no longer be moved to other screens
-# kwmc config capture 1 iTunes
-
-# Enable border for focused window
-kwmc config focused-border on
-kwmc config focused-border size 5
-kwmc config focused-border color FFBDD322
-
-# Enable border for marked window
-kwmc config marked-border on
-kwmc config marked-border size 5
-kwmc config marked-border color FFCC5577
-
-# Change border color when prefix-key is active
-kwmc config prefix-border on
-kwmc config prefix-border size 5
-kwmc config prefix-border color FF458588
-
-######## Default Keybinds ########
-
-# Quit Kwm
-kwmc bind cmd+alt+ctrl-q quit
-
-# Launch iTerm2
-kwmc bind alt-return sys open -na /Applications/iTerm2.app
-
-# Toggle Focus Autoraise
-kwmc bind cmd+alt+ctrl-t config focus toggle
-
-# Set Space Tiling Mode To BSP
-kwmc bind alt+ctrl-a space -t bsp
-
-# Set Space Tiling Mode To Monocle
-kwmc bind alt+ctrl-s space -t monocle
-
-# Set Space Tiling Mode To Floating
-kwmc bind alt+ctrl-d space -t float
-
-# Rotate Window-Tree By 90* (Clockwise)
-kwmc bind alt+ctrl-r tree -r 90
-
-# Modify Container
-kwmc bind prefix-s window -c split
-kwmc bind prefix-h window -c reduce 0.05
-kwmc bind prefix-l window -c expand 0.05
-
-# Set Temporary Window Container
-kwmc bind prefix-f window -t fullscreen
-kwmc bind prefix-p window -t parent
-kwmc bind prefix-w window -t float
-
-# Mark Window
-kwmc bind cmd+alt+ctrl-m mark -w focused
-kwmc bind cmd+alt+ctrl-h mark -w west wrap
-kwmc bind cmd+alt+ctrl-l mark -w east wrap
-kwmc bind cmd+alt+ctrl-j mark -w south wrap
-kwmc bind cmd+alt+ctrl-k mark -w north wrap
-
-# Give Focus To Window
-kwmc bind alt-h window -f west
-kwmc bind alt-l window -f east
-kwmc bind alt-j window -f south
-kwmc bind alt-k window -f north
-
-# Give Focus To Screen
-#kwmc bind cmd+alt-1 screen -f 0
-#kwmc bind cmd+alt-2 screen -f 1
-#kwmc bind cmd+alt-3 screen -f 2
-
-# Move Focused Window
-kwmc bind alt+shift-h window -s west
-kwmc bind alt+shift-j window -s south
-kwmc bind alt+shift-k window -s north
-kwmc bind alt+shift-l window -s east
-
-# Swap With Marked Window
-kwmc bind ctrl+alt-m window -s mark
-
-# Detach Focused Window And Reinsert In Direction
-kwmc bind ctrl+shift-k window -x north
-kwmc bind ctrl+shift-l window -x east
-kwmc bind ctrl+shift-j window -x south
-kwmc bind ctrl+shift-h window -x west
-
-# Detach Marked Window And Reinsert At Focused Window
-kwmc bind ctrl+shift-x window -x mark
-
-# Move Focused Window To Screen
-kwmc bind alt+shift-1 screen -m 0
-kwmc bind alt+shift-2 screen -m 1
-kwmc bind alt+shift-3 screen -m 2
-
-# Increase Container Gaps
-kwmc bind prefix-x space -g increase horizontal
-kwmc bind prefix-y space -g increase vertical
-
-# Decrease Container Gaps
-kwmc bind prefix+shift-x space -g decrease horizontal
-kwmc bind prefix+shift-y space -g decrease vertical
-
-# Increase Screen Padding
-kwmc bind prefix-left space -p increase left
-kwmc bind prefix-right space -p increase right
-kwmc bind prefix-up space -p increase top
-kwmc bind prefix-down space -p increase bottom
-
-# Decrease Screen Padding
-kwmc bind prefix+shift-left space -p decrease left
-kwmc bind prefix+shift-right space -p decrease right
-kwmc bind prefix+shift-up space -p decrease top
-kwmc bind prefix+shift-down space -p decrease bottom
diff --git a/.spacemacs b/.spacemacs
@@ -1,275 +0,0 @@
-;; -*- mode: dotspacemacs -*-
-;; This file is loaded by Spacemacs at startup.
-;; It must be stored in your home directory.
-
-(defun dotspacemacs/layers ()
- "Configuration Layers declaration."
- (setq-default
- ;; List of additional paths where to look for configuration layers.
- ;; Paths must have a trailing slash (ie. `~/.mycontribs/')
- dotspacemacs-configuration-layer-path '()
- ;; List of configuration layers to load. If it is the symbol `all' instead
- ;; of a list then all discovered layers will be installed.
- dotspacemacs-configuration-layers
- '(
- ;; --------------------------------------------------------
- ;; Example of useful layers you may want to use right away
- ;; Uncomment a layer name and press SPC f e R to install it
- ;; --------------------------------------------------------
- auto-completion
- better-defaults
- git
- github
- ;diff-hl
- markdown
- org
- syntax-checking
- latex
- python
- c-c++
- html
- lua
- shell
- shell-scripts
- ;yasnippet
- osx
- tmux
- themes-megapack
- )
- ;; A list of packages and/or extensions that will not be install and loaded.
- dotspacemacs-excluded-packages '()
- ;; If non-nil spacemacs will delete any orphan packages, i.e. packages that
- ;; are declared in a layer which is not a member of
- ;; the list `dotspacemacs-configuration-layers'
- dotspacemacs-delete-orphan-packages t))
-
-
-(defun dotspacemacs/init ()
- "Initialization function.
-This function is called at the very startup of Spacemacs initialization
-before layers configuration."
- ;; This setq-default sexp is an exhaustive list of all the supported
- ;; spacemacs settings.
- (setq-default
- ;; Either `vim' or `emacs'. Evil is always enabled but if the variable
- ;; is `emacs' then the `holy-mode' is enabled at startup.
- dotspacemacs-editing-style 'vim
- ;; If non nil output loading progess in `*Messages*' buffer.
- dotspacemacs-verbose-loading nil
- ;; Specify the startup banner. Default value is `official', it displays
- ;; the official spacemacs logo. An integer value is the index of text
- ;; banner, `random' chooses a random text banner in `core/banners'
- ;; directory. A string value must be a path to a .PNG file.
- ;; If the value is nil then no banner is displayed.
- ;; dotspacemacs-startup-banner 'official
- dotspacemacs-startup-banner 'official
- ;; t if you always want to see the changelog at startup
- dotspacemacs-always-show-changelog t
- ;; List of items to show in the startup buffer. If nil it is disabled.
- ;; Possible values are: `recents' `bookmarks' `projects'."
- dotspacemacs-startup-lists '(recents projects)
- ;; List of themes, the first of the list is loaded when spacemacs starts.
- ;; Press <SPC> T n to cycle to the next theme in the list (works great
- ;; with 2 themes variants, one dark and one light)
- ;; see theme gallery at http://themegallery.robdor.com
- dotspacemacs-themes '(spacemacs-dark
- solarized-dark
- solarized-light
- spacemacs-light
- leuven
- )
- ;; If non nil the cursor color matches the state color.
- dotspacemacs-colorize-cursor-according-to-state t
- ;; Default font. `powerline-scale' allows to quickly tweak the mode-line
- ;; size to make separators look not too crappy.
- ;dotspacemacs-default-font '("Source Code Pro"
- ; :size 13
- ; :weight normal
- ; :width normal
- ; :powerline-scale 1.1)
- dotspacemacs-default-font '("PragmataPro"
- :size 14
- :weight normal
- :width normal
- :powerline-scale 1.1)
- ;; The leader key
- dotspacemacs-leader-key "SPC"
- ;; Escape sequence
- evil-escape-key-sequence "jk"
- ;; The leader key accessible in `emacs state' and `insert state'
- dotspacemacs-emacs-leader-key "M-m"
- ;; Major mode leader key is a shortcut key which is the equivalent of
- ;; pressing `<leader> m`. Set it to `nil` to disable it.
- dotspacemacs-major-mode-leader-key ","
- ;; Major mode leader key accessible in `emacs state' and `insert state'
- dotspacemacs-major-mode-emacs-leader-key "C-M-m"
- ;; The command key used for Evil commands (ex-commands) and
- ;; Emacs commands (M-x).
- ;; By default the command key is `:' so ex-commands are executed like in Vim
- ;; with `:' and Emacs commands are executed with `<leader> :'.
- dotspacemacs-command-key ":"
- ;; If non nil the paste micro-state is enabled. While enabled pressing `p`
- ;; several times cycle between the kill ring content.
- dotspacemacs-enable-paste-micro-state t
- ;; Guide-key delay in seconds. The Guide-key is the popup buffer listing
- ;; the commands bound to the current keystrokes.
- dotspacemacs-guide-key-delay 0.4
- ;; If non nil a progress bar is displayed when spacemacs is loading. This
- ;; may increase the boot time on some systems and emacs builds, set it to
- ;; nil ;; to boost the loading time.
- dotspacemacs-loading-progress-bar t
- ;; If non nil the frame is fullscreen when Emacs starts up.
- ;; (Emacs 24.4+ only)
- dotspacemacs-fullscreen-at-startup nil
- ;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen.
- ;; Use to disable fullscreen animations in OSX."
- dotspacemacs-fullscreen-use-non-native nil
- ;; If non nil the frame is maximized when Emacs starts up.
- ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil.
- ;; (Emacs 24.4+ only)
- dotspacemacs-maximized-at-startup nil
- ;; A value from the range (0..100), in increasing opacity, which describes
- ;; the transparency level of a frame when it's active or selected.
- ;; Transparency can be toggled through `toggle-transparency'.
- dotspacemacs-active-transparency 90
- ;; A value from the range (0..100), in increasing opacity, which describes
- ;; the transparency level of a frame when it's inactive or deselected.
- ;; Transparency can be toggled through `toggle-transparency'.
- dotspacemacs-inactive-transparency 90
- ;; If non nil unicode symbols are displayed in the mode line.
- dotspacemacs-mode-line-unicode-symbols t
- ;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth
- ;; scrolling overrides the default behavior of Emacs which recenters the
- ;; point when it reaches the top or bottom of the screen.
- dotspacemacs-smooth-scrolling t
- ;; If non-nil smartparens-strict-mode will be enabled in programming modes.
- dotspacemacs-smartparens-strict-mode nil
- ;; If non nil advises quit functions to keep server open when quitting.
- dotspacemacs-persistent-server nil
- ;; List of search tool executable names. Spacemacs uses the first installed
- ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'.
- dotspacemacs-search-tools '("ag" "pt" "ack" "grep")
- ;; The default package repository used if no explicit repository has been
- ;; specified with an installed package.
- ;; Not used for now.
- dotspacemacs-default-package-repository nil
- )
- ;; User initialization goes here
- (define-key global-map (kbd "RET") 'reindent-then-newline-and-indent)
- )
-
-(defun dotspacemacs/user-config ()
- "Configuration function.
- This function is called at the very end of Spacemacs initialization after
-layers configuration."
-
- ;; Scroll compile window
- ;(setq compilation-scroll-output t)
- ;; Scroll compile window until first error
- (setq compilation-scroll-output 'first-error)
-
- ;; Indentation rules
- (setq-default indent-tabs-mode nil)
- (setq-default tab-width 4)
- (setq c-default-style "linux" c-basic-offset 4)
-
- ;; disable background color in terminal
- (custom-set-faces (if (not window-system) '(default ((t (:background "nil"))))))
-
- ;; text lines limit to 80 characters
- (setq fill-column 80)
- (add-hook 'text-mode-hook 'turn-on-auto-fill)
- (setq-default fci-rule-column 80)
- (setq fci-rule-width 1) ;; width in px
- (setq fci-rule-color "#073642") ;; color
- (defun sanityinc/fci-enabled-p () (symbol-value 'fci-mode))
-
- ;; use latexmk for pdf export
- ;(setq org-latex-to-pdf-process (list "latexmk -pdf %f"))
- (setq org-latex-pdf-process
- '("pdflatex -interaction nonstopmode -output-directory %o %f"
- "bibtex %b"
- "pdflatex -interaction nonstopmode -output-directory %o %f"
- "pdflatex -interaction nonstopmode -output-directory %o %f"))
- (setq reftex-default-bibliography
- '("/home/ad/articles/own/BIBnew.bib"))
- (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode
- (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode
- (add-hook 'org-mode-hook 'turn-on-reftex) ; with Org mode
- (setq reftex-cite-format 'natbib)
-
- ;; set pdf viewer on OSX and Linux
- (cond
- ((string-equal system-type "darwin")
- (progn (setq TeX-view-program-selection '((output-pdf "Skim")))))
- ((string-equal system-type "gnu/linux")
- (progn (setq TeX-view-program-selection '((output-pdf "Okular"))))))
-
- ;; enable PDF-LaTeX synchronization
- ;; press SPC m v to highlight line in PDF
- ;; press shift cmd and click in PDF to show line in sourcecode
- (setq TeX-source-correlate-mode t)
- (setq TeX-source-correlate-start-server t)
- (setq TeX-source-correlate-method 'synctex)
- (setq TeX-view-program-list
- '(("Okular" "okular --unique %o#src:%n%b")
- ("Skim" "displayline -b -g %n %o %b")))
-
- ;; control which languages are enabled for execution in org-mode with C-c C-c
- ;; see http://orgmode.org/org.html#Languages
- (require 'ob-C)
- (require 'ob-gnuplot)
- (require 'ob-octave)
- (require 'ob-latex)
- (require 'ob-python)
- (require 'ob-sh)
- ;(require 'ob-julia)
-
- ;; syntax highlighting in source code blocks
- (setq org-src-fontify-natively t)
-
- ;; use python from anaconda
- ;(setq python-shell-virtualenv-path "~/anaconda/bin")
-
- ;; always show battery info
- ;(spacemacs/mode-line-battery-info-toggle)
- (spacemacs/toggle-mode-line-battery)
-
- ;; always show line numbers
- (spacemacs/toggle-line-numbers)
-
-
- ;; always open spacemacs buffer, also with emacsclient
- (setq initial-buffer-choice
- (lambda ()
- (get-buffer "*spacemacs*")))
-)
-
-
-;; Do not write anything past this comment. This is where Emacs will
-;; auto-generate custom variable definitions.
-
-(custom-set-variables
- ;; custom-set-variables was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- '(ahs-case-fold-search nil t)
- '(ahs-default-range (quote ahs-range-whole-buffer) t)
- '(ahs-idle-interval 0.25 t)
- '(ahs-idle-timer 0 t)
- '(ahs-inhibit-face-list nil t)
- '(expand-region-contract-fast-key "V")
- '(expand-region-reset-fast-key "r")
- '(org-agenda-files (quote ("~/doc/org-mode-hints.org")))
- '(package-selected-packages
- (quote
- (yapfify uuidgen py-isort pug-mode osx-dictionary org-projectile org org-download mwim live-py-mode link-hint github-search eyebrowse evil-visual-mark-mode evil-unimpaired evil-ediff goto-chg undo-tree eshell-z dumb-jump diminish darkokai-theme company-shell column-enforce-mode auctex-latexmk zonokai-theme zenburn-theme zen-and-art-theme xterm-color ws-butler window-numbering web-mode volatile-highlights vi-tilde-fringe underwater-theme ujelly-theme twilight-theme twilight-bright-theme twilight-anti-bright-theme tronesque-theme toxi-theme toc-org tao-theme tangotango-theme tango-plus-theme tango-2-theme tagedit sunny-day-theme sublime-themes subatomic256-theme subatomic-theme stekene-theme spaceline powerline spacegray-theme soothe-theme soft-stone-theme soft-morning-theme soft-charcoal-theme smyx-theme smooth-scrolling smeargle slim-mode shell-pop seti-theme scss-mode sass-mode reverse-theme reveal-in-osx-finder restart-emacs rainbow-delimiters railscasts-theme pyvenv pytest pyenv-mode py-yapf purple-haze-theme professional-theme popwin planet-theme pip-requirements phoenix-dark-pink-theme phoenix-dark-mono-theme persp-mode pcre2el pbcopy pastels-on-dark-theme paradox hydra spinner page-break-lines osx-trash orgit organic-green-theme org-repo-todo org-present org-pomodoro alert log4e gntp org-plus-contrib org-bullets open-junk-file omtose-phellack-theme oldlace-theme occidental-theme obsidian-theme noctilux-theme niflheim-theme neotree naquadah-theme mustang-theme multi-term move-text monokai-theme monochrome-theme molokai-theme moe-theme mmm-mode minimal-theme material-theme markdown-toc markdown-mode majapahit-theme magit-gitflow magit-gh-pulls lush-theme lua-mode lorem-ipsum linum-relative light-soap-theme leuven-theme less-css-mode launchctl jbeans-theme jazz-theme jade-mode ir-black-theme inkpot-theme info+ indent-guide ido-vertical-mode hy-mode hungry-delete htmlize hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation heroku-theme hemisu-theme help-fns+ helm-themes helm-swoop helm-pydoc helm-projectile helm-mode-manager helm-make projectile helm-gitignore request helm-flx helm-descbinds helm-css-scss helm-company helm-c-yasnippet helm-ag hc-zenburn-theme haml-mode gruvbox-theme gruber-darker-theme grandshell-theme gotham-theme google-translate golden-ratio gnuplot gitignore-mode github-clone github-browse-file gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link gist gh marshal logito pcache ht gh-md gandalf-theme flycheck-pos-tip flycheck pkg-info epl flx-ido flx flatui-theme flatland-theme fish-mode firebelly-theme fill-column-indicator farmhouse-theme fancy-battery expand-region exec-path-from-shell evil-visualstar evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-magit magit magit-popup git-commit with-editor evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu highlight espresso-theme eshell-prompt-extras esh-help emmet-mode dracula-theme django-theme disaster define-word darktooth-theme darkmine-theme darkburn-theme dakrone-theme cython-mode cyberpunk-theme company-web web-completion-data company-statistics company-quickhelp pos-tip company-c-headers company-auctex company-anaconda company colorsarenice-theme color-theme-sanityinc-tomorrow color-theme-sanityinc-solarized cmake-mode clues-theme clean-aindent-mode clang-format cherry-blossom-theme busybee-theme buffer-move bubbleberry-theme bracketed-paste birds-of-paradise-plus-theme badwolf-theme auto-yasnippet yasnippet auto-highlight-symbol auctex apropospriate-theme anti-zenburn-theme anaconda-mode pythonic f dash s ample-zen-theme ample-theme alect-themes aggressive-indent afternoon-theme adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core async ac-ispell auto-complete popup quelpa package-build use-package which-key bind-key bind-map evil spacemacs-theme)))
- '(ring-bell-function (quote ignore)))
-(custom-set-faces
- ;; custom-set-faces was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- )
-
diff --git a/.taskrc b/.taskrc
@@ -1,31 +0,0 @@
-# [Created by task 2.5.1 5/9/2018 15:16:45]
-# Taskwarrior program configuration file.
-# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color',
-# 'man task-sync' or 'man taskrc'
-
-# Here is an example of entries that use the default, override and blank values
-# variable=foo -- By specifying a value, this overrides the default
-# variable= -- By specifying no value, this means no default
-# #variable=foo -- By commenting out the line, or deleting it, this uses the default
-
-# Use the command 'task show' to see all defaults and overrides
-
-# Files
-data.location=~/doc/.task
-
-# Color theme (uncomment one to use)
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/light-16.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/light-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-16.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-red-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-green-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-blue-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-violets-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-yellow-green.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-gray-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-gray-blue-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/solarized-dark-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/solarized-light-256.theme
-#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/no-color.theme
-
diff --git a/.tmuxinator/article2.yml b/.tmuxinator/article2.yml
@@ -1,23 +0,0 @@
-# ~/.tmuxinator/article2.yml
-
-name: article2
-#root: ~/articles/own/2-org
-root: ~/articles/own/2
-
-# Optional tmux socket
-# socket_name: foo
-
-# Runs before everything. Use it to start daemons etc.
-# pre: sudo /etc/rc.d/mysqld start
-
-# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
-# pre_window: rbenv shell 2.0.0-p247
-
-# Pass command line options to tmux. Useful for specifying a different tmux.conf.
-# tmux_options: -f ~/.tmux.mac.conf
-
-# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
-# tmux_command: byobu
-
-windows:
- - editor: make view &>/dev/null & ; make edit
diff --git a/.tmuxinator/cosmo.yml b/.tmuxinator/cosmo.yml
@@ -1,37 +0,0 @@
-# ~/.tmuxinator/cosmo.yml
-
-name: cosmo
-root: ~/src/cosmo/
-#root: ~/Sites/cosmo/
-
-# Optional tmux socket
-# socket_name: foo
-
-# Runs before everything. Use it to start daemons etc.
-# pre: sudo /etc/rc.d/mysqld start
-
-# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
-# pre_window: rbenv shell 2.0.0-p247
-
-# Pass command line options to tmux. Useful for specifying a different tmux.conf.
-# tmux_options: -f ~/.tmux.mac.conf
-
-# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
-# tmux_command: byobu
-
-# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
-# startup_window: logs
-
-# Controls whether the tmux session should be attached to automatically. Defaults to true.
-# attach: false
-
-# Runs after everything. Use it to attach to tmux with custom options etc.
-# post: tmux -CC attach -t cosmo
-
-windows:
- - editor: vim index.php
- - server: bash ~/bin/cosmo-ssh
- - git: tig
- - backup: make && watch -n 60 rsync -rav ~/code/cosmo/ ~/src/cosmo-backup/
- #- /tmp: cd /tmp && ls -lahG cosmo_*
- - utility:
diff --git a/.tmuxinator/dev.yml b/.tmuxinator/dev.yml
@@ -1,40 +0,0 @@
-# ~/.tmuxinator/dev.yml
-
-name: dev
-root: ~/code/sphere-cfd
-
-# Optional tmux socket
-# socket_name: foo
-
-# Runs before everything. Use it to start daemons etc.
-# pre: sudo /etc/rc.d/mysqld start
-
-# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
-# pre_window: rbenv shell 2.0.0-p247
-
-# Pass command line options to tmux. Useful for specifying a different tmux.conf.
-# tmux_options: -f ~/.tmux.mac.conf
-
-# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
-# tmux_command: byobu
-
-windows:
- - dev: vim
- - debug:
- layout: even-horizontal
- panes:
- - git pull && cmake . && make && make test
- - watch nvidia-smi
- - run:
- layout: main-vertical
- panes:
- - cd python && ipython -i -c 'import numpy; import sphere'
- - cd python
- - cd python
- - log: cd python
-
- - grendel:
- layout: even-horizontal
- panes:
- - ssh grendel.cscaa.dk
- - ssh grendel.cscaa.dk
diff --git a/.tmuxinator/tmuxinator.bash b/.tmuxinator/tmuxinator.bash
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-
-_tmuxinator() {
- COMPREPLY=()
- local word="${COMP_WORDS[COMP_CWORD]}"
-
- if [ "$COMP_CWORD" -eq 1 ]; then
- local commands="$(compgen -W "$(tmuxinator commands)" -- "$word")"
- local projects="$(compgen -W "$(tmuxinator completions start)" -- "$word")"
-
- COMPREPLY=( $commands $projects )
- else
- local words=("${COMP_WORDS[@]}")
- unset words[0]
- unset words[$COMP_CWORD]
- local completions=$(tmuxinator completions "${words[@]}")
- COMPREPLY=( $(compgen -W "$completions" -- "$word") )
- fi
-}
-
-complete -F _tmuxinator tmuxinator mux
diff --git a/.tmuxinator/tmuxinator.zsh b/.tmuxinator/tmuxinator.zsh
@@ -1,20 +0,0 @@
-#!/usr/bin/env zsh
-
-if [[ ! -o interactive ]]; then
- return
-fi
-
-compctl -K _tmuxinator tmuxinator mux
-
-_tmuxinator() {
- local words completions
- read -cA words
-
- if [ "${#words}" -eq 2 ]; then
- completions="$(tmuxinator commands)"
- else
- completions="$(tmuxinator completions ${words[2,-2]})"
- fi
-
- reply=("${(ps:\n:)completions}")
-}
diff --git a/.tmuxinator/tutorial.yml b/.tmuxinator/tutorial.yml
@@ -1,28 +0,0 @@
-# ~/.tmuxinator/tutorial.yml
-
-name: tutorial
-root: ~/
-
-# Optional tmux socket
-# socket_name: foo
-
-# Runs before everything. Use it to start daemons etc.
-# pre: sudo /etc/rc.d/mysqld start
-
-# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
-# pre_window: rbenv shell 2.0.0-p247
-
-# Pass command line options to tmux. Useful for specifying a different tmux.conf.
-# tmux_options: -f ~/.tmux.mac.conf
-
-# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
-# tmux_command: byobu
-
-windows:
- - editor:
- layout: main-vertical
- panes:
- - vim
- - guard
- - server: bundle exec rails s
- - logs: tail -f log/development.log
diff --git a/.tmuxinator/utility.yml b/.tmuxinator/utility.yml
@@ -1,54 +0,0 @@
-# ~/.tmuxinator/utility.yml
-
-name: utility
-root: ~/
-pre: bash ~/bin/export_x_info.sh && mpd
-
-# Optional tmux socket
-# socket_name: foo
-
-# Runs before everything. Use it to start daemons etc.
-# pre: sudo /etc/rc.d/mysqld start
-
-# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
-# pre_window: rbenv shell 2.0.0-p247
-
-# Pass command line options to tmux. Useful for specifying a different tmux.conf.
-# tmux_options: -f ~/.tmux.mac.conf
-
-# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
-# tmux_command: byobu
-
-windows:
- - m&m:
- layout: even-vertical
- panes:
- - mutt
- - vimpc
- - sphere:
- layout: even-vertical
- panes:
- - cd ~/code/sphere/ && watch -n 10 nvidia-smi
- - cd ~/code/sphere/python && ipython -i -c "import sphere, numpy"
- #- cd ~/code/sphere/python && git log --oneline
- - cd ~/code/sphere/python && tig
- - iddqd:
- panes:
- - bash ~/bin/iddqd-ssh
- - dotfiles:
- layout: even-vertical
- panes:
- - cd ~/code/dotfiles
- - cd ~/code/dotfiles
-
-# - sys:
-# layout: main-vertical
-# panes:
-# - htop
-# - zsh
-# - twitter: rainbowstream #--image-on-term
-# - audio:
-# layout: main-vertical
-# panes:
-# - vimpc
-# - alsamixer
diff --git a/.vimperator/colors/darkness2.vimp b/.vimperator/colors/darkness2.vimp
@@ -1,68 +0,0 @@
-" ==Vimperator_Color_Scheme==
-" name: Darkness
-" ==Darkness_Colorscheme_Settings==
-
-"StatusLine settings
-"hi StatusLine color: #ffffff; background: #000000; "font-size: 8pt;
-hi StatusLine color: #ffffff; background: #000000; font-size: 8pt;
-"hi StatusLineBroken color: #000000; background: #afafff; "font-size: 8pt;
-"hi StatusLineSecure color: #000000; background: #afffaf; "font-size: 8pt;
-
-"CmdLine settings excluding Gradient
-hi Normal color: #afafaf; background: #222222;
-hi CmdLine background: #222222; color: #afafaf; font-size: 9pt;
-hi CompDesc color: #c6c6c6; width: 50%; font-size: 9pt;
-hi CompIcon width: 16px; min-width: 16px; display: inline-block; margin-right: .5ex;
-hi CompItem[selected] background: #666666; color: #afafaf;
-"hi CompLess text-align: center; height: 0; line-height: .5ex; padding-top: 1ex;
-"hi CompMore text-align: center; height: .5ex; line-height: .5ex; margin-bottom: -.5ex;
-hi CompMsg font-style: italic; margin-left: 16px;
-hi CompResult width: 45%; overflow: hidden;font-size: 10pt; font-family: monospace; font-weight: normal;
-hi CompTitle color: #afafaf; background: #222222; font-weight: bold;
-hi CompTitle>* padding: 0 .5ex;
-hi Filter font-weight: bold;color: #afafaf;
-
-"When using tab complete in CmdLine, line separating Title from function and description
-"hi Gradient height: 1px; margin-bottom: -1px; margin-top: -1px;
-"hi GradientLeft background-color: #00bbff;
-"hi GradientRight background-color: #222222;
-
-"Used with ]f and [f
-hi FrameIndicator background-color: #222222; opacity: 0.5; z-index: 999; position: fixed; top: 0; bottom: 0; left: 0; right: 0;
-
-hi Bell border: 0 none; background-color: #222222;
-hi ErrorMsg color: #ffffff; background: red; font-weight: bold;
-
-
-"Hint section
-"hi Hint font-family: Sans; font-size: 10px; font-weight: bold; color: #f6e9e9; background-color: red; border-color: ButtonShadow; border-width: 0px; border-style: solid; padding 0px 1px 0px 1px;
-hi Hint font-family: Sans; font-size: 12px; font-weight: bold; color: white; background-color: rgba(0, 0, 0, 0.5); border: solid 1px LightGray;
-hi Hint::after content: attr(number);
-hi HintActive background: blue; color: #f6e9e9;
-hi HintElem background-color: #222222; color: #f6e9e9;
-hi HintImage opacity: .5;
-
-"Other important stuff
-hi InfoMsg color: #afafaf; background: #222222;
-hi Message white-space: normal; min-width: 100%; padding-left: 2em; text-indent: -2em; display: block;
-hi WarningMsg color: red; background: #222222;
-hi ModeMsg color: #afafaf; background: #222222; "CmdLine when Not in Use
-hi MoreMsg color: #afafaf; background: #222222;
-hi NonText color: lightblue; min-height: 16px; padding-left: 2px;
-hi Question color: #ffffff; background: #222222; font-weight: bold;
-"hi Search font-size: inherit; padding: 0; color: #222222; background-color: yellow; padding: 0;
-hi Function color: lightgreen; background: #222222;
-hi Number color: tan; background: #222222
-hi String color: #222222; background: #afafaf;
-hi Tag color: #222222; background: #afafaf;
-hi Title color: #222222; background: #afafaf; font-weight: bold;
-hi URL text-decoration: none; color: lightblue; background: inherit;
-hi URL:hover text-decoration: underline; cursor: pointer;
-hi LineNr color: #afafaf; background: #222222;
-
-"style -name statusbar chrome://* <<EOM
-"#status-bar statusbarpanel { padding: 0 1px !important; }
-"statusbarpanel > * { margin: 0 !important; padding: 0 2px 0 0 !important; }
-"EOM
-
-"For other descriptions of each item, please see ``Styling'' section included with Vimperator
diff --git a/.vimperator/colors/phallus.vimp b/.vimperator/colors/phallus.vimp
@@ -1,75 +0,0 @@
-" ==Vimperator_Color_Scheme==
-" name: Darkness
-" ==Darkness_Colorscheme_Settings==
-
-"StatusLine settings
-hi StatusLine color: #9a875f; background: #181512; font-size: 8pt;
-"hi StatusLineBroken color: #9a875f; background: #f9f9f9; "font-size: 8pt;
-"hi StatusLineSecure color: #9a875f; background: #f9f9f9; "font-size: 8pt;
-
-"CmdLine settings excluding Gradient
-hi Normal color: #9a875f; background: #181512;
-hi CmdLine background: #181512; color: #9f7155; font-size: 9pt;
-hi CompDesc color: #766782; width: 50%; font-size: 9pt;
-hi CompIcon width: 0px; min-width: 0px; visibility: hidden; display: inline-block; margin-right: .5ex;
-hi CompItem[selected] background: #181512; color: #D6C3B6;
-"hi CompLess text-align: center; height: 0; line-height: .5ex; padding-top: 1ex;
-"hi CompMore text-align: center; height: .5ex; line-height: .5ex; margin-bottom: -.5ex;
-hi CompMsg font-style: italic; margin-left: 12px;
-hi CompResult width: 45%; overflow: hidden;font-size: 10pt; font-family: lemon; font-weight: normal;
-hi CompTitle color: #646a6d; background: #181512;
-hi CompTitle>* padding: 0 .5ex;
-hi Filter color: #afafaf;
-
-"When using tab complete in CmdLine, line separating Title from function and description
-"hi Gradient height: 1px; margin-bottom: -1px; margin-top: -1px;
-"hi GradientLeft background-color: #181512;
-"hi GradientRight background-color: #181512;
-
-"Used with ]f and [f
-hi FrameIndicator background-color: #3f3f3f; opacity: 0.5; z-index: 999; position: fixed; top: 0; bottom: 0; left: 0; right: 0;
-
-hi Bell border: 0 none; background-color: #181512;
-hi ErrorMsg color: #1c1c1c; background: #181512;
-
-
-"Hint section
-"hi Hint font-family: Sans; font-size: 10px; color: #f6e9e9; background-color: red; border-color: ButtonShadow; border-width: 0px; border-style: solid; padding 0px 1px 0px 1px;
-hi Hint font-family: lemon; font-size: 10px; color: white; background-color: rgba(0, 0, 0, 0.5); border: solid 1px black;
-hi Hint::after content: attr(number);
-hi HintActive background-color: rgba(0,0,0,0.5);
-hi HintElem 0;
-hi HintImage opacity: .5;
-
-"Other important stuff
-hi InfoMsg color: #1c1c1c; background: #181512;
-hi Message white-space: normal; min-width: 100%; padding-left: 2em; text-indent: -2em; display: block;
-hi WarningMsg color: 1c1c1c; background: #181512;
-hi ModeMsg color: #1c1c1c; background: #181512; "CmdLine when Not in Use
-hi MoreMsg color: #1c1c1c; background: #181512;
-hi NonText color: lightblue; min-height: 16px; padding-left: 2px;
-hi Question color: #1c1c1c; background: #181512;
-"hi Search font-size: inherit; padding: 0; color: #eab9d5; background-color: black; padding: 0;
-hi Function color: #9a875f; background: #181512;
-hi Number color: #9a875f; background: #181512;
-hi String color: #9a875f; background: #181512;
-hi Tag color: #9a875f; background: #181512;
-hi Title color: #1c1c1c; background: #181512;
-hi URL text-decoration: none; color: lightblue; background: inherit;
-hi URL:hover text-decoration: underline; cursor: pointer;
-hi LineNr color: #9a875f; background: #181512;
-
-"style -name statusbar chrome://* <<EOM
-"#status-bar statusbarpanel { padding: 0 1px !important; }
-"statusbarpanel > * { margin: 0 !important; padding: 0 2px 0 0 !important; }
-"EOM
-
-hi ContentSeparator border-top: 0px;
-
-"For other descriptions of each item, please see ``Styling'' section included with Vimperator
-
-hi CmdLine>* font-family: lemon
-hi CompDesc font-family: lemon
-hi CompResult font-family: lemon
-hi StatusLine font-family: lemon
-hi PromptText width: 0px
diff --git a/.vimperatorrc b/.vimperatorrc
@@ -1,47 +0,0 @@
-""" VIMPERATOR Firefox plugin configuration
-" see https://github.com/mashiro/dot-files/blob/master/.vimperatorrc
-
-"colors darkness2
-
-highlight Bell display: none;
-
-""" What characters to use for labeling hints (f)
-" Numbers only
-"set hintchars=0123456789
-" Home row
-"set hintchars=hjklasdf
-" Smart row
-set hintchars=hjklasdfgyuiopqwertnmzxcvb
-"set hintchars=hutenosa
-
-" Define appearance of hints (CSS)
-highlight Hint font-size:150%;color:black;background-color:yellow;padding:2px;
-
-""" Default search engine
-" Manage search engines with `:dialog searchengine`
-"set defsearch=startpage
-set defsearch=duckduckgo
-
-""" General options
-set complete=slS
-set newtab=all
-set popups=tab
-set nohlsearch
-set ignorecase
-set incsearch
-set smartcase
-set focuscontent
-set visualbell
-set toolbars=noaddons,nobookmarks,nomenu,nonavigation,tabs
-
-""" about:config
-"set! general.autoScroll=false
-"set! browser.tabs.closeButtons=2
-"set! mousewheel.withnokey.numlines=6
-
-""" Scrolling
-nnoremap j 3j
-nnoremap k 3k
-
-
-" vim: ts=2 sw=2 sts=2 fdm=marker ft=vimperator