[luakit] Add some default luakit config

This commit is contained in:
2021-03-01 12:03:19 -05:00
parent 1086b7c402
commit 7d698e008e
3 changed files with 309 additions and 0 deletions

View File

@ -0,0 +1,208 @@
------------------------------------------------------------------------------
-- luakit configuration file, more information at https://luakit.github.io/ --
------------------------------------------------------------------------------
require "lfs"
-- Check for lua configuration files that will never be loaded because they are
-- shadowed by builtin modules.
table.insert(package.loaders, 2, function (modname)
if not package.searchpath then return end
local f = package.searchpath(modname, package.path)
if not f or f:find(luakit.install_paths.install_dir .. "/", 0, true) ~= 1 then
return
end
local lf = luakit.config_dir .. "/" .. modname:gsub("%.","/") .. ".lua"
if f == lf then
msg.warn("Loading local version of '" .. modname .. "' module: " .. lf)
elseif lfs.attributes(lf) then
msg.warn("Found local version " .. lf
.. " for core module '" .. modname
.. "', but it won't be used, unless you update 'package.path' accordingly.")
end
end)
require "unique_instance"
-- Set the number of web processes to use. A value of 0 means 'no limit'. This
-- has no effect since WebKit 2.26
luakit.process_limit = 4
-- Set the cookie storage location
soup.cookies_storage = luakit.data_dir .. "/cookies.db"
-- Load library of useful functions for luakit
local lousy = require "lousy"
-- Load users theme
-- ("$XDG_CONFIG_HOME/luakit/theme.lua" or "/etc/xdg/luakit/theme.lua")
lousy.theme.init(lousy.util.find_config("theme.lua"))
assert(lousy.theme.get(), "failed to load theme")
-- Load users window class
-- ("$XDG_CONFIG_HOME/luakit/window.lua" or "/etc/xdg/luakit/window.lua")
local window = require "window"
-- Load users webview class
-- ("$XDG_CONFIG_HOME/luakit/webview.lua" or "/etc/xdg/luakit/webview.lua")
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.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"
local settings = require "settings"
require "settings_chrome"
----------------------------------
-- Optional user script loading --
----------------------------------
-- Add adblock
local adblock = require "adblock"
local adblock_chrome = require "adblock_chrome"
local webinspector = require "webinspector"
-- Add uzbl-like form filling
local formfiller = require "formfiller"
-- Add proxy support & manager
local proxy = require "proxy"
-- Add cache control (clear-data, clear-favicon-db)
local clear_data = require "clear_data"
-- Add quickmarks support & manager
local quickmarks = require "quickmarks"
-- Add session saving/loading support
local session = require "session"
-- 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 gopher protocol support (this module needs luasocket)
-- local gopher = require "gopher"
-- 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"
-- Add automatic PDF downloading and opening
local viewpdf = require "viewpdf"
-- Example using xdg-open for opening downloads / showing download folders
downloads.add_signal("open-file", function (file)
luakit.spawn(string.format("xdg-open %q", file))
return true
end)
-- 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"
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"
-- 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"
-- Hide scrollbars on all pages
local hide_scrollbars = require "hide_scrollbars"
-- Add a stylesheet when showing images
local image_css = require "image_css"
-- Add a new tab page
local newtab_chrome = require "newtab_chrome"
-- Add tab favicons mod
local tab_favicons = require "tab_favicons"
-- Add :view-source command
local view_source = require "view_source"
-- Put "userconf.lua" in your Luakit config dir with your own tweaks; if this is
-- permanent, no need to copy/paste/modify the default rc.lua whenever you
-- update Luakit.
if pcall(function () lousy.util.find_config("userconf.lua") end) then
require "userconf"
end
-----------------------------
-- End user script loading --
-----------------------------
local settings = require "settings"
settings.window.scroll_step = 40
settings.window.zoom_step = 0.1
settings.webview.zoom_level = 110
settings.window.search_engines.searx = "https://search.unbl.ink/search?q=%s"
settings.downloads.default_dir = os.getenv("HOME") .. "/downloads"
unique_instance.open_links_in_new_window = true
-- vim: et:sw=4:ts=8:sts=4:tw=80

View File

@ -0,0 +1,101 @@
--------------------------
-- Default luakit theme --
--------------------------
local theme = {}
-- Default settings
theme.font = "12px monospace"
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"
theme.menu_disabled_fg = "#999"
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 = "#060"
theme.menu_active_bg = theme.menu_bg
-- 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 = "rgba(0,0,0,0)"
-- Tab label
theme.tab_fg = "#888"
theme.tab_bg = "#222"
theme.tab_hover_bg = "#292929"
theme.tab_ntheme = "#ddd"
theme.selected_fg = "#fff"
theme.selected_bg = "#000"
theme.selected_ntheme = "#ddd"
theme.loading_fg = "#33AADD"
theme.loading_bg = "#000"
theme.selected_private_tab_bg = "#3d295b"
theme.private_tab_bg = "#22254a"
-- Trusted/untrusted ssl colours
theme.trust_fg = "#0F0"
theme.notrust_fg = "#F00"
-- Follow mode hints
theme.hint_font = "10px monospace, courier, sans-serif"
theme.hint_fg = "#fff"
theme.hint_bg = "#000088"
theme.hint_border = "1px dashed #000"
theme.hint_opacity = "0.3"
theme.hint_overlay_bg = "rgba(255,255,153,0.3)"
theme.hint_overlay_border = "1px dotted #000"
theme.hint_overlay_selected_bg = "rgba(0,255,0,0.3)"
theme.hint_overlay_selected_border = theme.hint_overlay_border
-- General colour pairings
theme.ok = { fg = "#000", bg = "#FFF" }
theme.warn = { fg = "#F00", bg = "#FFF" }
theme.error = { fg = "#FFF", bg = "#F00" }
-- Gopher page style (override defaults)
theme.gopher_light = { bg = "#E8E8E8", fg = "#17181C", link = "#03678D" }
theme.gopher_dark = { bg = "#17181C", fg = "#E8E8E8", link = "#f90" }
return theme
-- vim: et:sw=4:ts=8:sts=4:tw=80

View File