Update 2022-12-04 23:38 OpenBSD/amd64
This commit is contained in:
parent
090aa5276f
commit
b0cd2fe369
287
.config/luakit/rc.lua
Normal file
287
.config/luakit/rc.lua
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
-----------------------------------------------------------------------
|
||||||
|
-- luakit configuration file, more information at http://luakit.org/ --
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
require "lfs"
|
||||||
|
|
||||||
|
local unique_instance = require "unique_instance"
|
||||||
|
unique_instance.open_links_in_new_window = true
|
||||||
|
|
||||||
|
-- Set the number of web processes to use. A value of 0 means 'no limit'.
|
||||||
|
luakit.process_limit = 8
|
||||||
|
|
||||||
|
-- Load library of useful functions for luakit
|
||||||
|
local lousy = require "lousy"
|
||||||
|
|
||||||
|
-- Cookie acceptance policy
|
||||||
|
soup.accept_policy = "always" -- always, never, no_third_party
|
||||||
|
|
||||||
|
-- Cookie storage location
|
||||||
|
soup.cookies_storage = luakit.data_dir .. "/cookies.db"
|
||||||
|
|
||||||
|
-- Load users theme
|
||||||
|
lousy.theme.init(lousy.util.find_config("theme.lua"))
|
||||||
|
assert(lousy.theme.get(), "failed to load theme")
|
||||||
|
|
||||||
|
-- Load users window class
|
||||||
|
local window = require "window"
|
||||||
|
|
||||||
|
-- Load users webview class
|
||||||
|
local webview = require "webview"
|
||||||
|
|
||||||
|
-- Add luakit://log/ chrome page
|
||||||
|
local log_chrome = require "log_chrome"
|
||||||
|
|
||||||
|
window.add_signal("build", function (w)
|
||||||
|
local widgets, l, r = require "lousy.widget", w.sbar.l, w.sbar.r
|
||||||
|
|
||||||
|
-- Left-aligned status bar widgets
|
||||||
|
l.layout:pack(widgets.zoom())
|
||||||
|
l.layout:pack(widgets.uri())
|
||||||
|
l.layout:pack(widgets.hist())
|
||||||
|
l.layout:pack(widgets.progress())
|
||||||
|
|
||||||
|
-- Right-aligned status bar widgets
|
||||||
|
r.layout:pack(widgets.buf())
|
||||||
|
r.layout:pack(log_chrome.widget())
|
||||||
|
r.layout:pack(widgets.ssl())
|
||||||
|
r.layout:pack(widgets.tabi())
|
||||||
|
r.layout:pack(widgets.scroll())
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Load luakit binds and modes
|
||||||
|
local modes = require "modes"
|
||||||
|
local binds = require "binds"
|
||||||
|
|
||||||
|
-- Settings (the commented ones do not [yet] work)
|
||||||
|
local settings = require "settings"
|
||||||
|
local settings_chrome = require "settings_chrome"
|
||||||
|
|
||||||
|
settings.window.home_page = "luakit://newtab"
|
||||||
|
settings.window.scroll_step = 20
|
||||||
|
settings.window.zoom_step = 0.2
|
||||||
|
settings.webview.zoom_level = 150
|
||||||
|
settings.window.close_with_last_tab = true
|
||||||
|
|
||||||
|
-- search engines
|
||||||
|
settings.window.search_engines.duckduckgo = "https://duckduckgo.com/?q=%s"
|
||||||
|
settings.window.search_engines.default = settings.window.search_engines.duckduckgo
|
||||||
|
|
||||||
|
----------------------------------
|
||||||
|
-- Optional user script loading --
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
-- Add adblock
|
||||||
|
-- local adblock = require "adblock"
|
||||||
|
-- local adblock_chrome = require "adblock_chrome"
|
||||||
|
|
||||||
|
-- Enable Developer Tools
|
||||||
|
local webinspector = require "webinspector"
|
||||||
|
|
||||||
|
-- Add uzbl-like form filling
|
||||||
|
-- local formfiller = require "formfiller"
|
||||||
|
-- formfiller.extend({
|
||||||
|
-- pass = function(s) return io.popen("pass " .. s):read() end
|
||||||
|
-- })
|
||||||
|
|
||||||
|
-- Add proxy support & manager
|
||||||
|
local proxy = require "proxy"
|
||||||
|
|
||||||
|
-- Add quickmarks support & manager
|
||||||
|
-- local quickmarks = require "quickmarks"
|
||||||
|
|
||||||
|
-- Add session saving/loading support
|
||||||
|
-- local session = require "session"
|
||||||
|
|
||||||
|
-- Enable Gopher protocol support
|
||||||
|
local gopher = require "gopher"
|
||||||
|
|
||||||
|
-- Delete website data
|
||||||
|
local clear_data = require "clear_data"
|
||||||
|
|
||||||
|
-- Add command to list closed tabs & bind to open closed tabs
|
||||||
|
local undoclose = require "undoclose"
|
||||||
|
|
||||||
|
-- Add command to list tab history items
|
||||||
|
local tabhistory = require "tabhistory"
|
||||||
|
|
||||||
|
-- Add greasemonkey-like javascript userscript support
|
||||||
|
local userscripts = require "userscripts"
|
||||||
|
|
||||||
|
-- Add bookmarks support
|
||||||
|
local bookmarks = require "bookmarks"
|
||||||
|
local bookmarks_chrome = require "bookmarks_chrome"
|
||||||
|
|
||||||
|
-- Add download support
|
||||||
|
local downloads = require "downloads"
|
||||||
|
local downloads_chrome = require "downloads_chrome"
|
||||||
|
downloads.default_dir = os.getenv("HOME") .. "/Downloads"
|
||||||
|
|
||||||
|
-- Add automatic PDF downloading and opening
|
||||||
|
local viewpdf = require "viewpdf"
|
||||||
|
|
||||||
|
-- Add vimperator-like link hinting & following
|
||||||
|
local follow = require "follow"
|
||||||
|
|
||||||
|
-- Add command history
|
||||||
|
local cmdhist = require "cmdhist"
|
||||||
|
|
||||||
|
-- Add search mode & binds
|
||||||
|
local search = require "search"
|
||||||
|
|
||||||
|
-- Add ordering of new tabs
|
||||||
|
local taborder = require "taborder"
|
||||||
|
|
||||||
|
-- Save web history
|
||||||
|
local history = require "history"
|
||||||
|
local history_chrome = require "history_chrome"
|
||||||
|
|
||||||
|
-- :help pages
|
||||||
|
local help_chrome = require "help_chrome"
|
||||||
|
local binds_chrome = require "binds_chrome"
|
||||||
|
|
||||||
|
-- Add command completion
|
||||||
|
local completion = require "completion"
|
||||||
|
|
||||||
|
-- Press Control-E while in insert mode to edit the contents of the currently
|
||||||
|
-- focused <textarea> or <input> element, using `xdg-open`
|
||||||
|
local open_editor = require "open_editor"
|
||||||
|
local editor = require "editor"
|
||||||
|
editor.editor_cmd = "hterm vim {file}"
|
||||||
|
|
||||||
|
-- NoScript plugin, toggle scripts and or plugins on a per-domain basis.
|
||||||
|
-- `,ts` to toggle scripts, `,tp` to toggle plugins, `,tr` to reset.
|
||||||
|
-- If you use this module, don't use any site-specific `enable_scripts` or
|
||||||
|
-- `enable_plugins` settings, as these will conflict.
|
||||||
|
require "noscript"
|
||||||
|
|
||||||
|
local follow_selected = require "follow_selected"
|
||||||
|
local go_input = require "go_input"
|
||||||
|
local go_next_prev = require "go_next_prev"
|
||||||
|
local go_up = require "go_up"
|
||||||
|
|
||||||
|
-- Filter Referer HTTP header if page domain does not match Referer domain
|
||||||
|
require_web_module("referer_control_wm")
|
||||||
|
|
||||||
|
local error_page = require "error_page"
|
||||||
|
|
||||||
|
-- Add userstyles loader
|
||||||
|
local styles = require "styles"
|
||||||
|
follow.stylesheet = follow.stylesheet .. [===[
|
||||||
|
#luakit_select_overlay .hint_label {
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
border: 1px solid #f00;
|
||||||
|
padding: 1px;
|
||||||
|
color: #181818;
|
||||||
|
font-size: 18px;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
]===]
|
||||||
|
|
||||||
|
-- Hide scrollbars on all pages
|
||||||
|
-- local hide_scrollbars = require "hide_scrollbars"
|
||||||
|
|
||||||
|
-- local vertical_tabs = require "vertical_tabs"
|
||||||
|
|
||||||
|
-- Add a stylesheet when showing images
|
||||||
|
local image_css = require "image_css"
|
||||||
|
|
||||||
|
-- Add a new tab page
|
||||||
|
local newtab_chrome = require "newtab_chrome"
|
||||||
|
newtab_chrome.new_tab_src = [==[
|
||||||
|
<html>
|
||||||
|
<head><title>New Tab</title></head>
|
||||||
|
<body bgcolor=black></body>
|
||||||
|
</html>
|
||||||
|
]==]
|
||||||
|
|
||||||
|
-- Add tab favicons mod
|
||||||
|
-- local tab_favicons = require "tab_favicons"
|
||||||
|
-- local tab = require("lousy.widget.tab")
|
||||||
|
-- tab.label_format = ""
|
||||||
|
|
||||||
|
|
||||||
|
-- Add :view-source command
|
||||||
|
local view_source = require "view_source"
|
||||||
|
|
||||||
|
-- Use "asdfqwerzxcv" for generating labels
|
||||||
|
local select = require "select"
|
||||||
|
select.label_maker = function (s)
|
||||||
|
return s.trim(s.sort(s.reverse(s.charset("qwertzuiopasfghjklyxcvbnm"))))
|
||||||
|
end
|
||||||
|
follow.pattern_maker = follow.pattern_styles.match_label
|
||||||
|
|
||||||
|
-- social media enhancer
|
||||||
|
local webview = require "webview"
|
||||||
|
webview.add_signal('init', function (view)
|
||||||
|
view:add_signal('navigation-request', function(v, uri)
|
||||||
|
if v.uri:match('https://www.reddit.com') then
|
||||||
|
v.uri = v.uri:gsub('%www.reddit.com', 'libreddit.kylrth.com')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if v.uri:match('https://old.reddit.com') then
|
||||||
|
v.uri = v.uri:gsub('%old.reddit.com', 'libreddit.kylrth.com')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if v.uri:match('https://old.reddit.com') then
|
||||||
|
v.uri = v.uri:gsub('%old.reddit.com', 'libreddit.kylrth.com')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if v.uri:match('https://www.twitter.com') then
|
||||||
|
v.uri = v.uri:gsub('%www.twitter.com', 'nitter.net')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if v.uri:match('https://twitter.com') then
|
||||||
|
v.uri = v.uri:gsub('%twitter.com', 'nitter.net')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if v.uri:match('https://www.youtube.com') then
|
||||||
|
v.uri = v.uri:gsub('%www.youtube.com', 'tube.cadence.moe')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if v.uri:match('https://youtube.com') then
|
||||||
|
v.uri = v.uri:gsub('%youtube.com', 'tube.cadence.moe')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if v.uri:match('https://youtu.be') then
|
||||||
|
v.uri = v.uri:gsub('%youtu.be/', 'tube.cadence.moe/watch?v=')
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- social media blocker
|
||||||
|
local webview = require "webview"
|
||||||
|
webview.add_signal('init', function (view)
|
||||||
|
view:add_signal('navigation-request', function(v, uri)
|
||||||
|
local blocklist_pattern = {
|
||||||
|
"facebook.com",
|
||||||
|
".fb.com",
|
||||||
|
".fbcdn.com",
|
||||||
|
".fbsbx.com",
|
||||||
|
".fbcdn.net",
|
||||||
|
".tfbnw.net",
|
||||||
|
"whatsapp.com",
|
||||||
|
"online-metrix.net",
|
||||||
|
".fb.me",
|
||||||
|
"facebook-web-clients.appspot.com",
|
||||||
|
"fbcdn-profile-a.akamaihd.net"
|
||||||
|
}
|
||||||
|
for key,value in ipairs(blocklist_pattern)
|
||||||
|
do
|
||||||
|
if v.uri:match(value) then
|
||||||
|
print("Navigation request to " .. v.uri .. " blocked.")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-----------------------------
|
||||||
|
-- End user script loading --
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
-- Open window
|
||||||
|
window.new(uris)
|
||||||
|
|
||||||
|
-- vim: et:sw=4:ts=8:sts=4:tw=80
|
89
.config/luakit/theme.lua
Normal file
89
.config/luakit/theme.lua
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
--------------------------
|
||||||
|
-- Default luakit theme --
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
local theme = {}
|
||||||
|
|
||||||
|
-- Default settings
|
||||||
|
theme.font = "22px Terminus"
|
||||||
|
theme.fg = "#D8D8D8"
|
||||||
|
theme.bg = "#181818"
|
||||||
|
|
||||||
|
-- Genaral colours
|
||||||
|
theme.success_fg = "#00FF00"
|
||||||
|
theme.loaded_fg = "#33AADD"
|
||||||
|
theme.error_fg = "#CCCCCC"
|
||||||
|
theme.error_bg = "#FF0000"
|
||||||
|
|
||||||
|
-- Warning colours
|
||||||
|
theme.warning_fg = "#FF0000"
|
||||||
|
theme.warning_bg = "#FFFFFF"
|
||||||
|
|
||||||
|
-- Notification colours
|
||||||
|
theme.notif_fg = "#444444"
|
||||||
|
theme.notif_bg = "#FFFFFF"
|
||||||
|
|
||||||
|
-- Menu colours
|
||||||
|
theme.menu_fg = "#D8D8D8"
|
||||||
|
theme.menu_bg = "#001800"
|
||||||
|
theme.menu_selected_fg = "#181818"
|
||||||
|
theme.menu_selected_bg = "#FFFF00"
|
||||||
|
theme.menu_title_bg = "#D8D8D8"
|
||||||
|
theme.menu_primary_title_fg = "#FF0000"
|
||||||
|
theme.menu_secondary_title_fg = "#666666"
|
||||||
|
|
||||||
|
theme.menu_disabled_fg = "#999999"
|
||||||
|
theme.menu_disabled_bg = theme.menu_bg
|
||||||
|
theme.menu_enabled_fg = theme.menu_fg
|
||||||
|
theme.menu_enabled_bg = theme.menu_bg
|
||||||
|
theme.menu_active_fg = "#006600"
|
||||||
|
theme.menu_active_bg = theme.menu_bg
|
||||||
|
|
||||||
|
-- Proxy manager
|
||||||
|
theme.proxy_active_menu_fg = '#181818'
|
||||||
|
theme.proxy_active_menu_bg = '#CCCCCC'
|
||||||
|
theme.proxy_inactive_menu_fg = '#888888'
|
||||||
|
theme.proxy_inactive_menu_bg = '#CCCCCC'
|
||||||
|
|
||||||
|
-- Statusbar specific
|
||||||
|
theme.sbar_fg = "#D8D8D8"
|
||||||
|
theme.sbar_bg = "#181818"
|
||||||
|
|
||||||
|
-- Downloadbar specific
|
||||||
|
theme.dbar_fg = "#D8D8D8"
|
||||||
|
theme.dbar_bg = "#181818"
|
||||||
|
theme.dbar_error_fg = "#F00"
|
||||||
|
|
||||||
|
-- Input bar specific
|
||||||
|
theme.ibar_fg = "#D8D8D8"
|
||||||
|
theme.ibar_bg = "#181818"
|
||||||
|
|
||||||
|
-- Tab label
|
||||||
|
theme.tab_fg = "#888888"
|
||||||
|
theme.tab_bg = "#000000"
|
||||||
|
theme.tab_hover_bg = "#292929"
|
||||||
|
theme.tab_ntheme = "#DDDDDD"
|
||||||
|
theme.selected_fg = "#ff7800"
|
||||||
|
theme.selected_bg = "#1C1C1C"
|
||||||
|
theme.selected_ntheme = "#33AADD"
|
||||||
|
theme.loading_fg = "#33AADD"
|
||||||
|
theme.loading_bg = "#181818"
|
||||||
|
|
||||||
|
theme.selected_private_tab_bg = "#3D295B"
|
||||||
|
theme.private_tab_bg = "#22254A"
|
||||||
|
|
||||||
|
-- Trusted/untrusted ssl colours
|
||||||
|
theme.trust_fg = "#00FF00"
|
||||||
|
theme.notrust_fg = "#FF0000"
|
||||||
|
|
||||||
|
-- General colour pairings
|
||||||
|
theme.ok = { fg = "#FFFFFF", bg = "#181818" }
|
||||||
|
theme.warn = { fg = "#FFFF00", bg = "#181818" }
|
||||||
|
theme.error = { fg = "#FF0000", bg = "#181818" }
|
||||||
|
|
||||||
|
-- Gopher page style (override defaults)
|
||||||
|
theme.gopher_light = { bg = "#E8E8E8", fg = "#17181C", link = "#03678D" }
|
||||||
|
theme.gopher_dark = { bg = "#17181C", fg = "#E8E8E8", link = "#FF9900" }
|
||||||
|
|
||||||
|
-- vim: et:sw=4:ts=8:sts=4:tw=80
|
||||||
|
return theme
|
20
.config/spectrwm/shellbar.sh
Executable file
20
.config/spectrwm/shellbar.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/ksh
|
||||||
|
|
||||||
|
out() { printf '%s/1000/1000\n' "$1" | bc; }
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
set -A _SYSV -- $(sysctl -n hw.sensors.cpu0.temp0 \
|
||||||
|
hw.sensors.acpithinkpad0.fan0 \
|
||||||
|
hw.cpuspeed \
|
||||||
|
| cut -d" " -f1)
|
||||||
|
|
||||||
|
_TMP="$(sysctl -n hw.sensors.cpu{0,1,2,3,4,5,6,7,8,9,10,11}.frequency0 \
|
||||||
|
| cut -d. -f1)"
|
||||||
|
|
||||||
|
AVG="$(printf '(%s)/12' "$_TMP" | tr '\n' '+')"
|
||||||
|
|
||||||
|
printf " %s%% %2s°C %4sRPM %4sMhz (~%4sMhz) \n" \
|
||||||
|
"$(apm -l)" "${_SYSV[0]}" "${_SYSV[1]}" "${_SYSV[2]}" "$(out $AVG)";
|
||||||
|
sleep 5
|
||||||
|
done
|
70
.config/spectrwm/spectrwm.conf
Normal file
70
.config/spectrwm/spectrwm.conf
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# Window Decoration
|
||||||
|
border_width = 2
|
||||||
|
color_focus = rgb:99/99/99
|
||||||
|
color_focus_maximized = rgb:28/28/28
|
||||||
|
color_unfocus = rgb:47/47/47
|
||||||
|
region_padding = 8
|
||||||
|
tile_gap = 12
|
||||||
|
|
||||||
|
# Bar Settings
|
||||||
|
bar_border_width = 4
|
||||||
|
bar_border = rgb:18/18/18
|
||||||
|
bar_border_unfocus = rgb:18/18/18
|
||||||
|
bar_color = rgb:18/18/18
|
||||||
|
bar_color_selected = rgb:18/24/28
|
||||||
|
bar_font_color = rgb:99/99/99
|
||||||
|
bar_font_color_selected = rgb:ff/ff/ff
|
||||||
|
bar_font = FuraCodeNerdFont-11
|
||||||
|
bar_font_pua = FuraCodeNerdFont-13
|
||||||
|
bar_action = ~/.config/spectrwm/shellbar.sh
|
||||||
|
bar_format = +S +L +N +I +M +W +|1R +A %Y-%m-%d %H:%M
|
||||||
|
workspace_indicator = listall,markcurrent,markactive,markempty,noindexes
|
||||||
|
workspace_mark_current = ''
|
||||||
|
workspace_mark_active = ''
|
||||||
|
workspace_mark_empty = ''
|
||||||
|
workspace_mark_urgent = ''
|
||||||
|
stack_mark_horizontal = ''
|
||||||
|
stack_mark_horizontal_flip = ''
|
||||||
|
stack_mark_vertical = ''
|
||||||
|
stack_mark_vertical_flip = ''
|
||||||
|
stack_mark_max = ''
|
||||||
|
|
||||||
|
# Custom Quirks
|
||||||
|
quirk[IPMIView20-IPMIView20:IPMIView20-IPMIView20] = FLOAT + ANYWHERE
|
||||||
|
|
||||||
|
# Window Manager Keys
|
||||||
|
keyboard_mapping = ~/.config/spectrwm/spectrwm_map.conf
|
||||||
|
|
||||||
|
# Custom Programs
|
||||||
|
program[sterm] = sterm
|
||||||
|
bind[sterm] = MOD+Return
|
||||||
|
|
||||||
|
program[bterm] = bterm
|
||||||
|
bind[bterm] = MOD+Shift+Return
|
||||||
|
|
||||||
|
program[exec] = dexec
|
||||||
|
bind[exec] = MOD+D
|
||||||
|
|
||||||
|
program[ssh] = dexec_ssh
|
||||||
|
bind[ssh] = MOD+S
|
||||||
|
|
||||||
|
program[apps] = dexec_apps
|
||||||
|
bind[apps] = MOD+A
|
||||||
|
|
||||||
|
program[browser] = dexec_browser
|
||||||
|
bind[browser] = MOD+Shift+F
|
||||||
|
|
||||||
|
program[pass] = dexec_pass
|
||||||
|
bind[pass] = MOD+Shift+P
|
||||||
|
|
||||||
|
program[pim] = dexec_pim
|
||||||
|
bind[pim] = MOD+P
|
||||||
|
|
||||||
|
# OTHERS
|
||||||
|
program[sshot] = sshot
|
||||||
|
bind[sshot] = Print
|
||||||
|
|
||||||
|
program[xpick] = xpick_copy
|
||||||
|
bind[xpick] = MOD+Print
|
||||||
|
|
||||||
|
program[lock] = /usr/bin/false
|
79
.config/spectrwm/spectrwm_map.conf
Normal file
79
.config/spectrwm/spectrwm_map.conf
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
# BAR
|
||||||
|
bind[bar_toggle] = MOD+b
|
||||||
|
bind[bar_toggle_ws] = MOD+Shift+b
|
||||||
|
|
||||||
|
# LAYOUT
|
||||||
|
bind[cycle_layout] = MOD+l
|
||||||
|
bind[flip_layout] = MOD+Shift+l
|
||||||
|
bind[float_toggle] = MOD+space
|
||||||
|
|
||||||
|
# FOCUS
|
||||||
|
bind[focus_main] = MOD+m
|
||||||
|
bind[focus_next] = MOD+Down
|
||||||
|
bind[focus_next] = MOD+Tab
|
||||||
|
bind[focus_prev] = MOD+Up
|
||||||
|
bind[focus_prev] = MOD+Shift+Tab
|
||||||
|
bind[focus_urgent] = MOD+u
|
||||||
|
|
||||||
|
# ICONFIY / HIDE
|
||||||
|
bind[iconify] = MOD+Shift+i
|
||||||
|
bind[uniconify] = MOD+i
|
||||||
|
|
||||||
|
# MASTER
|
||||||
|
bind[master_add] = MOD+comma
|
||||||
|
bind[master_del] = MOD+period
|
||||||
|
bind[master_grow] = MOD+Right
|
||||||
|
bind[master_shrink] = MOD+Left
|
||||||
|
bind[stack_dec] = MOD+Shift+comma
|
||||||
|
bind[stack_inc] = MOD+Shift+period
|
||||||
|
bind[stack_reset] = MOD+Shift+space
|
||||||
|
bind[maximize_toggle] = MOD+f
|
||||||
|
|
||||||
|
# WS NAVIGATION
|
||||||
|
bind[ws_1] = MOD+1
|
||||||
|
bind[ws_2] = MOD+2
|
||||||
|
bind[ws_3] = MOD+3
|
||||||
|
bind[ws_4] = MOD+4
|
||||||
|
bind[ws_5] = MOD+5
|
||||||
|
bind[ws_6] = MOD+6
|
||||||
|
bind[ws_7] = MOD+7
|
||||||
|
bind[ws_8] = MOD+8
|
||||||
|
bind[ws_9] = MOD+9
|
||||||
|
bind[ws_10] = MOD+0
|
||||||
|
bind[ws_next_all] = MOD+Page_Down
|
||||||
|
bind[ws_prev_all] = MOD+Page_Up
|
||||||
|
|
||||||
|
# MOVE WINDOW TO OTHER WS
|
||||||
|
bind[mvrg_1] = MOD+Shift+KP_End
|
||||||
|
bind[mvrg_2] = MOD+Shift+KP_Down
|
||||||
|
bind[mvrg_3] = MOD+Shift+KP_Next
|
||||||
|
bind[mvrg_4] = MOD+Shift+KP_Left
|
||||||
|
bind[mvrg_5] = MOD+Shift+KP_Begin
|
||||||
|
bind[mvrg_6] = MOD+Shift+KP_Right
|
||||||
|
bind[mvrg_7] = MOD+Shift+KP_Home
|
||||||
|
bind[mvrg_8] = MOD+Shift+KP_Up
|
||||||
|
bind[mvrg_9] = MOD+Shift+KP_Prior
|
||||||
|
bind[mvws_1] = MOD+Shift+1
|
||||||
|
bind[mvws_2] = MOD+Shift+2
|
||||||
|
bind[mvws_3] = MOD+Shift+3
|
||||||
|
bind[mvws_4] = MOD+Shift+4
|
||||||
|
bind[mvws_5] = MOD+Shift+5
|
||||||
|
bind[mvws_6] = MOD+Shift+6
|
||||||
|
bind[mvws_7] = MOD+Shift+7
|
||||||
|
bind[mvws_8] = MOD+Shift+8
|
||||||
|
bind[mvws_9] = MOD+Shift+9
|
||||||
|
bind[mvws_10] = MOD+Shift+0
|
||||||
|
|
||||||
|
# RENAME WS
|
||||||
|
bind[name_workspace] = MOD+r
|
||||||
|
|
||||||
|
# MOVE WINDOW WITHIN WS
|
||||||
|
bind[swap_main] = MOD+M
|
||||||
|
bind[swap_next] = MOD+Shift+Down
|
||||||
|
bind[swap_prev] = MOD+Shift+Up
|
||||||
|
|
||||||
|
# DELETE WINDOW
|
||||||
|
bind[wind_del] = MOD+q
|
||||||
|
bind[wind_kill] = MOD+Shift+q
|
||||||
|
|
||||||
|
bind[restart] = MOD+Shift+r
|
112
.tmux.conf
Normal file
112
.tmux.conf
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# tmux config
|
||||||
|
|
||||||
|
# remap prefix from 'C-b' to 'C-a'
|
||||||
|
unbind C-b
|
||||||
|
set -g prefix C-a
|
||||||
|
bind-key C-a last-window
|
||||||
|
bind-key C-n next-window
|
||||||
|
bind-key C-p previous-window
|
||||||
|
bind a send-prefix
|
||||||
|
|
||||||
|
# reload config file (change file location to your the tmux.conf you want to use)
|
||||||
|
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
|
||||||
|
|
||||||
|
#set-option -g lock-after-time 3600
|
||||||
|
|
||||||
|
unbind-key C-S-Up
|
||||||
|
unbind-key C-S-Down
|
||||||
|
unbind-key C-M-Up
|
||||||
|
unbind-key C-M-Down
|
||||||
|
unbind-key S-Up
|
||||||
|
unbind-key S-Down
|
||||||
|
|
||||||
|
unbind-key C-Up
|
||||||
|
unbind-key C-Down
|
||||||
|
unbind-key C-Left
|
||||||
|
unbind-key C-Right
|
||||||
|
|
||||||
|
# prefix + arrow creates pane in direction
|
||||||
|
bind Left split-window -h -b
|
||||||
|
bind Right split-window -h
|
||||||
|
bind Up split-window -v -b
|
||||||
|
bind Down split-window -v
|
||||||
|
unbind '"'
|
||||||
|
unbind %
|
||||||
|
|
||||||
|
# select panes using Ctrl-Arrow without prefix
|
||||||
|
bind -n M-Left select-pane -L
|
||||||
|
bind -n M-Right select-pane -R
|
||||||
|
bind -n M-Up select-pane -U
|
||||||
|
bind -n M-Down select-pane -D
|
||||||
|
|
||||||
|
# resize panes
|
||||||
|
bind -n C-Left resize-pane -L 1
|
||||||
|
bind -n C-Right resize-pane -R 1
|
||||||
|
bind -n C-Down resize-pane -D 1
|
||||||
|
bind -n C-Up resize-pane -U 1
|
||||||
|
|
||||||
|
# zoom/fullscreen
|
||||||
|
bind -n M-f resize-pane -Z
|
||||||
|
|
||||||
|
# move pain up/down the stack with Shift-Alt+Arrow
|
||||||
|
#bind -n C-PgUp swap-pane -U
|
||||||
|
#bind -n C-PgDown swap-pane -D
|
||||||
|
|
||||||
|
# kill pane
|
||||||
|
bind C-Q kill-pane
|
||||||
|
|
||||||
|
# Disable mouse for proper copy & paste
|
||||||
|
set -g mouse off
|
||||||
|
|
||||||
|
set-window-option -g xterm-keys on
|
||||||
|
set -g xterm-keys on
|
||||||
|
|
||||||
|
# count windows from 1
|
||||||
|
set -g base-index 1
|
||||||
|
|
||||||
|
# don't rename windows automatically
|
||||||
|
set-option -g allow-rename off
|
||||||
|
|
||||||
|
# don't set the window title
|
||||||
|
set -g set-titles off
|
||||||
|
|
||||||
|
# No delay for escape key press
|
||||||
|
set -sg escape-time 30
|
||||||
|
|
||||||
|
set -g default-terminal "screen-256color"
|
||||||
|
|
||||||
|
# we can do utf lines
|
||||||
|
set -as terminal-overrides ",*:U8=0"
|
||||||
|
|
||||||
|
set -g aggressive-resize off
|
||||||
|
set -g alternate-screen on
|
||||||
|
|
||||||
|
######################
|
||||||
|
### DESIGN CHANGES ###
|
||||||
|
######################
|
||||||
|
|
||||||
|
# quiet
|
||||||
|
set -g visual-activity off
|
||||||
|
set -g visual-bell off
|
||||||
|
set -g visual-silence off
|
||||||
|
setw -g monitor-activity off
|
||||||
|
set -g bell-action none
|
||||||
|
|
||||||
|
## panes
|
||||||
|
set -g pane-border-style 'bg=colour0 fg=colour202'
|
||||||
|
set -g pane-active-border-style 'bg=colour0 fg=colour202'
|
||||||
|
#
|
||||||
|
## statusbar
|
||||||
|
set -g status-position bottom
|
||||||
|
set -g status-justify left
|
||||||
|
set -g status-style 'fg=colour246'
|
||||||
|
set -g status-right ''
|
||||||
|
set -g status-left ' '
|
||||||
|
set -g status-right-length 10
|
||||||
|
set -g status-left-length 10
|
||||||
|
#
|
||||||
|
setw -g window-status-current-style ''
|
||||||
|
setw -g window-status-current-format '#[fg=colour246]#I:#[fg=colour202]#W'
|
||||||
|
#
|
||||||
|
setw -g window-status-style ''
|
||||||
|
setw -g window-status-format '#[fg=colour246]#I:#W'
|
Loading…
Reference in New Issue
Block a user