Update 2022-12-04 23:38 OpenBSD/amd64
This commit is contained in:
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
|
||||
Reference in New Issue
Block a user