218 lines
6.2 KiB
Lua
218 lines
6.2 KiB
Lua
----------------------------------------------------------------------------------------
|
|
-- 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
|
|
|
|
-- Set the number of web processes to use. A value of 0 means 'no limit'.
|
|
luakit.process_limit = 4
|
|
|
|
-- Load library of useful functions for luakit
|
|
local lousy = require "lousy"
|
|
|
|
-- Load users global config
|
|
-- ("$XDG_CONFIG_HOME/luakit/globals.lua" or "/etc/xdg/luakit/globals.lua")
|
|
local globals = 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"))
|
|
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"
|
|
|
|
----------------------------------
|
|
-- 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 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 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 introspector_chrome = require "introspector_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.
|
|
-- Remove all "enable_scripts" & "enable_plugins" lines from your
|
|
-- domain_props table (in config/globals.lua) as this module 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"
|
|
|
|
-- Automatically apply per-domain webview properties
|
|
local domain_props = require "domain_props"
|
|
|
|
-- 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"
|
|
|
|
-----------------------------
|
|
-- End user script loading --
|
|
-----------------------------
|
|
|
|
-- Restore last saved session
|
|
local w = (not luakit.nounique) and (session and session.restore())
|
|
if w then
|
|
for i, uri in ipairs(uris) do
|
|
w:new_tab(uri, { switch = 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 ww = lousy.util.table.values(window.bywidget)[1]
|
|
if cmd == "tabopen" then
|
|
ww:new_tab(arg)
|
|
elseif cmd == "winopen" then
|
|
ww = window.new((arg ~= "") and { arg } or {})
|
|
end
|
|
ww.win.screen = screen
|
|
ww.win.urgency_hint = true
|
|
end)
|
|
end
|
|
|
|
-- Adblock
|
|
require "adblock"
|
|
require "adblock-chrome"
|
|
|
|
-- vim: et:sw=4:ts=8:sts=4:tw=80
|