Updated
This commit is contained in:
parent
f59b1375bf
commit
f1c98d95d3
24 changed files with 273 additions and 414 deletions
51
user/.bashrc
51
user/.bashrc
|
@ -137,30 +137,13 @@ alias \
|
||||||
l.='exa -a | egrep "^\."'
|
l.='exa -a | egrep "^\."'
|
||||||
|
|
||||||
# function to detect os and assign aliases to package managers
|
# function to detect os and assign aliases to package managers
|
||||||
os=$(grep NAME /etc/os-release | head -1 | cut -d'=' -f2 | sed 's/["]//g')
|
alias \
|
||||||
if [ "${os}" = "Arch Linux" ]; then
|
pac-up="paru -Syyu" \
|
||||||
alias \
|
pac-get="paru -S" \
|
||||||
pac-up="paru -Syyu" \
|
pac-rmv="paru -Rcns" \
|
||||||
pac-get="paru -S" \
|
pac-rmv-sec="paru -R" \
|
||||||
pac-rmv="paru -Rcns" \
|
pac-qry="paru -Ss" \
|
||||||
pac-rmv-sec="paru -R" \
|
pac-cln="paru -Scc"
|
||||||
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)
|
# colorize grep output (good for log files)
|
||||||
alias \
|
alias \
|
||||||
|
@ -206,22 +189,10 @@ alias \
|
||||||
music="cmus"
|
music="cmus"
|
||||||
|
|
||||||
# power management
|
# power management
|
||||||
if [ "${os}" = "Arch Linux" ]; then
|
alias \
|
||||||
alias \
|
po="systemctl poweroff" \
|
||||||
po="systemctl poweroff" \
|
sp="systemctl suspend" \
|
||||||
sp="systemctl suspend" \
|
rb="systemctl reboot"
|
||||||
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
|
# file management
|
||||||
alias \
|
alias \
|
||||||
|
|
|
@ -358,7 +358,7 @@ env:
|
||||||
|
|
||||||
## Window settigns
|
## Window settigns
|
||||||
window:
|
window:
|
||||||
opacity: 0.96
|
opacity: 0.90
|
||||||
padding:
|
padding:
|
||||||
x: 6
|
x: 6
|
||||||
y: 6
|
y: 6
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
-- Apps
|
-- Apps
|
||||||
local apps = {
|
local apps = {
|
||||||
terminal = "alacritty",
|
terminal = "alacritty",
|
||||||
editor = "emacsclient -c -a emacs",
|
editor = "emacsclient -c -a emacs",
|
||||||
music = "alacritty -t cmus --class cmus,cmus -e cmus",
|
music = "alacritty -t cmus --class cmus,cmus -e cmus",
|
||||||
chat = "alacritty -t gomuks --class gomuks,gomuks -e gomuks",
|
chat = "element-desktop",
|
||||||
game = "retroarch",
|
game = "retroarch",
|
||||||
file = "alacritty -t vifm --class vifm,vifm -e ./.config/vifm/scripts/vifmrun",
|
file = "alacritty -t vifm --class vifm,vifm -e ./.config/vifm/scripts/vifmrun",
|
||||||
browser = "qutebrowser",
|
browser = "firefox",
|
||||||
|
office = "libreoffice"
|
||||||
}
|
}
|
||||||
return apps
|
return apps
|
||||||
|
|
|
@ -3,4 +3,3 @@ awful.util.spawn_with_shell("lxpolkit &")
|
||||||
awful.util.spawn_with_shell("$HOME/.fehbg &")
|
awful.util.spawn_with_shell("$HOME/.fehbg &")
|
||||||
awful.util.spawn_with_shell("unclutter --hide-on-touch &")
|
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("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 wibox = require("wibox")
|
||||||
|
local gears = require("gears")
|
||||||
local awful = require("awful")
|
local awful = require("awful")
|
||||||
local theme = require("theme.theme")
|
local theme = require("theme.theme")
|
||||||
|
local separators = require("core.bar.widgets.separator")
|
||||||
|
|
||||||
-- Keyboard layout widget
|
-- Keyboard layout widget
|
||||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||||
|
@ -10,13 +12,13 @@ mytextclock = wibox.widget.textclock()
|
||||||
|
|
||||||
screen.connect_signal("request::desktop_decoration", function(s)
|
screen.connect_signal("request::desktop_decoration", function(s)
|
||||||
-- Tag names for each screen
|
-- Tag names for each screen
|
||||||
awful.tag({ "",
|
awful.tag({ "",
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
"",
|
"ﱘ",
|
||||||
"",
|
"",
|
||||||
"",
|
"פֿ",
|
||||||
"",
|
"",
|
||||||
""
|
""
|
||||||
}, s, awful.layout.layouts[1])
|
}, 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
|
-- Wibox
|
||||||
s.mywibox = awful.wibar {
|
s.mywibox = awful.wibar {
|
||||||
position = "top",
|
position = "top",
|
||||||
|
@ -79,21 +93,31 @@ s.layout = awful.widget.watch(".config/awesome/core/bar/widgets/layout", 1)
|
||||||
nil,
|
nil,
|
||||||
{ -- Right widgets
|
{ -- Right widgets
|
||||||
layout = wibox.layout.fixed.horizontal,
|
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(s.layout, theme.bar_bg_one),
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_one),
|
wibox.container.background(spr, theme.bar_bg_one),
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_tre),
|
wibox.container.background(spr_one_ld, theme.bar_bg_one),
|
||||||
wibox.container.background(s.volume, theme.bar_bg_tre),
|
-- Volume widget
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_tre),
|
wibox.container.background(spr_two_dl, theme.bar_bg_two),
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_for),
|
wibox.container.background(s.volume, theme.bar_bg_two),
|
||||||
wibox.container.background(s.brightness, theme.bar_bg_for),
|
wibox.container.background(spr, theme.bar_bg_two),
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_for),
|
spr_two_ld,
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_two),
|
-- Brightness widget
|
||||||
wibox.container.background(s.battery, theme.bar_bg_two),
|
wibox.container.background(spr_tre_dl, theme.bar_bg_tre),
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_two),
|
wibox.container.background(s.brightness, theme.bar_bg_tre),
|
||||||
wibox.container.background(wibox.widget.textbox(" "), theme.bar_bg_fiv),
|
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(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="" ;;
|
"Full") status="" ;;
|
||||||
"Discharging") status="" ;;
|
"Discharging") status="" ;;
|
||||||
"Charging") status="" ;;
|
"Charging") status="" ;;
|
||||||
"Not charging") status="" ;;
|
"Not charging") status="" ;;
|
||||||
"Unknown") status="" ;;
|
"Unknown") status="" ;;
|
||||||
*) exit 1 ;;
|
*) exit 1 ;;
|
||||||
esac
|
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
|
#!/bin/bash
|
||||||
# Prints the current volume or 🔇 if muted.
|
# Prints the current volume or 🔇 if muted.
|
||||||
[ $(pamixer --get-mute) = true ] && echo "x" && exit
|
[ $(pamixer --get-mute) = true ] && echo " " && exit
|
||||||
vol="$(pamixer --get-volume)"
|
vol="$(pamixer --get-volume)"
|
||||||
if [ "$vol" -gt "50" ]; then
|
if [ "$vol" -gt "50" ]; then
|
||||||
icon=""
|
icon=""
|
||||||
|
@ -9,6 +9,6 @@ elif [ "$vol" -gt "10" ]; then
|
||||||
elif [ "$vol" -gt "0" ]; then
|
elif [ "$vol" -gt "0" ]; then
|
||||||
icon=""
|
icon=""
|
||||||
else
|
else
|
||||||
echo "x" && exit
|
echo " " && exit
|
||||||
fi
|
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 == "3" then awful.util.spawn(apps.browser)
|
||||||
elseif key == "4" then awful.util.spawn(apps.chat)
|
elseif key == "4" then awful.util.spawn(apps.chat)
|
||||||
elseif key == "5" then awful.util.spawn(apps.music)
|
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)
|
elseif key == "9" then awful.util.spawn(apps.game)
|
||||||
end
|
end
|
||||||
awful.keygrabber.stop(grabber)
|
awful.keygrabber.stop(grabber)
|
||||||
|
@ -344,6 +345,24 @@ awful.keyboard.append_global_keybindings({
|
||||||
end,
|
end,
|
||||||
{description = "followed by KEY", group = "dmenu scripts"}
|
{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"
|
"Virt-manager"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
properties = { tag = "" },
|
properties = { tag = "" },
|
||||||
}
|
}
|
||||||
-- TAG 2
|
-- TAG 2
|
||||||
ruled.client.append_rule {
|
ruled.client.append_rule {
|
||||||
|
@ -66,30 +66,35 @@ ruled.client.connect_signal("request::rules", function()
|
||||||
rule_any = { class = {
|
rule_any = { class = {
|
||||||
"Brave-browser",
|
"Brave-browser",
|
||||||
"librewolf",
|
"librewolf",
|
||||||
"Firefox",
|
"firefox",
|
||||||
"Chromium",
|
"Chromium",
|
||||||
"Bitwarden",
|
"Bitwarden",
|
||||||
"qutebrowser"
|
"qutebrowser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
properties = { tag = "" }
|
properties = { tag = "" }
|
||||||
}
|
}
|
||||||
-- TAG 4
|
-- TAG 4
|
||||||
ruled.client.append_rule {
|
ruled.client.append_rule {
|
||||||
rule = { class = "gomuks" },
|
rule = { class = {
|
||||||
properties = { tag = "" }
|
"gomuks",
|
||||||
|
"Element"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
properties = { tag = "" }
|
||||||
}
|
}
|
||||||
-- TAG 5
|
-- TAG 5
|
||||||
ruled.client.append_rule {
|
ruled.client.append_rule {
|
||||||
rule_any = { class = {
|
rule_any = { class = {
|
||||||
"cmus",
|
"cmus",
|
||||||
|
"youm",
|
||||||
"Audacity",
|
"Audacity",
|
||||||
"Ardour",
|
"Ardour",
|
||||||
"Carla2",
|
"Carla2",
|
||||||
"Carla2-Control"
|
"Carla2-Control"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
properties = { tag = "" }
|
properties = { tag = "ﱘ" }
|
||||||
}
|
}
|
||||||
-- TAG 6
|
-- TAG 6
|
||||||
ruled.client.append_rule {
|
ruled.client.append_rule {
|
||||||
|
@ -100,7 +105,10 @@ ruled.client.connect_signal("request::rules", function()
|
||||||
"SimpleScreenRecorder",
|
"SimpleScreenRecorder",
|
||||||
"Ghb",
|
"Ghb",
|
||||||
"obs",
|
"obs",
|
||||||
"mpv"
|
"mpv",
|
||||||
|
"ani-cli",
|
||||||
|
"flix-cli",
|
||||||
|
"ytfzf"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
properties = { tag = "" }
|
properties = { tag = "" }
|
||||||
|
@ -117,21 +125,16 @@ ruled.client.connect_signal("request::rules", function()
|
||||||
"Xournalpp",
|
"Xournalpp",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
properties = { tag = "" }
|
properties = { tag = "פֿ" }
|
||||||
}
|
}
|
||||||
-- TAG 8
|
-- TAG 8
|
||||||
ruled.client.append_rule {
|
ruled.client.append_rule {
|
||||||
rule_any = { class = {
|
rule_any = { class = {
|
||||||
"DesktopEditors",
|
"DesktopEditors",
|
||||||
"libreoffice.*",
|
"Soffice",
|
||||||
|
"libreoffice-startcenter",
|
||||||
"Joplin"
|
"Joplin"
|
||||||
},
|
}
|
||||||
instance = {
|
|
||||||
"libreoffice.*"
|
|
||||||
},
|
|
||||||
name = {
|
|
||||||
"libreoffice.*"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
properties = { tag = "" }
|
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
|
-- Imports
|
||||||
local beautiful = require("beautiful")
|
local beautiful = require("beautiful")
|
||||||
beautiful.init(string.format("%s/.config/awesome/theme/theme.lua", os.getenv("HOME"))) -- Selected theme
|
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.apps")
|
||||||
require("core.layouts")
|
require("core.layouts")
|
||||||
require("core.bar.bar")
|
require("core.bar.bar")
|
||||||
require("core.bindings")
|
require("core.bindings")
|
||||||
require("core.rules")
|
require("core.rules")
|
||||||
require("core.notif")
|
|
||||||
require("core.signals")
|
|
||||||
require("core.autostart")
|
require("core.autostart")
|
||||||
|
|
|
@ -16,9 +16,9 @@ theme.font = "mononoki Nerd Font 12"
|
||||||
|
|
||||||
-- {{{ bar colors
|
-- {{{ bar colors
|
||||||
theme.bar_bg_one = "#427b58"
|
theme.bar_bg_one = "#427b58"
|
||||||
theme.bar_bg_two = "#076678"
|
theme.bar_bg_two = "#b57614"
|
||||||
theme.bar_bg_tre = "#b57614"
|
theme.bar_bg_tre = "#9d0006"
|
||||||
theme.bar_bg_for = "#9d0006"
|
theme.bar_bg_for = "#076678"
|
||||||
theme.bar_bg_fiv = "#8f3f71"
|
theme.bar_bg_fiv = "#8f3f71"
|
||||||
theme.bar_clock = "#3c3836"
|
theme.bar_clock = "#3c3836"
|
||||||
--- }}}
|
--- }}}
|
||||||
|
@ -35,7 +35,7 @@ theme.bg_urgent = "#a89984"
|
||||||
-- {{{ Borders
|
-- {{{ Borders
|
||||||
beautiful.gap_single_client = false
|
beautiful.gap_single_client = false
|
||||||
theme.useless_gap = dpi(0)
|
theme.useless_gap = dpi(0)
|
||||||
theme.border_width = dpi(0.5)
|
theme.border_width = dpi(1)
|
||||||
theme.border_normal = "#504945"
|
theme.border_normal = "#504945"
|
||||||
theme.border_focus = "#9d0006"
|
theme.border_focus = "#9d0006"
|
||||||
theme.border_marked = "#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 = []
|
# opaity-rule = []
|
||||||
|
|
||||||
## General Settings
|
## General Settings
|
||||||
backend = "glx";
|
backend = "xrender";
|
||||||
vsync = true;
|
vsync = true;
|
||||||
dbe = false;
|
dbe = false;
|
||||||
detect-client-opacity = true;
|
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
|
# Directory to save downloads to. If unset, a sensible OS-specific
|
||||||
# default is used.
|
# default is used.
|
||||||
# Type: Directory
|
# Type: Directory
|
||||||
c.downloads.location.directory = '~/downloads'
|
c.downloads.location.directory = '~/Downloads'
|
||||||
|
|
||||||
# When to show the tab bar.
|
# When to show the tab bar.
|
||||||
# Type: String
|
# Type: String
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
# - Dependencies: scrot, dmenu, notify-send
|
# - Dependencies: scrot, dmenu, notify-send
|
||||||
|
|
||||||
## CREATING SCREENSHOT FOLDER ##
|
## CREATING SCREENSHOT FOLDER ##
|
||||||
mkdir -p "$HOME/pictures/screenshots"
|
mkdir -p "$HOME/Pictures/Screenshots"
|
||||||
cd "$HOME/pictures/screenshots" || exit 0
|
cd "$HOME/Pictures/Screenshots" || exit 0
|
||||||
|
|
||||||
## CHOICES ##
|
## CHOICES ##
|
||||||
cho1=" Entire screen"
|
cho1=" Entire screen"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# - Dependencies: rofi, fd, feh
|
# - Dependencies: rofi, fd, feh
|
||||||
|
|
||||||
## MAIN VARIABLES AND COMMANDS ##
|
## 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
|
cd "$walldir" || exit
|
||||||
|
|
||||||
## SELECT PICTURE FUNCTION ##
|
## 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