Updated
This commit is contained in:
parent
f59b1375bf
commit
f1c98d95d3
24 changed files with 273 additions and 414 deletions
33
user/.bashrc
33
user/.bashrc
|
@ -137,30 +137,13 @@ alias \
|
|||
l.='exa -a | egrep "^\."'
|
||||
|
||||
# function to detect os and assign aliases to package managers
|
||||
os=$(grep NAME /etc/os-release | head -1 | cut -d'=' -f2 | sed 's/["]//g')
|
||||
if [ "${os}" = "Arch Linux" ]; then
|
||||
alias \
|
||||
alias \
|
||||
pac-up="paru -Syyu" \
|
||||
pac-get="paru -S" \
|
||||
pac-rmv="paru -Rcns" \
|
||||
pac-rmv-sec="paru -R" \
|
||||
pac-qry="paru -Ss" \
|
||||
pac-cln="paru -Scc"
|
||||
elif [ "${os}" = "Void Linux" ]; then
|
||||
alias \
|
||||
xb-up="sudo vpm update -Su && xcheckrestart" \
|
||||
xb-get="sudo vpm install" \
|
||||
xb-rmv="sudo vpm remove -R" \
|
||||
xb-rmv-sec="sudo vpm remove" \
|
||||
xb-qry="sudo vpm search" \
|
||||
xb-cln="sudo vpm cleanup -o"
|
||||
elif [ "${os}" = "Fedora Linux" ]; then
|
||||
alias \
|
||||
dnf-up="sudo dnf update" \
|
||||
dnf-get="sudo dnf install" \
|
||||
dnf-rmv="sudo dnf remove" \
|
||||
dnf-cln="sudo dnf autoremove"
|
||||
fi
|
||||
|
||||
# colorize grep output (good for log files)
|
||||
alias \
|
||||
|
@ -206,22 +189,10 @@ alias \
|
|||
music="cmus"
|
||||
|
||||
# power management
|
||||
if [ "${os}" = "Arch Linux" ]; then
|
||||
alias \
|
||||
alias \
|
||||
po="systemctl poweroff" \
|
||||
sp="systemctl suspend" \
|
||||
rb="systemctl reboot"
|
||||
elif [ "${os}" = "Void Linux" ]; then
|
||||
alias \
|
||||
po="loginctl poweroff" \
|
||||
sp="loginctl suspend" \
|
||||
rb="loginctl reboot"
|
||||
else
|
||||
alias \
|
||||
po="systemctl poweroff" \
|
||||
sp="systemctl suspend" \
|
||||
rb="systemctl reboot"
|
||||
fi
|
||||
|
||||
# file management
|
||||
alias \
|
||||
|
|
|
@ -358,7 +358,7 @@ env:
|
|||
|
||||
## Window settigns
|
||||
window:
|
||||
opacity: 0.96
|
||||
opacity: 0.90
|
||||
padding:
|
||||
x: 6
|
||||
y: 6
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
-- Apps
|
||||
local apps = {
|
||||
terminal = "alacritty",
|
||||
editor = "emacsclient -c -a emacs",
|
||||
music = "alacritty -t cmus --class cmus,cmus -e cmus",
|
||||
chat = "alacritty -t gomuks --class gomuks,gomuks -e gomuks",
|
||||
game = "retroarch",
|
||||
file = "alacritty -t vifm --class vifm,vifm -e ./.config/vifm/scripts/vifmrun",
|
||||
browser = "qutebrowser",
|
||||
terminal = "alacritty",
|
||||
editor = "emacsclient -c -a emacs",
|
||||
music = "alacritty -t cmus --class cmus,cmus -e cmus",
|
||||
chat = "element-desktop",
|
||||
game = "retroarch",
|
||||
file = "alacritty -t vifm --class vifm,vifm -e ./.config/vifm/scripts/vifmrun",
|
||||
browser = "firefox",
|
||||
office = "libreoffice"
|
||||
}
|
||||
return apps
|
||||
|
|
|
@ -3,4 +3,3 @@ awful.util.spawn_with_shell("lxpolkit &")
|
|||
awful.util.spawn_with_shell("$HOME/.fehbg &")
|
||||
awful.util.spawn_with_shell("unclutter --hide-on-touch &")
|
||||
awful.util.spawn_with_shell("picom --experimental-backends --config ~/.config/picom/picom.conf &")
|
||||
awful.util.spawn_with_shell("dunst --config ~/.config/dunst/dunstrc &")
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
local wibox = require("wibox")
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
local theme = require("theme.theme")
|
||||
local separators = require("core.bar.widgets.separator")
|
||||
|
||||
-- Keyboard layout widget
|
||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||
|
@ -10,13 +12,13 @@ mytextclock = wibox.widget.textclock()
|
|||
|
||||
screen.connect_signal("request::desktop_decoration", function(s)
|
||||
-- Tag names for each screen
|
||||
awful.tag({ "",
|
||||
awful.tag({ "",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"ﱘ",
|
||||
"",
|
||||
"",
|
||||
"פֿ",
|
||||
"",
|
||||
""
|
||||
}, s, awful.layout.layouts[1])
|
||||
|
@ -61,6 +63,18 @@ s.layout = awful.widget.watch(".config/awesome/core/bar/widgets/layout", 1)
|
|||
}
|
||||
}
|
||||
|
||||
-- Separators
|
||||
local spr = wibox.widget.textbox(" ")
|
||||
local spr_one_dl = separators.arrow_left(theme.bg_normal, theme.bar_bg_one)
|
||||
local spr_one_ld = separators.arrow_left(theme.bar_bg_one, theme.bar_bg_two)
|
||||
local spr_two_dl = separators.arrow_left(theme.bar_bg_two, theme.bar_bg_two)
|
||||
local spr_two_ld = separators.arrow_left(theme.bar_bg_two, theme.bar_bg_tre)
|
||||
local spr_tre_dl = separators.arrow_left(theme.bar_bg_tre, theme.bar_bg_tre)
|
||||
local spr_tre_ld = separators.arrow_left(theme.bar_bg_tre, theme.bar_bg_for)
|
||||
local spr_for_dl = separators.arrow_left(theme.bar_bg_for, theme.bar_bg_for)
|
||||
local spr_for_ld = separators.arrow_left(theme.bar_bg_for, theme.bar_bg_fiv)
|
||||
local spr_fiv_dl = separators.arrow_left(theme.bar_bg_fiv, theme.bar_bg_fiv)
|
||||
|
||||
-- Wibox
|
||||
s.mywibox = awful.wibar {
|
||||
position = "top",
|
||||
|
@ -79,21 +93,31 @@ s.layout = awful.widget.watch(".config/awesome/core/bar/widgets/layout", 1)
|
|||
nil,
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_one),
|
||||
-- Keyboar layout widget
|
||||
wibox.container.background(spr_one_dl, theme.bar_bg_one),
|
||||
wibox.container.background(spr, theme.bar_bg_one),
|
||||
wibox.container.background(s.layout, theme.bar_bg_one),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_one),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_tre),
|
||||
wibox.container.background(s.volume, theme.bar_bg_tre),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_tre),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_for),
|
||||
wibox.container.background(s.brightness, theme.bar_bg_for),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_for),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_two),
|
||||
wibox.container.background(s.battery, theme.bar_bg_two),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_two),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_fiv),
|
||||
wibox.container.background(spr, theme.bar_bg_one),
|
||||
wibox.container.background(spr_one_ld, theme.bar_bg_one),
|
||||
-- Volume widget
|
||||
wibox.container.background(spr_two_dl, theme.bar_bg_two),
|
||||
wibox.container.background(s.volume, theme.bar_bg_two),
|
||||
wibox.container.background(spr, theme.bar_bg_two),
|
||||
spr_two_ld,
|
||||
-- Brightness widget
|
||||
wibox.container.background(spr_tre_dl, theme.bar_bg_tre),
|
||||
wibox.container.background(s.brightness, theme.bar_bg_tre),
|
||||
wibox.container.background(spr, theme.bar_bg_tre),
|
||||
wibox.container.background(spr_tre_ld, theme.bar_bg_tre),
|
||||
-- Battery widget
|
||||
wibox.container.background(spr_for_dl, theme.bar_bg_for),
|
||||
wibox.container.background(s.battery, theme.bar_bg_for),
|
||||
wibox.container.background(spr, theme.bar_bg_for),
|
||||
wibox.container.background(spr_for_ld, theme.bar_bg_for),
|
||||
-- Wifi widget
|
||||
wibox.container.background(spr_fiv_dl, theme.bar_bg_fiv),
|
||||
wibox.container.background(s.wifi, theme.bar_bg_fiv),
|
||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_fiv),
|
||||
wibox.container.background(spr, theme.bar_bg_fiv),
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@ for battery in /sys/class/power_supply/BAT?*; do
|
|||
"Full") status="" ;;
|
||||
"Discharging") status="" ;;
|
||||
"Charging") status="" ;;
|
||||
"Not charging") status="" ;;
|
||||
"Not charging") status="" ;;
|
||||
"Unknown") status="" ;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
|
|
107
user/.config/awesome/core/bar/widgets/separator.lua
Normal file
107
user/.config/awesome/core/bar/widgets/separator.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
local wibox = require("wibox")
|
||||
local gears = require("gears")
|
||||
local beautiful = require("beautiful")
|
||||
|
||||
-- Lain Cairo separators util submodule
|
||||
-- lain.util.separators
|
||||
local separators = { height = beautiful.separators_height or 0, width = beautiful.separators_width or 9 }
|
||||
|
||||
-- [[ Arrow
|
||||
-- Right
|
||||
function separators.arrow_right(col1, col2)
|
||||
local widget = wibox.widget.base.make_widget()
|
||||
widget.col1 = col1
|
||||
widget.col2 = col2
|
||||
|
||||
widget.fit = function(_, _, _)
|
||||
return separators.width, separators.height
|
||||
end
|
||||
|
||||
widget.update = function(_, _)
|
||||
widget.col1 = col1
|
||||
widget.col2 = col2
|
||||
widget:emit_signal("widget::redraw_needed")
|
||||
end
|
||||
|
||||
widget.draw = function(_, _, cr, width, height)
|
||||
if widget.col2 ~= "alpha" then
|
||||
cr:set_source_rgba(gears.color.parse_color(widget.col2))
|
||||
cr:new_path()
|
||||
cr:move_to(0, 0)
|
||||
cr:line_to(width, height/2)
|
||||
cr:line_to(width, 0)
|
||||
cr:close_path()
|
||||
cr:fill()
|
||||
|
||||
cr:new_path()
|
||||
cr:move_to(0, height)
|
||||
cr:line_to(width, height/2)
|
||||
cr:line_to(width, height)
|
||||
cr:close_path()
|
||||
cr:fill()
|
||||
end
|
||||
|
||||
if widget.col1 ~= "alpha" then
|
||||
cr:set_source_rgba(gears.color.parse_color(widget.col1))
|
||||
cr:new_path()
|
||||
cr:move_to(0, 0)
|
||||
cr:line_to(width, height/2)
|
||||
cr:line_to(0, height)
|
||||
cr:close_path()
|
||||
cr:fill()
|
||||
end
|
||||
end
|
||||
|
||||
return widget
|
||||
end
|
||||
|
||||
-- Left
|
||||
function separators.arrow_left(col1, col2)
|
||||
local widget = wibox.widget.base.make_widget()
|
||||
widget.col1 = col1
|
||||
widget.col2 = col2
|
||||
|
||||
widget.fit = function(_, _, _)
|
||||
return separators.width, separators.height
|
||||
end
|
||||
|
||||
widget.update = function(c1, c2)
|
||||
widget.col1 = c1
|
||||
widget.col2 = c2
|
||||
widget:emit_signal("widget::redraw_needed")
|
||||
end
|
||||
|
||||
widget.draw = function(_, _, cr, width, height)
|
||||
if widget.col1 ~= "alpha" then
|
||||
cr:set_source_rgba(gears.color.parse_color(widget.col1))
|
||||
cr:new_path()
|
||||
cr:move_to(width, 0)
|
||||
cr:line_to(0, height/2)
|
||||
cr:line_to(0, 0)
|
||||
cr:close_path()
|
||||
cr:fill()
|
||||
|
||||
cr:new_path()
|
||||
cr:move_to(width, height)
|
||||
cr:line_to(0, height/2)
|
||||
cr:line_to(0, height)
|
||||
cr:close_path()
|
||||
cr:fill()
|
||||
end
|
||||
|
||||
if widget.col2 ~= "alpha" then
|
||||
cr:new_path()
|
||||
cr:move_to(width, 0)
|
||||
cr:line_to(0, height/2)
|
||||
cr:line_to(width, height)
|
||||
cr:close_path()
|
||||
|
||||
cr:set_source_rgba(gears.color.parse_color(widget.col2))
|
||||
cr:fill()
|
||||
end
|
||||
end
|
||||
|
||||
return widget
|
||||
end
|
||||
-- ]]
|
||||
return separators
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
# Prints the current volume or 🔇 if muted.
|
||||
[ $(pamixer --get-mute) = true ] && echo "x" && exit
|
||||
[ $(pamixer --get-mute) = true ] && echo " " && exit
|
||||
vol="$(pamixer --get-volume)"
|
||||
if [ "$vol" -gt "50" ]; then
|
||||
icon=""
|
||||
|
@ -9,6 +9,6 @@ elif [ "$vol" -gt "10" ]; then
|
|||
elif [ "$vol" -gt "0" ]; then
|
||||
icon=""
|
||||
else
|
||||
echo "x" && exit
|
||||
echo " " && exit
|
||||
fi
|
||||
echo "$icon $vol%"
|
||||
echo -e "$icon $vol%"
|
||||
|
|
|
@ -297,6 +297,7 @@ awful.keyboard.append_global_keybindings({
|
|||
elseif key == "3" then awful.util.spawn(apps.browser)
|
||||
elseif key == "4" then awful.util.spawn(apps.chat)
|
||||
elseif key == "5" then awful.util.spawn(apps.music)
|
||||
elseif key == "8" then awful.util.spawn(apps.office)
|
||||
elseif key == "9" then awful.util.spawn(apps.game)
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
|
@ -344,6 +345,24 @@ awful.keyboard.append_global_keybindings({
|
|||
end,
|
||||
{description = "followed by KEY", group = "dmenu scripts"}
|
||||
),
|
||||
-- Terminal scripts (Super + t followed by KEY)
|
||||
awful.key({ modkey }, "t", function()
|
||||
local grabber
|
||||
grabber =
|
||||
awful.keygrabber.run(
|
||||
function(_, key, event)
|
||||
if event == "release" then return end
|
||||
if key == "m" then awful.spawn.with_shell("alacritty --title youm --class youm,youm -e ytfzf -mlst")
|
||||
elseif key == "y" then awful.spawn.with_shell("alacritty --title ytfzf --class ytfzf,ytfzf -e ytfzf -flst")
|
||||
elseif key == "a" then awful.spawn.with_shell("alacritty --title ani-cli --class ani-cli,ani-cli -e ani-cli -f")
|
||||
elseif key == "f" then awful.spawn.with_shell("alacritty --title flix-cli --class flix-cli,flix-cli -e flix-cli")
|
||||
end
|
||||
awful.keygrabber.stop(grabber)
|
||||
end
|
||||
)
|
||||
end,
|
||||
{description = "followed by KEY", group = "dmenu scripts"}
|
||||
),
|
||||
})
|
||||
--[[ ]]
|
||||
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
local naughty = require("naughty")
|
||||
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
naughty.connect_signal("request::display_error", function(message, startup)
|
||||
naughty.notification {
|
||||
urgency = "critical",
|
||||
title = "Oops, an error happened"..(startup and " during startup!" or "!"),
|
||||
message = message
|
||||
}
|
||||
end)
|
||||
-- }}}
|
51
user/.config/awesome/core/helpers.lua
Normal file
51
user/.config/awesome/core/helpers.lua
Normal file
|
@ -0,0 +1,51 @@
|
|||
local naughty = require("naughty")
|
||||
local awful = require("awful")
|
||||
local ruled = require("ruled")
|
||||
local naughty = require("naughty")
|
||||
local beautiful = require("beautiful")
|
||||
local gears = require("gears")
|
||||
|
||||
-- {{{ Error handling
|
||||
naughty.connect_signal("request::display_error", function(message, startup)
|
||||
naughty.notification {
|
||||
urgency = "critical",
|
||||
title = "Oops, an error happened"..(startup and " during startup!" or "!"),
|
||||
message = message
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Notifications
|
||||
ruled.notification.connect_signal('request::rules', function()
|
||||
ruled.notification.append_rule {
|
||||
rule = { },
|
||||
properties = {
|
||||
screen = awful.screen.preferred,
|
||||
implicit_timeout = 5,
|
||||
}
|
||||
}
|
||||
end)
|
||||
naughty.connect_signal("request::display", function(n)
|
||||
naughty.layout.box { notification = n }
|
||||
end)
|
||||
naughty.config.defaults['icon_size'] = 80
|
||||
beautiful.notification_shape = function(cr, w, h)
|
||||
gears.shape.rounded_rect(cr, w, h, 8)
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- No borders when rearranging only 1 non-floating or maximized client
|
||||
screen.connect_signal("arrange", function (s)
|
||||
local max = s.selected_tag.layout.name == "max"
|
||||
local only_one = #s.tiled_clients == 1 -- use tiled_clients so that other floating windows don't affect the count
|
||||
-- but iterate over clients instead of tiled_clients as tiled_clients doesn't include maximized windows
|
||||
for _, c in pairs(s.clients) do
|
||||
if (max or only_one) and not c.floating or c.maximized then
|
||||
c.border_width = 0
|
||||
else
|
||||
c.border_width = beautiful.border_width
|
||||
end
|
||||
end
|
||||
end)
|
||||
-- }}}
|
|
@ -1,18 +0,0 @@
|
|||
local awful = require("awful")
|
||||
local ruled = require("ruled")
|
||||
local naughty = require("naughty")
|
||||
|
||||
ruled.notification.connect_signal('request::rules', function()
|
||||
-- Notifications timeout
|
||||
ruled.notification.append_rule {
|
||||
rule = { },
|
||||
properties = {
|
||||
screen = awful.screen.preferred,
|
||||
implicit_timeout = 5,
|
||||
}
|
||||
}
|
||||
end)
|
||||
naughty.connect_signal("request::display", function(n)
|
||||
naughty.layout.box { notification = n }
|
||||
end)
|
||||
naughty.config.defaults['icon_size'] = 80
|
|
@ -54,7 +54,7 @@ ruled.client.connect_signal("request::rules", function()
|
|||
"Virt-manager"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" },
|
||||
properties = { tag = "" },
|
||||
}
|
||||
-- TAG 2
|
||||
ruled.client.append_rule {
|
||||
|
@ -66,30 +66,35 @@ ruled.client.connect_signal("request::rules", function()
|
|||
rule_any = { class = {
|
||||
"Brave-browser",
|
||||
"librewolf",
|
||||
"Firefox",
|
||||
"firefox",
|
||||
"Chromium",
|
||||
"Bitwarden",
|
||||
"qutebrowser"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 4
|
||||
ruled.client.append_rule {
|
||||
rule = { class = "gomuks" },
|
||||
properties = { tag = "" }
|
||||
rule = { class = {
|
||||
"gomuks",
|
||||
"Element"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
}
|
||||
-- TAG 5
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"cmus",
|
||||
"youm",
|
||||
"Audacity",
|
||||
"Ardour",
|
||||
"Carla2",
|
||||
"Carla2-Control"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
properties = { tag = "ﱘ" }
|
||||
}
|
||||
-- TAG 6
|
||||
ruled.client.append_rule {
|
||||
|
@ -100,7 +105,10 @@ ruled.client.connect_signal("request::rules", function()
|
|||
"SimpleScreenRecorder",
|
||||
"Ghb",
|
||||
"obs",
|
||||
"mpv"
|
||||
"mpv",
|
||||
"ani-cli",
|
||||
"flix-cli",
|
||||
"ytfzf"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
|
@ -117,20 +125,15 @@ ruled.client.connect_signal("request::rules", function()
|
|||
"Xournalpp",
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
properties = { tag = "פֿ" }
|
||||
}
|
||||
-- TAG 8
|
||||
ruled.client.append_rule {
|
||||
rule_any = { class = {
|
||||
"DesktopEditors",
|
||||
"libreoffice.*",
|
||||
"Soffice",
|
||||
"libreoffice-startcenter",
|
||||
"Joplin"
|
||||
},
|
||||
instance = {
|
||||
"libreoffice.*"
|
||||
},
|
||||
name = {
|
||||
"libreoffice.*"
|
||||
}
|
||||
},
|
||||
properties = { tag = "" }
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
local beautiful = require("beautiful")
|
||||
-- No borders when rearranging only 1 non-floating or maximized client
|
||||
screen.connect_signal("arrange", function (s)
|
||||
local max = s.selected_tag.layout.name == "max"
|
||||
local only_one = #s.tiled_clients == 1 -- use tiled_clients so that other floating windows don't affect the count
|
||||
-- but iterate over clients instead of tiled_clients as tiled_clients doesn't include maximized windows
|
||||
for _, c in pairs(s.clients) do
|
||||
if (max or only_one) and not c.floating or c.maximized then
|
||||
c.border_width = 0
|
||||
else
|
||||
c.border_width = beautiful.border_width
|
||||
end
|
||||
end
|
||||
end)
|
|
@ -1,12 +1,10 @@
|
|||
-- Imports
|
||||
local beautiful = require("beautiful")
|
||||
beautiful.init(string.format("%s/.config/awesome/theme/theme.lua", os.getenv("HOME"))) -- Selected theme
|
||||
require("core.error_handling")
|
||||
require("core.helpers")
|
||||
require("core.apps")
|
||||
require("core.layouts")
|
||||
require("core.bar.bar")
|
||||
require("core.bindings")
|
||||
require("core.rules")
|
||||
require("core.notif")
|
||||
require("core.signals")
|
||||
require("core.autostart")
|
||||
|
|
|
@ -16,9 +16,9 @@ theme.font = "mononoki Nerd Font 12"
|
|||
|
||||
-- {{{ bar colors
|
||||
theme.bar_bg_one = "#427b58"
|
||||
theme.bar_bg_two = "#076678"
|
||||
theme.bar_bg_tre = "#b57614"
|
||||
theme.bar_bg_for = "#9d0006"
|
||||
theme.bar_bg_two = "#b57614"
|
||||
theme.bar_bg_tre = "#9d0006"
|
||||
theme.bar_bg_for = "#076678"
|
||||
theme.bar_bg_fiv = "#8f3f71"
|
||||
theme.bar_clock = "#3c3836"
|
||||
--- }}}
|
||||
|
@ -35,7 +35,7 @@ theme.bg_urgent = "#a89984"
|
|||
-- {{{ Borders
|
||||
beautiful.gap_single_client = false
|
||||
theme.useless_gap = dpi(0)
|
||||
theme.border_width = dpi(0.5)
|
||||
theme.border_width = dpi(1)
|
||||
theme.border_normal = "#504945"
|
||||
theme.border_focus = "#9d0006"
|
||||
theme.border_marked = "#9d0006"
|
||||
|
|
|
@ -1,165 +0,0 @@
|
|||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom castero config
|
||||
##
|
||||
|
||||
[client]
|
||||
restrict_memory_usage = False
|
||||
delete_feed_confirmation = False
|
||||
reload_feeds_threshold = 10
|
||||
max_episodes = -1 # Set to -1 for no limit
|
||||
retain_absent_episodes = False
|
||||
default_layout = 1
|
||||
disable_vertical_borders = False
|
||||
clean_html_descriptions = True
|
||||
refresh_delay = 30
|
||||
player = mpv
|
||||
execute_command =
|
||||
proxy_http =
|
||||
proxy_https =
|
||||
add_only_unplayed_episodes = False
|
||||
|
||||
[feeds]
|
||||
reload_on_start = True
|
||||
|
||||
[downloads]
|
||||
custom_download_dir = $HOME/Downloads
|
||||
request_timeout = 3
|
||||
|
||||
[colors]
|
||||
# The foreground (text) color of the main interface.
|
||||
color_foreground = yellow
|
||||
|
||||
# The background color of the main interface.
|
||||
color_background = black
|
||||
|
||||
# The foreground (text) color of selected items.
|
||||
color_foreground_alt = white
|
||||
|
||||
# The background color of selected items.
|
||||
color_background_alt = black
|
||||
|
||||
# The foreground (text) color of marked items. Paired with color_background.
|
||||
color_foreground_dim = green
|
||||
|
||||
# The foreground (text) color of status lines. Paired with color_background.
|
||||
color_foreground_status = white
|
||||
|
||||
# The foreground (text) color of menu headings. Paired with color_background.
|
||||
color_foreground_heading = yellow
|
||||
|
||||
# The foreground (text) color of dividers. Paired with color_background.
|
||||
color_foreground_dividers = white
|
||||
|
||||
[playback]
|
||||
seek_distance_forward = 30
|
||||
seek_distance_backward = 10
|
||||
default_playback_speed = 1.0
|
||||
default_volume = 100
|
||||
volume_adjust_distance = 5
|
||||
resume_rewind_distance = 0
|
||||
|
||||
[keys]
|
||||
# Show the help menu.
|
||||
key_help = ?
|
||||
|
||||
# Exit the client
|
||||
key_exit = q
|
||||
|
||||
# Add a feed.
|
||||
key_add_feed = a
|
||||
|
||||
# Remove the selected feed.
|
||||
key_remove = d
|
||||
|
||||
# Reload/refresh all feeds.
|
||||
key_reload = r
|
||||
|
||||
# Reload/refresh the selected feed.
|
||||
key_reload_selected = R
|
||||
|
||||
# Save episode for offline playback.
|
||||
key_save = s
|
||||
|
||||
# Delete downloaded episodes.
|
||||
key_delete = x
|
||||
|
||||
# Navigate up.
|
||||
key_up = k
|
||||
|
||||
# Navigate right.
|
||||
key_right = l
|
||||
|
||||
# Navigate down.
|
||||
key_down = j
|
||||
|
||||
# Navigate left.
|
||||
key_left = h
|
||||
|
||||
# Scroll menu up.
|
||||
key_scroll_up = PPAGE
|
||||
|
||||
# Scroll menu down.
|
||||
key_scroll_down = NPAGE
|
||||
|
||||
# Play selected feed/episode.
|
||||
key_play_selected = ENTER
|
||||
|
||||
# Add selected feed/episode to queue.
|
||||
key_add_selected = SPACE
|
||||
|
||||
# Clear the queue.
|
||||
key_clear = c
|
||||
|
||||
# Clear progress from episode.
|
||||
key_clear_progress = z
|
||||
|
||||
# Go to the next episode in the queue.
|
||||
key_next = n
|
||||
|
||||
# Execute a command on the selected episode. See also execute_command.
|
||||
key_execute = e
|
||||
|
||||
# Invert the order of the menu.
|
||||
key_invert = i
|
||||
|
||||
# Filter the contents of the menu. Press again to clear the filter.
|
||||
key_filter = /
|
||||
|
||||
# Mark the episode as played/unplayed.
|
||||
key_mark_played = m
|
||||
|
||||
# Pause/play the current episode.
|
||||
key_pause_play = p
|
||||
|
||||
# Alternate binding for key_pause_play -- make identical to disable.
|
||||
key_pause_play_alt = k
|
||||
|
||||
# Seek forward.
|
||||
key_seek_forward = L
|
||||
|
||||
# Alternate binding for key_seek_forward -- make identical to disable.
|
||||
key_seek_forward_alt = RIGHT
|
||||
|
||||
# Seek backward.
|
||||
key_seek_backward = H
|
||||
|
||||
# Alternate binding for key_seek_backward -- make identical to disable.
|
||||
key_seek_backward_alt = LEFT
|
||||
|
||||
# Increase playback speed.
|
||||
key_rate_increase = ]
|
||||
|
||||
# Decrease playback speed.
|
||||
key_rate_decrease = [
|
||||
|
||||
# Increase volume.
|
||||
key_volume_increase = =
|
||||
|
||||
# Decrease volume.
|
||||
key_volume_decrease = -
|
||||
|
||||
# Show episode URL.
|
||||
key_show_url = u
|
|
@ -1,62 +0,0 @@
|
|||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom newsboat config
|
||||
##
|
||||
|
||||
#show-read-feeds no
|
||||
auto-reload yes
|
||||
|
||||
external-url-viewer "urlscan -dc -r 'linkhandler {}'"
|
||||
|
||||
bind-key j down
|
||||
bind-key k up
|
||||
bind-key j next articlelist
|
||||
bind-key k prev articlelist
|
||||
bind-key J next-feed articlelist
|
||||
bind-key K prev-feed articlelist
|
||||
bind-key G end
|
||||
bind-key g home
|
||||
bind-key d pagedown
|
||||
bind-key u pageup
|
||||
bind-key l open
|
||||
bind-key h quit
|
||||
bind-key a toggle-article-read
|
||||
bind-key n next-unread
|
||||
bind-key N prev-unread
|
||||
bind-key D pb-download
|
||||
bind-key U show-urls
|
||||
bind-key x pb-delete
|
||||
|
||||
color listnormal cyan default
|
||||
color listfocus black yellow standout bold
|
||||
color listnormal_unread blue default
|
||||
color listfocus_unread yellow default bold
|
||||
color info red black bold
|
||||
color article white default bold
|
||||
|
||||
browser linkhandler
|
||||
macro , open-in-browser
|
||||
macro t set browser "qndl" ; open-in-browser ; set browser linkhandler
|
||||
macro a set browser "tsp yt-dlp --embed-metadata -xic -f bestaudio/best" ; open-in-browser ; set browser linkhandler
|
||||
macro v set browser "setsid -f mpv" ; open-in-browser ; set browser linkhandler
|
||||
macro w set browser "lynx" ; open-in-browser ; set browser linkhandler
|
||||
macro d set browser "dmenuhandler" ; open-in-browser ; set browser linkhandler
|
||||
macro c set browser "echo %u | xclip -r -sel c" ; open-in-browser ; set browser linkhandler
|
||||
macro C set browser "youtube-viewer --comments=%u" ; open-in-browser ; set browser linkhandler
|
||||
macro p set browser "peertubetorrent %u 480" ; open-in-browser ; set browser linkhandler
|
||||
macro P set browser "peertubetorrent %u 1080" ; open-in-browser ; set browser linkhandler
|
||||
|
||||
highlight all "---.*---" yellow
|
||||
highlight feedlist ".*(0/0))" black
|
||||
highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold
|
||||
highlight article "(^Link:.*|^Date:.*)" default default
|
||||
highlight article "https?://[^ ]+" green default
|
||||
highlight article "^(Title):.*$" blue default
|
||||
highlight article "\\[[0-9][0-9]*\\]" magenta default bold
|
||||
highlight article "\\[image\\ [0-9]+\\]" green default bold
|
||||
highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
|
||||
highlight article ":.*\\(link\\)$" cyan default
|
||||
highlight article ":.*\\(image\\)$" blue default
|
||||
highlight article ":.*\\(embedded flash\\)$" magenta default
|
|
@ -1,27 +0,0 @@
|
|||
https://techhut.tv/rss/ "Techhut"
|
||||
https://lukesmith.xyz/rss.xml "Luke Smith"
|
||||
https://notrelated.xyz/rss "Not Related"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "Luke Smith (YouTube)"
|
||||
https://landchad.net/rss.xml "Landchad"
|
||||
https://based.cooking/rss.xml "Based Cooking"
|
||||
https://artixlinux.org/feed.php "Artix Linux"
|
||||
https://www.archlinux.org/feeds/news/ "Arch Linux"
|
||||
https://switchedtolinux.com/rss "Switched to Linux"
|
||||
https://www.reddit.com/r/linux.rss "Reddit linux"
|
||||
https://www.reddit.com/r/commandline.rss "Reddit Commandline"
|
||||
https://www.reddit.com/r/distrotube.rss "Reddit Distrotube"
|
||||
https://www.reddit.com/r/emacs.rss "Reddit Emacs"
|
||||
https://www.gamingonlinux.com/article_rss.php "Gaming on linux"
|
||||
https://hackaday.com/blog/feed/ "Hackaday"
|
||||
https://opensource.com/feed "Opensource"
|
||||
https://linux.softpedia.com/backend.xml "Softpedia Linux"
|
||||
https://itsfoss.com/feed/ "ItsFoss"
|
||||
https://www.zdnet.com/topic/linux/rss.xml "Zdnet Linux"
|
||||
https://www.phoronix.com/rss.php "Phoronix"
|
||||
http://feeds.feedburner.com/d0od "Omg Ubuntu"
|
||||
https://www.computerworld.com/index.rss "Computerworld"
|
||||
https://www.networkworld.com/category/linux/index.rss "Networkworld Linux"
|
||||
https://www.techrepublic.com/rssfeeds/topic/open-source/ "Techrepublic opensource"
|
||||
https://betanews.com/feed "Betanews Linux"
|
||||
http://lxer.com/module/newswire/headlines.rss "Lxer"
|
||||
https://distrowatch.com/news/dwd.xml "Distrowatch"
|
|
@ -56,7 +56,7 @@ focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
|||
# opaity-rule = []
|
||||
|
||||
## General Settings
|
||||
backend = "glx";
|
||||
backend = "xrender";
|
||||
vsync = true;
|
||||
dbe = false;
|
||||
detect-client-opacity = true;
|
||||
|
|
|
@ -175,7 +175,7 @@ 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 = '~/downloads'
|
||||
c.downloads.location.directory = '~/Downloads'
|
||||
|
||||
# When to show the tab bar.
|
||||
# Type: String
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
# - Dependencies: scrot, dmenu, notify-send
|
||||
|
||||
## CREATING SCREENSHOT FOLDER ##
|
||||
mkdir -p "$HOME/pictures/screenshots"
|
||||
cd "$HOME/pictures/screenshots" || exit 0
|
||||
mkdir -p "$HOME/Pictures/Screenshots"
|
||||
cd "$HOME/Pictures/Screenshots" || exit 0
|
||||
|
||||
## CHOICES ##
|
||||
cho1=" Entire screen"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# - Dependencies: rofi, fd, feh
|
||||
|
||||
## MAIN VARIABLES AND COMMANDS ##
|
||||
walldir="pictures/wallpapers/" # wallpapers folder, change it to yours, make sure that it ends with a /
|
||||
walldir="Pictures/Wallpapers/" # wallpapers folder, change it to yours, make sure that it ends with a /
|
||||
cd "$walldir" || exit
|
||||
|
||||
## SELECT PICTURE FUNCTION ##
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
# This file is written by xdg-user-dirs-update
|
||||
# If you want to change or add directories, just edit the line you're
|
||||
# interested in. All local changes will be retained on the next run.
|
||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||
# absolute path. No other format is supported.
|
||||
#
|
||||
XDG_DESKTOP_DIR="$HOME/temporal"
|
||||
XDG_DOWNLOAD_DIR="$HOME/downloads"
|
||||
XDG_TEMPLATES_DIR="$HOME/documents/templates"
|
||||
XDG_PUBLICSHARE_DIR="$HOME/documents/public"
|
||||
XDG_DOCUMENTS_DIR="$HOME/documents"
|
||||
XDG_MUSIC_DIR="$HOME/music"
|
||||
XDG_PICTURES_DIR="$HOME/pictures"
|
||||
XDG_VIDEOS_DIR="$HOME/videos"
|
Loading…
Reference in a new issue