updated: better awesome config structure

This commit is contained in:
Lian Drake 2023-12-29 16:53:47 -04:00
parent 420094f2ee
commit 8987f4858e
50 changed files with 162 additions and 764 deletions

View file

@ -1,7 +1,8 @@
-- Apps config, see keymaps/keyboard.lua to see how this is handled in keybindings
-- Apps selection, see config/keys.lua to see how this is handled in keybindings
local apps = {
terminal = "wezterm", -- terminal emulator
-- rofi settings
-- rofi
drunner = "rofi -show drun -show-icons", -- desktop runner
runner = "rofi -show run", -- normal runner
runner_power = "$HOME/.config/rofi/scripts/rofi_power", -- power manager
@ -11,16 +12,16 @@ local apps = {
runner_scrot = "$HOME/.config/rofi/scripts/rofi_scrot", -- screenshots manager
runner_emoji = "$HOME/.config/rofi/scripts/rofi_emoji", -- emojis manager
runner_wall = "$HOME/.config/rofi/scripts/rofi_wall", -- wallpapers manager
-- terminal scripts
vidytfzf = "wezterm start --class vidytfzf -- ytfzf -flstT ueberzug", -- youtube
musytfzf = "wezterm start --class musytfzf -- ytfzf -mlstT ueberzug", -- youtube music
ytfzfv = "wezterm start --class vidytfzf -- ytfzf -flstT ueberzug", -- youtube
ytfzfm = "wezterm start --class musytfzf -- ytfzf -mlstT ueberzug", -- youtube music
ani_cli = "wezterm start --class ani-cli -- ani-cli", -- anime
flix_cli = "wezterm start --class flix-cli -- flix-cli", -- movies
newsboat = "wezterm start --class newsboat -- newsboat", -- newsboat
btop = "wezterm start --class btop -- btop", -- btop
htop = "wezterm start --class htop -- htop", -- htop
pulsemixer = "wezterm start --class pulsemixer -- pulsemixer", -- pulsemixer
alsamixer = "wezterm start --class alsamixer -- alsamixer", -- alsamixer
-- default apps per tag
editor = "neovide --neovim-bin .local/bin/lvim", -- TAG 1
file = "wezterm start --class vifm -- .config/vifm/scripts/vifmrun", -- TAG 2

View file

@ -9,8 +9,7 @@ modkey = "Mod4"
conkey = "Control"
shikey = "Shift"
--[[ Main keybinds ]]
--
-- Main keybinds
awful.keyboard.append_global_keybindings({
-- Show the help menu
awful.key(
@ -18,10 +17,11 @@ awful.keyboard.append_global_keybindings({
"s",
hotkeys_popup.show_help,
{
description = "Show Help Menu",
description = "Show this help Menu",
group = "Main keybinds"
}
),
-- Reload awesome
awful.key(
{ modkey, conkey },
@ -32,6 +32,7 @@ awful.keyboard.append_global_keybindings({
group = "Main keybinds"
}
),
-- Open a terminal
awful.key(
{ modkey },
@ -45,11 +46,8 @@ awful.keyboard.append_global_keybindings({
}
),
})
--[[ ]]
--
--[[ Tags related keybindings ]]
--
-- Tags keybindings
awful.keyboard.append_global_keybindings({
-- Switch to previous tag
awful.key(
@ -61,6 +59,7 @@ awful.keyboard.append_global_keybindings({
group = "Tag keybinds"
}
),
-- Switch to next tag
awful.key(
{ modkey },
@ -71,6 +70,7 @@ awful.keyboard.append_global_keybindings({
group = "Tag keybinds"
}
),
-- Switch back to the previous tag
awful.key(
{ modkey },
@ -81,6 +81,7 @@ awful.keyboard.append_global_keybindings({
group = "Tag keybinds"
}
),
-- Switch tags by numbers 1-9
awful.key {
modifiers = { modkey },
@ -95,6 +96,7 @@ awful.keyboard.append_global_keybindings({
end
end,
},
-- Toggle tags by numbers 1-9
awful.key {
modifiers = { modkey, conkey },
@ -109,6 +111,7 @@ awful.keyboard.append_global_keybindings({
end
end,
},
-- Move focused window to tag by numbers 1-9
awful.key {
modifiers = { modkey, shikey },
@ -124,6 +127,7 @@ awful.keyboard.append_global_keybindings({
end
end,
},
-- Toggle focused window on tag by numbers 1-9
awful.key {
modifiers = { modkey, conkey, shikey },
@ -140,11 +144,8 @@ awful.keyboard.append_global_keybindings({
end,
},
})
--[[ ]]
--
--[[ Focus related keybindings ]]
--
-- Focus keybindings
awful.keyboard.append_global_keybindings({
-- Focus next window by index
awful.key(
@ -158,6 +159,7 @@ awful.keyboard.append_global_keybindings({
group = "Focus keybinds"
}
),
-- Focus previous window by index
awful.key(
{ modkey },
@ -170,6 +172,7 @@ awful.keyboard.append_global_keybindings({
group = "Focus keybinds"
}
),
-- Focus last focused window
awful.key(
{ modkey },
@ -185,6 +188,7 @@ awful.keyboard.append_global_keybindings({
group = "Focus keybinds"
}
),
-- Focus next screen
awful.key(
{ modkey, conkey },
@ -197,6 +201,7 @@ awful.keyboard.append_global_keybindings({
group = "Focus keybinds"
}
),
-- Focus previous screen
awful.key(
{ modkey, conkey },
@ -210,11 +215,8 @@ awful.keyboard.append_global_keybindings({
}
),
})
--[[ ]]
--
--[[ Layout keybinds ]]
--
-- Layout keybinds
awful.keyboard.append_global_keybindings({
-- Swap with next window by index
awful.key(
@ -228,6 +230,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Swap with previous window by index
awful.key(
{ modkey, shikey },
@ -240,6 +243,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Increase master width
awful.key(
{ modkey },
@ -252,6 +256,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Decrease master width
awful.key(
{ modkey },
@ -264,6 +269,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Increase the number of master window
awful.key(
{ modkey, shikey },
@ -276,6 +282,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Decrease the number of master windows
awful.key(
{ modkey, shikey },
@ -288,6 +295,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Increase the number of columns
awful.key(
{ modkey, conkey },
@ -300,6 +308,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Decrease the number of columns
awful.key(
{ modkey, conkey },
@ -312,6 +321,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Switch to next layout
awful.key(
{ modkey },
@ -324,6 +334,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Switch to previous layout
awful.key(
{ modkey, shikey },
@ -336,6 +347,7 @@ awful.keyboard.append_global_keybindings({
group = "Layout keybinds"
}
),
-- Select layouts directly
awful.key {
modifiers = { modkey },
@ -349,6 +361,7 @@ awful.keyboard.append_global_keybindings({
end
end,
},
-- Show/Hide Wibox
awful.key(
{ modkey },
@ -370,10 +383,8 @@ awful.keyboard.append_global_keybindings({
--[[ ]]
--
--[[ Window keybinds ]]
--
client.connect_signal(
"request::default_keybindings",
-- Window keybinds
client.connect_signal("request::default_keybindings",
function()
awful.keyboard.append_client_keybindings({
-- Set focused window to fullscreen
@ -462,10 +473,8 @@ client.connect_signal(
})
end
)
--[[ ]]
--
--[[ Quick keybinds ]]
-- Media Keys
awful.keyboard.append_global_keybindings({
-- Volume
awful.key(
@ -476,7 +485,7 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Increase volume by +5%",
group = "Quick keybinds"
group = "Media keys"
}
),
awful.key(
@ -487,7 +496,7 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Decrease volume by +5%",
group = "Quick keybinds"
group = "Media keys"
}
),
awful.key(
@ -498,7 +507,7 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Mute volume",
group = "Quick keybinds"
group = "Media keys"
}
),
awful.key(
@ -509,9 +518,10 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Mute microphone",
group = "Quick keybinds"
group = "Media keys"
}
),
-- Brightness
awful.key(
{},
@ -521,7 +531,7 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Increase brightness by +5%",
group = "Quick keybinds"
group = "Media keys"
}
),
awful.key(
@ -532,9 +542,10 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Decrease brightness by -5%",
group = "Quick keybinds"
group = "Media keys"
}
),
-- Display configuration
awful.key(
{},
@ -544,9 +555,11 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Configure the display using arandr",
group = "Quick keybinds"
group = "Media keys"
}
),
-- Keychords
-- Apps (Super + a followed by KEY)
awful.key(
{ modkey },
@ -557,23 +570,23 @@ awful.keyboard.append_global_keybindings({
if event == "release" then
return
end
if key == "e" then
if key == "1" then
awful.util.spawn(apps.editor) -- TAG 1
elseif key == "f" then
elseif key == "2" then
awful.util.spawn(apps.file) -- TAG 2
elseif key == "w" then
elseif key == "3" then
awful.util.spawn(apps.browser) -- TAG 3
elseif key == "c" then
elseif key == "4" then
awful.util.spawn(apps.chat) -- TAG 4
elseif key == "m" then
elseif key == "5" then
awful.util.spawn(apps.music) -- TAG 5
elseif key == "v" then
elseif key == "6" then
awful.util.spawn(apps.videoeditor) -- TAG 5
elseif key == "i" then
elseif key == "7" then
awful.util.spawn(apps.imageeditor) -- TAG 5
elseif key == "o" then
elseif key == "8" then
awful.util.spawn(apps.office) -- TAG 8
elseif key == "g" then
elseif key == "9" then
awful.util.spawn(apps.game) -- TAG 9
end
awful.keygrabber.stop(grabber)
@ -582,9 +595,10 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Launch apps with {Super + a} keychord and then numbers from {1 to 9}",
group = "Quick keybinds"
group = "Keychords"
}
),
-- Keyboard layouts (Super + x followed by KEY)
awful.key(
{ modkey },
@ -606,9 +620,10 @@ awful.keyboard.append_global_keybindings({
end,
{
description = "Change keyboard layout with {Super + x} keychord and then {e} for spanish and {u} for english",
group = "Quick keybinds"
group = "Keychords"
}
),
-- Runners (Super + p followed by KEY)
awful.key(
{ modkey },
@ -643,11 +658,12 @@ awful.keyboard.append_global_keybindings({
)
end,
{
description = "Launch quick action menus with {Super + p} keychord and then {d, r, e, q, i, b, s, z, w}",
group = "Quick keybinds"
description = "Launch quick action menus with {Super + p} keychord and then {d, r, q, i, b, w, s, m, e}",
group = "Keychords"
}
),
-- Multimedia scripts (Super + t followed by KEY)
-- Terminal scripts (Super + t followed by KEY)
awful.key(
{ modkey },
"t",
@ -658,9 +674,9 @@ awful.keyboard.append_global_keybindings({
return
end
if key == "y" then
awful.util.spawn(apps.vidytfzf)
awful.util.spawn(apps.ytfzfv)
elseif key == "m" then
awful.util.spawn(apps.musytfzf)
awful.util.spawn(apps.ytfzfm)
elseif key == "a" then
awful.util.spawn(apps.ani_cli)
elseif key == "f" then
@ -669,21 +685,62 @@ awful.keyboard.append_global_keybindings({
awful.util.spawn(apps.newsboat)
elseif key == "b" then
awful.util.spawn(apps.btop)
elseif key == "h" then
awful.util.spawn(apps.htop)
elseif key == "p" then
awful.util.spawn(apps.pulsemixer)
elseif key == "o" then
awful.util.spawn(apps.alsamixer)
end
awful.keygrabber.stop(grabber)
end
)
end,
{
description = "Launch multimedia terminal scripts with {Super + t} and then {m, y, a, f}",
group = "Quick keybinds"
description = "Launch terminal scripts with {Super + t} and then {y, m, a, f, r, b, p}",
group = "Keychords"
}
),
})
-- Window related mouse bindings
client.connect_signal(
"request::default_mousebindings",
function()
awful.mouse.append_client_mousebindings({
awful.button(
{ },
1,
function(c)
c:activate {context = "mouse_click"}
end
),
awful.button(
{ modkey },
1,
function(c)
c:activate {context = "mouse_click", action = "mouse_move"}
end
),
awful.button(
{ modkey },
3,
function(c)
c:activate {context = "mouse_click", action = "mouse_resize"}
end
)
})
end
)
-- Mouse bindings on desktop
awful.mouse.append_global_mousebindings({
awful.button(
{ },
4,
awful.tag.viewprev
),
awful.button(
{ },
5,
awful.tag.viewnext
)
})
--[[ ]]

View file

@ -2,7 +2,7 @@ local naughty = require("naughty")
local ruled = require("ruled")
local beautiful = require("beautiful")
-- {{{ Error handling
-- Error handling
naughty.connect_signal(
"request::display_error",
function(message, startup)
@ -13,9 +13,8 @@ naughty.connect_signal(
}
end
)
-- }}}
-- {{{ Signals
-- Signals
-- no borders when rearranging only 1 non-floating or maximized client
screen.connect_signal(
"arrange",
@ -32,4 +31,8 @@ screen.connect_signal(
end
end
)
-- }}}
-- enable sloppy focus, so that focus follows mouse.
client.connect_signal("mouse::enter", function(c)
c:emit_signal("request::activate", "mouse_enter", {raise = false})
end)

View file

@ -1,48 +0,0 @@
local awful = require("awful")
-- Window related mouse bindings
client.connect_signal(
"request::default_mousebindings",
function()
awful.mouse.append_client_mousebindings({
awful.button(
{ },
1,
function(c)
c:activate {context = "mouse_click"}
end
),
awful.button(
{ modkey },
1,
function(c)
c:activate {context = "mouse_click", action = "mouse_move"}
end
),
awful.button(
{ modkey },
3,
function(c)
c:activate {context = "mouse_click", action = "mouse_resize"}
end
)
})
end
)
-- Mouse bindings on desktop
awful.mouse.append_global_mousebindings({
awful.button(
{ },
4,
awful.tag.viewprev
),
awful.button(
{ },
5,
awful.tag.viewnext
)
})
-- Enable sloppy focus, so that focus follows mouse.
client.connect_signal("mouse::enter", function(c)
c:emit_signal("request::activate", "mouse_enter", {raise = false})
end)

View file

@ -1,12 +1,10 @@
-- imports
local beautiful = require("beautiful")
beautiful.init(string.format("%s/.config/awesome/ui/theme.lua", os.getenv("HOME"))) -- selected theme
require("helpers") -- some aditional code for handling
require("apps") -- selected apps & scripts
beautiful.init(string.format("%s/.config/awesome/theme/theme.lua", os.getenv("HOME"))) -- selected theme
require("core.autostart") -- startup applications
require("core.signals") -- some aditional code for signals & error handling
require("core.rules") -- window manager rules
require("config.keys") -- keyboard shortcuts
require("ui.layouts") -- predifined tiling layouts
require("ui.bar") -- the bar on the top
require("ui.notif") -- the notification manager
require("keymaps.keyboard") -- keyboard shortcuts
require("keymaps.mouse") -- mouse shortcuts
require("ui.rules") -- window manager rules
require("autostart") -- startup applications

View file

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 461 B

View file

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 272 B

View file

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 272 B

View file

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 263 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 263 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 320 B

View file

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 320 B

View file

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 245 B

View file

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 245 B

View file

Before

Width:  |  Height:  |  Size: 246 B

After

Width:  |  Height:  |  Size: 246 B

View file

Before

Width:  |  Height:  |  Size: 246 B

After

Width:  |  Height:  |  Size: 246 B

View file

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 282 B

View file

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 282 B

View file

Before

Width:  |  Height:  |  Size: 866 B

After

Width:  |  Height:  |  Size: 866 B

View file

Before

Width:  |  Height:  |  Size: 865 B

After

Width:  |  Height:  |  Size: 865 B

View file

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 345 B

View file

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 345 B

View file

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 574 B

View file

Before

Width:  |  Height:  |  Size: 581 B

After

Width:  |  Height:  |  Size: 581 B

View file

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 328 B

View file

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 328 B

View file

Before

Width:  |  Height:  |  Size: 265 B

After

Width:  |  Height:  |  Size: 265 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View file

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 266 B

View file

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 266 B

View file

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

Before

Width:  |  Height:  |  Size: 265 B

After

Width:  |  Height:  |  Size: 265 B

View file

Before

Width:  |  Height:  |  Size: 265 B

After

Width:  |  Height:  |  Size: 265 B

View file

@ -4,7 +4,7 @@ local dpi = require("beautiful.xresources").apply_dpi
local beautiful = require("beautiful")
-- }}}
local themes_path = string.format("%s/.config/awesome/ui/", os.getenv("HOME"))
local themes_path = string.format("%s/.config/awesome/theme/", os.getenv("HOME"))
-- {{{ Main
local theme = {}

View file

@ -2,7 +2,7 @@
local wibox = require("wibox")
local gears = require("gears")
local awful = require("awful")
local theme = require("ui.theme")
local theme = require("theme.theme")
local battery = require("ui.widgets.battery")
local brightness = require("ui.widgets.brightness")
local layout = require("ui.widgets.layout")

View file

@ -1,12 +1,9 @@
local awful = require("awful")
-- Custom added layouts
local centerwork = require("modules.custom-layouts.centerwork")
-- {{{ Selected layouts
tag.connect_signal(
"request::default_layouts",
local centerwork = require("modules.layouts.centerwork")
tag.connect_signal("request::default_layouts",
function()
awful.layout.append_default_layouts(
{
awful.layout.append_default_layouts({
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
@ -14,15 +11,13 @@ tag.connect_signal(
centerwork,
-- awful.layout.suit.fair,
-- awful.layout.suit.fair.horizontal,
-- awful.layout.suit.spiral,
-- awful.layout.suit.spiral.dwindle,
awful.layout.suit.spiral,
awful.layout.suit.spiral.dwindle,
awful.layout.suit.max,
awful.layout.suit.max.fullscreen,
-- awful.layout.suit.magnifier,
-- awful.layout.suit.corner.nw,
awful.layout.suit.floating,
}
)
})
end
)
-- }}}

View file

@ -12,8 +12,7 @@ naughty.config.defaults.border_width = 0
naughty.config.defaults.position = "top_right"
naughty.config.defaults.title = "Notification"
ruled.notification.connect_signal(
"request::rules",
ruled.notification.connect_signal("request::rules",
function()
-- Critical
ruled.notification.append_rule {
@ -51,8 +50,7 @@ ruled.notification.connect_signal(
end
)
naughty.connect_signal(
"request::display",
naughty.connect_signal("request::display",
function(n)
naughty.layout.box {
notification = n,

View file

@ -86,7 +86,8 @@ glx-no-stencil = true;
use-damage = true;
unredir-if-possible = true;
no-frame-pacing = true;
# unredir-if-possible-exclude = [
# "class_g = 'looking-glass-client' && !focused"
# ];
unredir-if-possible-exclude = [
"class_g = 'looking-glass-client' && !focused",
"class_g = 'mpv' && focused"
];
glx-use-copysubbuffer-mesa = true;

View file

@ -1,26 +0,0 @@
https://mail.google.com/ gmail
https://app.tuta.com/ tutanota
https://mail.proton.me/ proton-mail
https://outlook.live.com/mail outlook
https://odysee.com/ odysee
https://pi.ggtyler.dev/ youtube
https://beatbump.io/ youtube-music
https://fosstodon.org/ mastodon
https://beehaw.org/ beehaw
https://pixelfed.social/ pixelfed
https://github.com/ github
https://app.element.io/ element
https://app.revolt.chat/ revolt
https://web.whatsapp.com/ whatsapp
https://discord.com/app discord
https://outlook.office.com/ intec-correo
https://campusvirtual.intec.edu.do/ intec-aula-virtual
https://procesos.intec.edu.do/ intec-procesos
https://amazon.com/ amazon
https://mega.nz/ mega
https://drive.google.com/drive/my-drive google-drive
https://clientes.eps.com.do/ eps
https://libgen.li/ libgen
https://annas-archive.org/ annas-archive
https://lt.vern.cc libretranslate
https://cloud.digitalocean.com/login digitalocean

View file

@ -1,248 +0,0 @@
## ____ __
## / __ \_________ _/ /_____
## / / / / ___/ __ `/ //_/ _ \
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
## /_____/_/ \__,_/_/|_|\___/ My custom qutebrowser config
##
# NOTE: config.py is intended for advanced users who are comfortable
# with manually migrating the config file on qutebrowser upgrades. If
# you prefer, you can also configure qutebrowser using the
# :set/:bind/:config-* commands without having to write a config.py
# file.
#
# Documentation:
# qute://help/configuring.html
# qute://help/settings.html
# Uncomment this to still load settings configured via autoconfig.yml
# config.load_autoconfig()
# Or uncomment this line to load settings from config.py
config.load_autoconfig(False)
# Aliases for commands. The keys of the given dictionary are the
# aliases, while the values are the commands they map to.
# Type: Dict
c.aliases = {'q': 'quit', 'w': 'session-save', 'wq': 'quit --save'}
# Setting dark mode
#config.set("colors.webpage.darkmode.enabled", True)
# Which cookies to accept. With QtWebEngine, this setting also controls
# other features with tracking capabilities similar to those of cookies;
# including IndexedDB, DOM storage, filesystem API, service workers, and
# AppCache. Note that with QtWebKit, only `all` and `never` are
# supported as per-domain values. Setting `no-3rdparty` or `no-
# unknown-3rdparty` per-domain on QtWebKit will have the same effect as
# `all`.
# Type: String
# Valid values:
# - all: Accept all cookies.
# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
# - never: Don't accept cookies at all.
config.set('content.cookies.accept', 'all', 'chrome-devtools://*')
# Which cookies to accept. With QtWebEngine, this setting also controls
# other features with tracking capabilities similar to those of cookies;
# including IndexedDB, DOM storage, filesystem API, service workers, and
# AppCache. Note that with QtWebKit, only `all` and `never` are
# supported as per-domain values. Setting `no-3rdparty` or `no-
# unknown-3rdparty` per-domain on QtWebKit will have the same effect as
# `all`.
# Type: String
# Valid values:
# - all: Accept all cookies.
# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
# - never: Don't accept cookies at all.
config.set('content.cookies.accept', 'all', 'devtools://*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}', 'https://web.whatsapp.com/')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://accounts.google.com/*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99 Safari/537.36', 'https://*.slack.com/*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://docs.google.com/*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/120.0', 'https://*.google.com/*')
# Load images automatically in web pages.
# Type: Bool
config.set('content.images', True, 'chrome-devtools://*')
# Load images automatically in web pages.
# Type: Bool
config.set('content.images', True, 'devtools://*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'chrome-devtools://*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'devtools://*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'chrome://*/*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'qute://*/*')
# Directory to save downloads to. If unset, a sensible OS-specific
# default is used.
# Type: Directory
c.downloads.location.directory = '~/var/downloads'
# When to show the tab bar.
# Type: String
# Valid values:
# - always: Always show the tab bar.
# - never: Always hide the tab bar.
# - multiple: Hide the tab bar if only one tab is open.
# - switching: Show the tab bar when switching tabs.
c.tabs.show = 'always'
# Setting default page for when opening new tabs or new windows with
# commands like :open -t and :open -w .
c.url.default_page = 'https://start.duckduckgo.com'
c.url.start_pages = 'https://start.duckduckgo.com'
# Search engines which can be used via the address bar. Maps a search
# engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}`
# placeholder. The placeholder will be replaced by the search term, use
# `{{` and `}}` for literal `{`/`}` braces. The following further
# placeholds are defined to configure how special characters in the
# search terms are replaced by safe characters (called 'quoting'): *
# `{}` and `{semiquoted}` quote everything except slashes; this is the
# most sensible choice for almost all search engines (for the search
# term `slash/and&amp` this placeholder expands to `slash/and%26amp`).
# * `{quoted}` quotes all characters (for `slash/and&amp` this
# placeholder expands to `slash%2Fand%26amp`). * `{unquoted}` quotes
# nothing (for `slash/and&amp` this placeholder expands to
# `slash/and&amp`). The search engine named `DEFAULT` is used when
# `url.auto_search` is turned on and something else than a URL was
# entered to be opened. Other search engines can be used by prepending
# the search engine name to the search term, e.g. `:open google
# qutebrowser`.
# Type: Dict
c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}', 'aw': 'https://wiki.archlinux.org/?search={}', 'ub': 'https://www.urbandictionary.com/define.php?term={}', 'wiki': 'https://en.wikipedia.org/wiki/{}'}
# Default font families to use. Whenever "default_family" is used in a
# font setting, it's replaced with the fonts listed here. If set to an
# empty value, a system-specific monospace default is used.
# Type: List of Font, or Font
c.fonts.default_family = '"mononoki Nerd Font"'
# Default font size to use. Whenever "default_size" is used in a font
# setting, it's replaced with the size listed here. Valid values are
# either a float value with a "pt" suffix, or an integer value with a
# "px" suffix.
# Type: String
c.fonts.default_size = '10pt'
# Font used in the completion widget.
# Type: Font
c.fonts.completion.entry = '10pt "mononoki Nerd Font"'
# Font used for the debugging console.
# Type: Font
c.fonts.debug_console = '10pt "mononoki Nerd Font"'
# Font used for prompts.
# Type: Font
c.fonts.prompts = 'default_size sans-serif'
# Font used in the statusbar.
# Type: Font
c.fonts.statusbar = '10pt "mononoki Nerd Font"'
config.source('gruvbox.py')
# Bindings for normal mode
config.bind('M', 'hint links spawn mpv {hint-url}')
config.bind('Z', 'hint links spawn st -e youtube-dl {hint-url}')
config.bind('t', 'set-cmd-text -s :open -t')
config.bind('xb', 'config-cycle statusbar.show always never')
config.bind('xt', 'config-cycle tabs.show always never')
config.bind('xx', 'config-cycle statusbar.show always never;; config-cycle tabs.show always never')
# configs
config.set('content.notifications.enabled', False)
config.set('content.blocking.method', 'both')
config.set('content.blocking.enabled', True)
config.set('content.autoplay', False)
config.set('content.register_protocol_handler', False)

View file

@ -1,333 +0,0 @@
# gruvbox dark hard qutebrowser theme by Florian Bruhin <me@the-compiler.org>
#
# Originally based on:
# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
# Base16 qutebrowser template by theova and Daniel Mulford
# Gruvbox dark, hard scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
bg0_hard = "#1d2021"
bg0_soft = '#32302f'
bg0_normal = '#282828'
bg0 = bg0_normal
bg1 = "#3c3836"
bg2 = "#504945"
bg3 = "#665c54"
bg4 = "#7c6f64"
fg0 = "#fbf1c7"
fg1 = "#ebdbb2"
fg2 = "#d5c4a1"
fg3 = "#bdae93"
fg4 = "#a89984"
bright_red = "#fb4934"
bright_green = "#b8bb26"
bright_yellow = "#fabd2f"
bright_blue = "#83a598"
bright_purple = "#d3869b"
bright_aqua = "#8ec07c"
bright_gray = "#928374"
bright_orange = "#fe8019"
dark_red = "#cc241d"
dark_green = "#98971a"
dark_yellow = "#d79921"
dark_blue = "#458588"
dark_purple = "#b16286"
dark_aqua = "#689d6a"
dark_gray = "#a89984"
dark_orange = "#d65d0e"
### Completion
# Text color of the completion widget. May be a single color to use for
# all columns or a list of three colors, one for each column.
c.colors.completion.fg = [fg1, bright_aqua, bright_yellow]
# Background color of the completion widget for odd rows.
c.colors.completion.odd.bg = bg0
# Background color of the completion widget for even rows.
c.colors.completion.even.bg = c.colors.completion.odd.bg
# Foreground color of completion widget category headers.
c.colors.completion.category.fg = bright_blue
# Background color of the completion widget category headers.
c.colors.completion.category.bg = bg1
# Top border color of the completion widget category headers.
c.colors.completion.category.border.top = c.colors.completion.category.bg
# Bottom border color of the completion widget category headers.
c.colors.completion.category.border.bottom = c.colors.completion.category.bg
# Foreground color of the selected completion item.
c.colors.completion.item.selected.fg = fg0
# Background color of the selected completion item.
c.colors.completion.item.selected.bg = bg4
# Top border color of the selected completion item.
c.colors.completion.item.selected.border.top = bg2
# Bottom border color of the selected completion item.
c.colors.completion.item.selected.border.bottom = c.colors.completion.item.selected.border.top
# Foreground color of the matched text in the selected completion item.
c.colors.completion.item.selected.match.fg = bright_orange
# Foreground color of the matched text in the completion.
c.colors.completion.match.fg = c.colors.completion.item.selected.match.fg
# Color of the scrollbar handle in the completion view.
c.colors.completion.scrollbar.fg = c.colors.completion.item.selected.fg
# Color of the scrollbar in the completion view.
c.colors.completion.scrollbar.bg = c.colors.completion.category.bg
### Context menu
# Background color of disabled items in the context menu.
c.colors.contextmenu.disabled.bg = bg3
# Foreground color of disabled items in the context menu.
c.colors.contextmenu.disabled.fg = fg3
# Background color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.bg = bg0
# Foreground color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.fg = fg2
# Background color of the context menu's selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.bg = bg2
#Foreground color of the context menu's selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.fg = c.colors.contextmenu.menu.fg
### Downloads
# Background color for the download bar.
c.colors.downloads.bar.bg = bg0
# Color gradient start for download text.
c.colors.downloads.start.fg = bg0
# Color gradient start for download backgrounds.
c.colors.downloads.start.bg = bright_blue
# Color gradient end for download text.
c.colors.downloads.stop.fg = c.colors.downloads.start.fg
# Color gradient stop for download backgrounds.
c.colors.downloads.stop.bg = bright_aqua
# Foreground color for downloads with errors.
c.colors.downloads.error.fg = bright_red
### Hints
# Font color for hints.
c.colors.hints.fg = bg0
# Background color for hints.
c.colors.hints.bg = 'rgba(250, 191, 47, 200)' # bright_yellow
# Font color for the matched part of hints.
c.colors.hints.match.fg = bg4
### Keyhint widget
# Text color for the keyhint widget.
c.colors.keyhint.fg = fg4
# Highlight color for keys to complete the current keychain.
c.colors.keyhint.suffix.fg = fg0
# Background color of the keyhint widget.
c.colors.keyhint.bg = bg0
### Messages
# Foreground color of an error message.
c.colors.messages.error.fg = bg0
# Background color of an error message.
c.colors.messages.error.bg = bright_red
# Border color of an error message.
c.colors.messages.error.border = c.colors.messages.error.bg
# Foreground color of a warning message.
c.colors.messages.warning.fg = bg0
# Background color of a warning message.
c.colors.messages.warning.bg = bright_purple
# Border color of a warning message.
c.colors.messages.warning.border = c.colors.messages.warning.bg
# Foreground color of an info message.
c.colors.messages.info.fg = fg2
# Background color of an info message.
c.colors.messages.info.bg = bg0
# Border color of an info message.
c.colors.messages.info.border = c.colors.messages.info.bg
### Prompts
# Foreground color for prompts.
c.colors.prompts.fg = fg2
# Border used around UI elements in prompts.
c.colors.prompts.border = f'1px solid {bg1}'
# Background color for prompts.
c.colors.prompts.bg = bg3
# Background color for the selected item in filename prompts.
c.colors.prompts.selected.bg = bg2
### Statusbar
# Foreground color of the statusbar.
c.colors.statusbar.normal.fg = fg2
# Background color of the statusbar.
c.colors.statusbar.normal.bg = bg0
# Foreground color of the statusbar in insert mode.
c.colors.statusbar.insert.fg = bg0
# Background color of the statusbar in insert mode.
c.colors.statusbar.insert.bg = dark_aqua
# Foreground color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.fg = bg0
# Background color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.bg = dark_blue
# Foreground color of the statusbar in private browsing mode.
c.colors.statusbar.private.fg = bright_purple
# Background color of the statusbar in private browsing mode.
c.colors.statusbar.private.bg = bg0
# Foreground color of the statusbar in command mode.
c.colors.statusbar.command.fg = fg3
# Background color of the statusbar in command mode.
c.colors.statusbar.command.bg = bg1
# Foreground color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.fg = c.colors.statusbar.private.fg
# Background color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.bg = c.colors.statusbar.command.bg
# Foreground color of the statusbar in caret mode.
c.colors.statusbar.caret.fg = bg0
# Background color of the statusbar in caret mode.
c.colors.statusbar.caret.bg = dark_purple
# Foreground color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.fg = c.colors.statusbar.caret.fg
# Background color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.bg = bright_purple
# Background color of the progress bar.
c.colors.statusbar.progress.bg = bright_blue
# Default foreground color of the URL in the statusbar.
c.colors.statusbar.url.fg = fg4
# Foreground color of the URL in the statusbar on error.
c.colors.statusbar.url.error.fg = dark_red
# Foreground color of the URL in the statusbar for hovered links.
c.colors.statusbar.url.hover.fg = bright_orange
# Foreground color of the URL in the statusbar on successful load
# (http).
c.colors.statusbar.url.success.http.fg = bright_red
# Foreground color of the URL in the statusbar on successful load
# (https).
c.colors.statusbar.url.success.https.fg = fg0
# Foreground color of the URL in the statusbar when there's a warning.
c.colors.statusbar.url.warn.fg = bright_purple
### tabs
# Background color of the tab bar.
c.colors.tabs.bar.bg = bg0
# Color gradient start for the tab indicator.
c.colors.tabs.indicator.start = bright_blue
# Color gradient end for the tab indicator.
c.colors.tabs.indicator.stop = bright_aqua
# Color for the tab indicator on errors.
c.colors.tabs.indicator.error = bright_red
# Foreground color of unselected odd tabs.
c.colors.tabs.odd.fg = fg2
# Background color of unselected odd tabs.
c.colors.tabs.odd.bg = bg2
# Foreground color of unselected even tabs.
c.colors.tabs.even.fg = c.colors.tabs.odd.fg
# Background color of unselected even tabs.
c.colors.tabs.even.bg = bg3
# Foreground color of selected odd tabs.
c.colors.tabs.selected.odd.fg = fg2
# Background color of selected odd tabs.
c.colors.tabs.selected.odd.bg = bg0
# Foreground color of selected even tabs.
c.colors.tabs.selected.even.fg = c.colors.tabs.selected.odd.fg
# Background color of selected even tabs.
c.colors.tabs.selected.even.bg = bg0
# Background color of pinned unselected even tabs.
c.colors.tabs.pinned.even.bg = bright_green
# Foreground color of pinned unselected even tabs.
c.colors.tabs.pinned.even.fg = bg2
# Background color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.bg = bright_green
# Foreground color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.fg = c.colors.tabs.pinned.even.fg
# Background color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.bg = bg0
# Foreground color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.fg = c.colors.tabs.selected.odd.fg
# Background color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.bg = c.colors.tabs.pinned.selected.even.bg
# Foreground color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.fg = c.colors.tabs.selected.odd.fg
# Background color for webpages if unset (or empty to use the theme's
# color).
c.colors.webpage.bg = bg4

View file

@ -28,16 +28,16 @@ if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# Environment variables
export MOZ_USE_XINPUT2=1
export QT_STYLE_OVERRIDE=kvantum
export XDG_SESSION_TYPE=X11
# Home folders
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_CONFIG_HOME="$HOME/.config"
# X11 Stuff
export MOZ_USE_XINPUT2=1
export QT_STYLE_OVERRIDE=kvantum
export XDG_SESSION_TYPE=X11
# GTK & cursor stuff
export XCURSOR_PATH="$XDG_DATA_HOME/icons/"
export XCURSOR_THEME="Simp1e-Gruvbox-Dark"