diff --git a/common/.config/awesome/ben/autostart.lua b/common/.config/awesome/ben/autostart.lua
index 0fe2311..eea7e53 100644
--- a/common/.config/awesome/ben/autostart.lua
+++ b/common/.config/awesome/ben/autostart.lua
@@ -1,18 +1,16 @@
local awful = require("awful")
local autostart = {
- ["picom"] = "/usr/bin/picom -b --config /home/alphakeks/.config/picom/picom.conf",
- --["spectacle"] = "/usr/bin/spectacle -s",
- --["easyeffects"] = "/usr/bin/easyeffects --gapplication-service",
- --["signal-desktop"] = "/usr/bin/signal-desktop",
- --["discord"] = "/usr/bin/flatpak run com.discordapp.Discord",
- --["steam"] = "/usr/bin/steam -silent",
- --["nextcloud"] = "/usr/bin/nextcloud",
+ ["picom"] = "/usr/bin/picom -b",
+ ["volumeicon"] = "/usr/bin/volumeicon",
+ ["xdilehook"] = "/usr/bin/xidlehook --not-when-fullscreen --not-when-audio --timer 600 'blurlock' ''",
+ ["nm-applet"] = "/usr/bin/nm-applet",
+ ["xfce4-power-manager"] = "/usr/bin/xfce4-power-manager",
}
for command_name, command in pairs(autostart) do
- awful.spawn.with_shell(string.format(
- "pgrep -u $USER '%s' > /dev/null || (%s)",
- command_name, command
- ))
+ awful.spawn.with_shell(string.format(
+ "pgrep -u $USER '%s' > /dev/null || (%s)",
+ command_name, command
+ ))
end
diff --git a/common/.config/awesome/ben/backlight.lua b/common/.config/awesome/ben/backlight.lua
new file mode 100644
index 0000000..6571751
--- /dev/null
+++ b/common/.config/awesome/ben/backlight.lua
@@ -0,0 +1,101 @@
+-- BACKLIGHT
+
+-- ===================================================================
+-- Initialization
+-- ===================================================================
+
+
+local wibox = require("wibox")
+local awful = require("awful")
+local gears = require("gears")
+local beautiful = require("beautiful")
+local dpi = beautiful.xresources.apply_dpi
+
+local offsetx = dpi(56)
+local offsety = dpi(256)
+local screen = awful.screen.focused()
+local icon_dir = gears.filesystem.get_configuration_dir() .. "/icons/backlight/"
+--
+-- ===================================================================
+-- Appearance & Functionality
+-- ===================================================================
+
+
+local backlight_icon = wibox.widget {
+ widget = wibox.widget.imagebox
+}
+
+-- create the backlight_adjust component
+local backlight_adjust = wibox({
+ screen = awful.screen.focused(),
+ x = screen.geometry.width - offsetx,
+ y = (screen.geometry.height / 2) - (offsety / 2),
+ width = dpi(48),
+ height = offsety,
+ bg = beautiful.hud_panel_bg,
+ shape = gears.shape.rounded_rect,
+ visible = false,
+ ontop = true
+})
+
+local backlight_bar = wibox.widget{
+ widget = wibox.widget.progressbar,
+ shape = gears.shape.rounded_bar,
+ color = beautiful.hud_slider_fg,
+ background_color = beautiful.hud_slider_bg,
+ max_value = 100,
+ value = 0
+}
+
+backlight_adjust:setup {
+ layout = wibox.layout.align.vertical,
+ {
+ wibox.container.margin(
+ backlight_bar, dpi(14), dpi(20), dpi(20), dpi(20)
+ ),
+ forced_height = offsety * 0.75,
+ direction = "east",
+ layout = wibox.container.rotate
+ },
+ wibox.container.margin(
+ backlight_icon
+ )
+}
+
+-- create a 4 second timer to hide the volume adjust
+-- component whenever the timer is started
+local hide_backlight_adjust = gears.timer {
+ timeout = 2,
+ autostart = true,
+ callback = function()
+ backlight_adjust.visible = false
+ end
+}
+
+-- show backlight-adjust when "backlight_change" signal is emitted
+awesome.connect_signal("backlight_change",
+ function()
+ -- set new brightness value
+ awful.spawn.easy_async_with_shell(
+ "cat /sys/class/backlight/nv_backlight/actual_brightness",
+ function(stdout)
+ local backlight_level = tonumber(stdout)
+ backlight_bar.value = backlight_level
+ if (backlight_level < 50) then
+ backlight_icon:set_image(icon_dir .. "brightness-low.png")
+ else
+ backlight_icon:set_image(icon_dir .. "brightness-high.png")
+ end
+ end,
+ false
+ )
+
+ -- make backlight_adjust component visible
+ if backlight_adjust.visible then
+ hide_backlight_adjust:again()
+ else
+ backlight_adjust.visible = true
+ hide_backlight_adjust:start()
+ end
+ end
+)
diff --git a/common/.config/awesome/ben/battery.lua b/common/.config/awesome/ben/battery.lua
new file mode 100644
index 0000000..1c79181
--- /dev/null
+++ b/common/.config/awesome/ben/battery.lua
@@ -0,0 +1,131 @@
+
+-- ===================================================================
+-- Initialization
+-- ===================================================================
+
+
+local awful = require("awful")
+local watch = require("awful.widget.watch")
+local wibox = require("wibox")
+local clickable_container = require("ben.clickable-container")
+local gears = require("gears")
+local dpi = require("beautiful").xresources.apply_dpi
+
+local icon_dir = gears.filesystem.get_configuration_dir() .. "/icons/battery/"
+
+
+-- ===================================================================
+-- Widget Creation
+-- ===================================================================
+
+
+local widget = wibox.widget {
+ {
+ id = "icon",
+ widget = wibox.widget.imagebox,
+ resize = true
+ },
+ layout = wibox.layout.fixed.horizontal
+}
+
+local widget_button = clickable_container(wibox.container.margin(widget, dpi(6), dpi(6), dpi(6), dpi(7)))
+widget_button:buttons(
+ gears.table.join(
+ awful.button({}, 1, nil,
+ function()
+ awful.spawn(apps.power_manager)
+ end
+ )
+ )
+)
+-- Alternative to naughty.notify - tooltip. You can compare both and choose the preferred one
+local battery_popup = awful.tooltip({
+ objects = {widget_button},
+ mode = "outside",
+ align = "left",
+ referred_positions = {"right", "left", "top", "bottom"},
+ margin_leftright = dpi(12),
+ margin_topbottom = dpi(8)
+})
+
+local function show_battery_warning()
+ naughty.notify {
+ icon = icon_dir .. "battery-alert.svg",
+ icon_size = dpi(48),
+ text = "Battery is running low",
+ title = "Battery is dying",
+ timeout = 5,
+ hover_timeout = 0.5,
+ position = "top_right",
+ bg = "#d32f2f",
+ fg = "#EEE9EF",
+ width = 248
+ }
+end
+
+local last_battery_check = os.time()
+
+-- update every 5 seconds
+watch("acpi -i", 5,
+ function(_, stdout)
+ local battery_info = {}
+ local capacities = {}
+ for s in stdout:gmatch("[^\r\n]+") do
+ local status, charge_str, time = string.match(s, ".+: (%a+), (%d?%d?%d)%%,?.*")
+ if status ~= nil then
+ table.insert(battery_info, {status = status, charge = tonumber(charge_str)})
+ else
+ local cap_str = string.match(s, ".+:.+last full capacity (%d+)")
+ table.insert(capacities, tonumber(cap_str))
+ end
+ end
+
+ local capacity = 0
+ for _, cap in ipairs(capacities) do
+ capacity = capacity + cap
+ end
+
+ local charge = 0
+ local status
+ for i, batt in ipairs(battery_info) do
+ if batt.charge >= charge then
+ status = batt.status -- use most charged battery status
+ -- this is arbitrary, and maybe another metric should be used
+ end
+
+ charge = charge + batt.charge * capacities[i]
+ end
+ charge = charge / capacity
+
+ if (charge >= 0 and charge < 15) then
+ if status ~= "Charging" and os.difftime(os.time(), last_battery_check) > 300 then
+ -- if 5 minutes have elapsed since the last warning
+ last_battery_check = time()
+
+ show_battery_warning()
+ end
+ end
+
+ local battery_icon_name = "battery"
+
+ if status == "Charging" or status == "Full" then
+ battery_icon_name = battery_icon_name .. "-charging"
+ end
+
+ local rounded_charge = math.floor(charge / 10) * 10
+
+ if (rounded_charge == 0) then
+ battery_icon_name = battery_icon_name .. "-outline"
+ elseif (rounded_charge ~= 100) then
+ battery_icon_name = battery_icon_name .. "-" .. rounded_charge
+ end
+
+ widget.icon:set_image(icon_dir .. battery_icon_name .. ".svg")
+ -- Update popup text
+ battery_popup.text = string.gsub(stdout, "\n$", "")
+ collectgarbage("collect")
+ end,
+ widget
+)
+
+return widget_button
diff --git a/common/.config/awesome/ben/bluetooth.lua b/common/.config/awesome/ben/bluetooth.lua
new file mode 100644
index 0000000..46ceb8b
--- /dev/null
+++ b/common/.config/awesome/ben/bluetooth.lua
@@ -0,0 +1,77 @@
+
+-- ===================================================================
+-- Initialization
+-- ===================================================================
+
+
+local awful = require("awful")
+local watch = require("awful.widget.watch")
+local wibox = require("wibox")
+local clickable_container = require("ben.clickable-container")
+local gears = require("gears")
+local dpi = require("beautiful").xresources.apply_dpi
+
+local icon_dir = gears.filesystem.get_configuration_dir() .. "/icons/bluetooth/"
+
+local checker
+
+
+-- ===================================================================
+-- Initialization
+-- ===================================================================
+
+
+local widget = wibox.widget {
+ {
+ id = "icon",
+ widget = wibox.widget.imagebox,
+ resize = true
+ },
+ layout = wibox.layout.align.horizontal
+}
+
+local widget_button = clickable_container(wibox.container.margin(widget, dpi(6), dpi(6), dpi(6), dpi(6)))
+widget_button:buttons(
+ gears.table.join(
+ awful.button({}, 1, nil,
+ function()
+ awful.spawn(apps.bluetooth_manager)
+ end
+ )
+ )
+)
+
+awful.tooltip(
+ {
+ objects = {widget_button},
+ mode = "outside",
+ align = "right",
+ timer_function = function()
+ if checker ~= nil then
+ return "Bluetooth is on"
+ else
+ return "Bluetooth is off"
+ end
+ end,
+ preferred_positions = {"right", "left", "top", "bottom"}
+ }
+)
+
+local last_bluetooth_check = os.time()
+watch("bluetoothctl --monitor list", 5,
+ function(_, stdout)
+ -- Check if there bluetooth
+ checker = stdout:match("Controller") -- If 'Controller' string is detected on stdout
+ local widget_icon_name = "loading"
+ if (checker ~= nil) then
+ widget_icon_name = "bluetooth"
+ else
+ widget_icon_name = "bluetooth-off"
+ end
+ widget.icon:set_image(icon_dir .. widget_icon_name .. ".svg")
+ collectgarbage("collect")
+ end,
+ widget
+)
+
+return widget_button
diff --git a/common/.config/awesome/ben/clickable-container.lua b/common/.config/awesome/ben/clickable-container.lua
new file mode 100644
index 0000000..ce40a39
--- /dev/null
+++ b/common/.config/awesome/ben/clickable-container.lua
@@ -0,0 +1,63 @@
+
+-- ===================================================================
+-- Initialization
+-- ===================================================================
+
+
+local wibox = require('wibox')
+
+
+-- ===================================================================
+-- Widget Creation
+-- ===================================================================
+
+
+function build(widget)
+ local container =
+ wibox.widget {
+ widget,
+ widget = wibox.container.background
+ }
+ local old_cursor, old_wibox
+
+ container:connect_signal(
+ 'mouse::enter',
+ function()
+ container.bg = '#ffffff11'
+ local w = _G.mouse.current_wibox
+ if w then
+ old_cursor, old_wibox = w.cursor, w
+ w.cursor = 'hand1'
+ end
+ end
+ )
+
+ container:connect_signal(
+ 'mouse::leave',
+ function()
+ container.bg = '#ffffff00'
+ if old_wibox then
+ old_wibox.cursor = old_cursor
+ old_wibox = nil
+ end
+ end
+ )
+
+ container:connect_signal(
+ 'button::press',
+ function()
+ container.bg = '#ffffff22'
+ end
+ )
+
+ container:connect_signal(
+ 'button::release',
+ function()
+ container.bg = '#ffffff11'
+ end
+ )
+
+ return container
+end
+
+return build
diff --git a/common/.config/awesome/ben/init.lua b/common/.config/awesome/ben/init.lua
index aadb60e..9048f8e 100644
--- a/common/.config/awesome/ben/init.lua
+++ b/common/.config/awesome/ben/init.lua
@@ -43,8 +43,8 @@ Ben = {
crust = "#11111B",
},
fonts = {
- normal = "Quicksand 12",
- monospace = "SFMono Nerd Font 12",
+ normal = "DejaVu Sans Mono 12",
+ monospace = "DejaVu Sans Mono 12",
},
}
diff --git a/common/.config/awesome/ben/keymaps.lua b/common/.config/awesome/ben/keymaps.lua
index b7989ae..c72bc9d 100644
--- a/common/.config/awesome/ben/keymaps.lua
+++ b/common/.config/awesome/ben/keymaps.lua
@@ -8,7 +8,7 @@ awful.keyboard.append_global_keybindings({
awesome.restart()
end),
- --[[ very important applications ]]--
+ --[[ very important applications ]] --
awful.key({ keys.mod }, keys.enter, function()
awesome.spawn(programs.terminal)
@@ -27,11 +27,11 @@ awful.keyboard.append_global_keybindings({
end),
--[[awful.key({ keys.mod }, "m", function()]]
- --[[local rofi_beats = os.getenv("HOME") .. "/.local/bin/scripts/rofi-beats.sh"]]
- --[[awesome.spawn(rofi_beats)]]
+ --[[local rofi_beats = os.getenv("HOME") .. "/.local/bin/scripts/rofi-beats.sh"]]
+ --[[awesome.spawn(rofi_beats)]]
--[[end),]]
- --[[ window management ]]--
+ --[[ window management ]] --
awful.key({ keys.mod }, "h", function()
awful.client.focus.global_bydirection("left")
end),
@@ -64,7 +64,7 @@ awful.keyboard.append_global_keybindings({
awful.client.swap.global_bydirection("right")
end),
- --[[ Switching between tags ]]--
+ --[[ Switching between tags ]] --
awful.key({ keys.mod }, "#10", function()
local tag = awful.screen.focused().tags[1]
@@ -245,8 +245,68 @@ awful.keyboard.append_global_keybindings({
client.focus:move_to_tag(tag)
end
end),
+ awful.key({}, "XF86MonBrightnessUp",
+ function()
+ awful.spawn("xbacklight -inc 10", false)
+ awesome.emit_signal("backlight_change")
+ end
+ -- {description = "brightness up", group = "hotkeys"}
+ ),
+ awful.key({}, "XF86MonBrightnessDown",
+ function()
+ awful.spawn("xbacklight -dec 10", false)
+ awesome.emit_signal("backlight_change")
+ end
+ --{description = "brightness down", group = "hotkeys"}
+ ),
+ -- ALSA volume control
+ awful.key({}, "XF86AudioRaiseVolume",
+ function()
+ awful.spawn("amixer -D pulse sset Master 5%+", false)
+ awesome.emit_signal("volume_change")
+ end
+ --{description = "volume up", group = "hotkeys"}
+ ),
+ awful.key({}, "XF86AudioLowerVolume",
+ function()
+ awful.spawn("amixer -D pulse sset Master 5%-", false)
+ awesome.emit_signal("volume_change")
+ end
+ --{description = "volume down", group = "hotkeys"}
+ ),
+ awful.key({}, "XF86AudioMute",
+ function()
+ awful.spawn("amixer -D pulse set Master 1+ toggle", false)
+ awesome.emit_signal("volume_change")
+ end
+ --{description = "toggle mute", group = "hotkeys"}
+ ),
+ awful.key({}, "XF86AudioNext",
+ function()
+ awful.spawn("mpc next", false)
+ end
+ --{description = "next music", group = "hotkeys"}
+ ),
+ awful.key({}, "XF86AudioPrev",
+ function()
+ awful.spawn("mpc prev", false)
+ end
+ --{description = "previous music", group = "hotkeys"}
+ ),
+ awful.key({}, "XF86AudioPlay",
+ function()
+ awful.spawn("mpc toggle", false)
+ end
+ --{description = "play/pause music", group = "hotkeys"}
+ ),
+ awful.key({}, "print",
+ function()
+ awful.spawn("flameshot gui", false)
+ end
+ ),
})
+
client.connect_signal("request::default_keybindings", function()
awful.keyboard.append_client_keybindings({
awful.key({ keys.mod }, "q", function(c)
@@ -254,7 +314,7 @@ client.connect_signal("request::default_keybindings", function()
end),
awful.key({ keys.mod }, keys.space, function(c)
- c.floating = !c.floating
+ c.floating = not c.floating
c:raise()
end),
@@ -267,7 +327,7 @@ end)
client.connect_signal("request::default_mousebindings", function()
awful.mouse.append_client_mousebindings({
- awful.button({ }, 1, function(c)
+ awful.button({}, 1, function(c)
c:activate({ context = "mouse_click" })
end),
diff --git a/common/.config/awesome/ben/volume.lua b/common/.config/awesome/ben/volume.lua
new file mode 100644
index 0000000..f59019b
--- /dev/null
+++ b/common/.config/awesome/ben/volume.lua
@@ -0,0 +1,103 @@
+
+-- ===================================================================
+-- Initialization
+-- ===================================================================
+
+
+local wibox = require("wibox")
+local awful = require("awful")
+local gears = require("gears")
+local beautiful = require("beautiful")
+local dpi = beautiful.xresources.apply_dpi
+
+local offsetx = dpi(56)
+local offsety = dpi(256)
+local screen = awful.screen.focused()
+local icon_dir = gears.filesystem.get_configuration_dir() .. "/icons/volume/"
+
+
+-- ===================================================================
+-- Appearance & Functionality
+-- ===================================================================
+
+
+local volume_icon = wibox.widget {
+ widget = wibox.widget.imagebox
+}
+
+-- create the volume_adjust component
+local volume_adjust = wibox({
+ screen = awful.screen.focused(),
+ x = screen.geometry.width - offsetx,
+ y = (screen.geometry.height / 2) - (offsety / 2),
+ width = dpi(48),
+ height = offsety,
+ bg = beautiful.hud_panel_bg,
+ shape = gears.shape.rounded_rect,
+ visible = false,
+ ontop = true
+})
+
+local volume_bar = wibox.widget{
+ widget = wibox.widget.progressbar,
+ shape = gears.shape.rounded_bar,
+ color = beautiful.hud_slider_fg,
+ background_color = beautiful.hud_slider_bg,
+ max_value = 100,
+ value = 0
+}
+
+volume_adjust:setup {
+ layout = wibox.layout.align.vertical,
+ {
+ wibox.container.margin(
+ volume_bar, dpi(14), dpi(20), dpi(20), dpi(20)
+ ),
+ forced_height = offsety * 0.75,
+ direction = "east",
+ layout = wibox.container.rotate
+ },
+ wibox.container.margin(
+ volume_icon
+ )
+}
+
+-- create a 4 second timer to hide the volume adjust
+-- component whenever the timer is started
+local hide_volume_adjust = gears.timer {
+ timeout = 2,
+ autostart = true,
+ callback = function()
+ volume_adjust.visible = false
+ end
+}
+
+-- show volume-adjust when "volume_change" signal is emitted
+awesome.connect_signal("volume_change",
+ function()
+ -- set new volume value
+ awful.spawn.easy_async_with_shell(
+ "amixer sget Master | grep 'Right:' | awk -F '[][]' '{print $2}'| sed 's/[^0-9]//g'",
+ function(stdout)
+ local volume_level = tonumber(stdout)
+ volume_bar.value = volume_level
+ if (volume_level > 50) then
+ volume_icon:set_image(icon_dir .. "volume-high.png")
+ elseif (volume_level > 0) then
+ volume_icon:set_image(icon_dir .. "volume-low.png")
+ else
+ volume_icon:set_image(icon_dir .. "volume-off.png")
+ end
+ end,
+ false
+ )
+
+ -- make volume_adjust component visible
+ if volume_adjust.visible then
+ hide_volume_adjust:again()
+ else
+ volume_adjust.visible = true
+ hide_volume_adjust:start()
+ end
+ end
+)
diff --git a/common/.config/awesome/ben/widgets.lua b/common/.config/awesome/ben/widgets.lua
index 14cc4a4..7542072 100644
--- a/common/.config/awesome/ben/widgets.lua
+++ b/common/.config/awesome/ben/widgets.lua
@@ -8,7 +8,7 @@ widgets.menu = awful.menu({
items = {
{ "Restart", awesome.restart },
{
- "👋",
+ "👋",
function()
awesome.quit()
end
@@ -29,7 +29,7 @@ widgets.launcher = awful.widget.launcher({
widgets.clock = wibox.widget({
widget = wibox.widget.textclock,
- format = " %H:%M %a %d/%m/%Y ",
+ format = " %H:%M:%S %a %d/%m/%Y ",
refresh = 1,
})
@@ -38,4 +38,7 @@ widgets.separator = wibox.widget.separator()
widgets.systray = wibox.widget.systray()
widgets.systray:set_base_size(16)
+widgets.bluetooth = require("ben.bluetooth")
+widgets.battery = require("ben.battery")
+
return widgets
diff --git a/common/.config/awesome/core/bars.lua b/common/.config/awesome/core/bars.lua
index 0a30645..c1662c6 100644
--- a/common/.config/awesome/core/bars.lua
+++ b/common/.config/awesome/core/bars.lua
@@ -2,40 +2,40 @@ local awful = require("awful")
local gears = require("gears")
local wibox = require("wibox")
local create_tags = require("core.tags").create_tags
-local widgets = require("alphakeks.widgets")
+local widgets = require("ben.widgets")
awful.screen.connect_for_each_screen(function(screen)
- local tags = create_tags(screen)
+ local tags = create_tags(screen)
- screen.taglist = awful.widget.taglist({
- screen = screen,
- filter = awful.widget.taglist.filter.all,
- buttons = gears.table.join(
- awful.button({}, 1, function(tag)
- tag:view_only()
- end)
- ),
- })
+ screen.taglist = awful.widget.taglist({
+ screen = screen,
+ filter = awful.widget.taglist.filter.all,
+ buttons = gears.table.join(
+ awful.button({}, 1, function(tag)
+ tag:view_only()
+ end)
+ ),
+ })
- screen.wibar = awful.wibar({
- screen = screen,
- position = "top",
- })
+ screen.wibar = awful.wibar({
+ screen = screen,
+ position = "bottom",
+ })
- screen.wibar:setup({
- layout = wibox.layout.align.horizontal,
- {
- layout = wibox.layout.fixed.horizontal,
- widgets.launcher,
- screen.taglist,
- },
-
- widgets.separator,
-
- {
- layout = wibox.layout.fixed.horizontal,
- widgets.systray,
- widgets.clock,
- },
- })
+ screen.wibar:setup({
+ layout = wibox.layout.align.horizontal,
+ {
+ layout = wibox.layout.fixed.horizontal,
+ screen.taglist,
+ },
+ widgets.separator,
+ {
+ layout = wibox.layout.fixed.horizontal,
+ widgets.systray,
+ widgets.bluetooth,
+ widgets.battery,
+ widgets.clock,
+ widgets.launcher,
+ },
+ })
end)
diff --git a/common/.config/awesome/core/tags.lua b/common/.config/awesome/core/tags.lua
index 146b45e..2c2355c 100644
--- a/common/.config/awesome/core/tags.lua
+++ b/common/.config/awesome/core/tags.lua
@@ -1,9 +1,9 @@
local awful = require("awful")
local function create_tags(screen)
- awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, screen, awful.layout.layouts[1])
+ awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, screen, awful.layout.layouts[1])
end
return {
- create_tags = create_tags
-
+ create_tags = create_tags
+}
diff --git a/common/.config/awesome/core/theme.lua b/common/.config/awesome/core/theme.lua
index c06e33c..1ada564 100644
--- a/common/.config/awesome/core/theme.lua
+++ b/common/.config/awesome/core/theme.lua
@@ -298,7 +298,7 @@ return {
-- The urgent titlebar foreground (text) color
titlebar_fg_urgent = colors.red,
-- The default gap
- useless_gap = dpi(8),
+ useless_gap = dpi(2),
-- The default wallpaper background color
wallpaper_bg = colors.base,
-- The default wallpaper foreground color
diff --git a/common/.config/awesome/core/wallpapers.lua b/common/.config/awesome/core/wallpapers.lua
index a35fd34..4274042 100644
--- a/common/.config/awesome/core/wallpapers.lua
+++ b/common/.config/awesome/core/wallpapers.lua
@@ -1,19 +1,22 @@
local awful = require("awful")
local wibox = require("wibox")
+local beautiful = require("beautiful")
local wallpapers = {
"/home/benk/pictures/Wallpapers/waves_right_colored.png",
}
+beautiful.wallpaper = wallpapers[1]
-for screen, wallpaper in ipairs(wallpapers) do
- awful.wallpaper({
- screen = screen,
- widget = {
- widget = wibox.container.tile,
- {
- widget = wibox.widget.imagebox,
- image = wallpaper,
- },
- },
- })
-end
+screen.connect_signal('request::wallpaper', function(s)
+ awful.wallpaper {
+ screen = s,
+ widget = {
+ image = beautiful.wallpaper,
+ upscale = true,
+ downscale = true,
+ horizontal_fit_policy = "fit",
+ vertical_fit_policy = "fit",
+ widget = wibox.widget.imagebox
+ }
+ }
+end)
diff --git a/common/.config/awesome/icons/backlight/brightness-high.png b/common/.config/awesome/icons/backlight/brightness-high.png
new file mode 100644
index 0000000..4c75903
Binary files /dev/null and b/common/.config/awesome/icons/backlight/brightness-high.png differ
diff --git a/common/.config/awesome/icons/backlight/brightness-high.svg b/common/.config/awesome/icons/backlight/brightness-high.svg
new file mode 100644
index 0000000..79dca04
--- /dev/null
+++ b/common/.config/awesome/icons/backlight/brightness-high.svg
@@ -0,0 +1,14 @@
+
+
+
diff --git a/common/.config/awesome/icons/backlight/brightness-low.png b/common/.config/awesome/icons/backlight/brightness-low.png
new file mode 100644
index 0000000..1b9a979
Binary files /dev/null and b/common/.config/awesome/icons/backlight/brightness-low.png differ
diff --git a/common/.config/awesome/icons/backlight/brightness-low.svg b/common/.config/awesome/icons/backlight/brightness-low.svg
new file mode 100644
index 0000000..b8395a8
--- /dev/null
+++ b/common/.config/awesome/icons/backlight/brightness-low.svg
@@ -0,0 +1,14 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-10.svg b/common/.config/awesome/icons/battery/battery-10.svg
new file mode 100644
index 0000000..19cbf1b
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-10.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-20.svg b/common/.config/awesome/icons/battery/battery-20.svg
new file mode 100644
index 0000000..9f43900
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-20.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-30.svg b/common/.config/awesome/icons/battery/battery-30.svg
new file mode 100644
index 0000000..7e24035
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-30.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-40.svg b/common/.config/awesome/icons/battery/battery-40.svg
new file mode 100644
index 0000000..6d5f15a
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-40.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-50.svg b/common/.config/awesome/icons/battery/battery-50.svg
new file mode 100644
index 0000000..e2d0db0
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-50.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-60.svg b/common/.config/awesome/icons/battery/battery-60.svg
new file mode 100644
index 0000000..2974479
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-60.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-70.svg b/common/.config/awesome/icons/battery/battery-70.svg
new file mode 100644
index 0000000..d0ac917
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-70.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-80.svg b/common/.config/awesome/icons/battery/battery-80.svg
new file mode 100644
index 0000000..a046a8f
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-80.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-90.svg b/common/.config/awesome/icons/battery/battery-90.svg
new file mode 100644
index 0000000..2a4f448
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-90.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-10.svg b/common/.config/awesome/icons/battery/battery-charging-10.svg
new file mode 100644
index 0000000..e5945c1
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-10.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-100.svg b/common/.config/awesome/icons/battery/battery-charging-100.svg
new file mode 100644
index 0000000..9713fb3
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-100.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-20.svg b/common/.config/awesome/icons/battery/battery-charging-20.svg
new file mode 100644
index 0000000..a7adc99
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-20.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-30.svg b/common/.config/awesome/icons/battery/battery-charging-30.svg
new file mode 100644
index 0000000..612cd6f
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-30.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-40.svg b/common/.config/awesome/icons/battery/battery-charging-40.svg
new file mode 100644
index 0000000..f0e3a0d
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-40.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-50.svg b/common/.config/awesome/icons/battery/battery-charging-50.svg
new file mode 100644
index 0000000..f0e3a0d
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-50.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-60.svg b/common/.config/awesome/icons/battery/battery-charging-60.svg
new file mode 100644
index 0000000..5cd577a
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-60.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-70.svg b/common/.config/awesome/icons/battery/battery-charging-70.svg
new file mode 100644
index 0000000..6af3dbe
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-70.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-80.svg b/common/.config/awesome/icons/battery/battery-charging-80.svg
new file mode 100644
index 0000000..e48879a
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-80.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-90.svg b/common/.config/awesome/icons/battery/battery-charging-90.svg
new file mode 100644
index 0000000..a045bb2
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-90.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging-outline.svg b/common/.config/awesome/icons/battery/battery-charging-outline.svg
new file mode 100644
index 0000000..4b2c706
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging-outline.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-charging.svg b/common/.config/awesome/icons/battery/battery-charging.svg
new file mode 100644
index 0000000..97e03c5
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-charging.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery-outline.svg b/common/.config/awesome/icons/battery/battery-outline.svg
new file mode 100644
index 0000000..75f5d38
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery-outline.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/battery/battery.svg b/common/.config/awesome/icons/battery/battery.svg
new file mode 100644
index 0000000..7289a0b
--- /dev/null
+++ b/common/.config/awesome/icons/battery/battery.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/common/.config/awesome/icons/bluetooth/bluetooth-off.svg b/common/.config/awesome/icons/bluetooth/bluetooth-off.svg
new file mode 100644
index 0000000..9055c52
--- /dev/null
+++ b/common/.config/awesome/icons/bluetooth/bluetooth-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/common/.config/awesome/icons/bluetooth/bluetooth.svg b/common/.config/awesome/icons/bluetooth/bluetooth.svg
new file mode 100644
index 0000000..b11d5db
--- /dev/null
+++ b/common/.config/awesome/icons/bluetooth/bluetooth.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/common/.config/awesome/icons/bluetooth/loading.svg b/common/.config/awesome/icons/bluetooth/loading.svg
new file mode 100644
index 0000000..cd7bc0e
--- /dev/null
+++ b/common/.config/awesome/icons/bluetooth/loading.svg
@@ -0,0 +1,57 @@
+
+
diff --git a/common/.config/awesome/icons/exit-screen/lock.png b/common/.config/awesome/icons/exit-screen/lock.png
new file mode 100644
index 0000000..99aa3c8
Binary files /dev/null and b/common/.config/awesome/icons/exit-screen/lock.png differ
diff --git a/common/.config/awesome/icons/exit-screen/logout.png b/common/.config/awesome/icons/exit-screen/logout.png
new file mode 100644
index 0000000..fa05757
Binary files /dev/null and b/common/.config/awesome/icons/exit-screen/logout.png differ
diff --git a/common/.config/awesome/icons/exit-screen/power.png b/common/.config/awesome/icons/exit-screen/power.png
new file mode 100644
index 0000000..6879a0c
Binary files /dev/null and b/common/.config/awesome/icons/exit-screen/power.png differ
diff --git a/common/.config/awesome/icons/exit-screen/restart.png b/common/.config/awesome/icons/exit-screen/restart.png
new file mode 100644
index 0000000..7c594cf
Binary files /dev/null and b/common/.config/awesome/icons/exit-screen/restart.png differ
diff --git a/common/.config/awesome/icons/exit-screen/sleep.png b/common/.config/awesome/icons/exit-screen/sleep.png
new file mode 100644
index 0000000..2f8fdef
Binary files /dev/null and b/common/.config/awesome/icons/exit-screen/sleep.png differ
diff --git a/common/.config/awesome/icons/launcher/play.svg b/common/.config/awesome/icons/launcher/play.svg
new file mode 100644
index 0000000..9085002
--- /dev/null
+++ b/common/.config/awesome/icons/launcher/play.svg
@@ -0,0 +1,3 @@
+
diff --git a/common/.config/awesome/icons/network/connected_notification.svg b/common/.config/awesome/icons/network/connected_notification.svg
new file mode 100644
index 0000000..259a3a9
--- /dev/null
+++ b/common/.config/awesome/icons/network/connected_notification.svg
@@ -0,0 +1,56 @@
+
+
diff --git a/common/.config/awesome/icons/network/loading.svg b/common/.config/awesome/icons/network/loading.svg
new file mode 100644
index 0000000..cd7bc0e
--- /dev/null
+++ b/common/.config/awesome/icons/network/loading.svg
@@ -0,0 +1,57 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-1-alert.svg b/common/.config/awesome/icons/network/wifi-strength-1-alert.svg
new file mode 100644
index 0000000..7a8de11
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-1-alert.svg
@@ -0,0 +1,71 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-1.svg b/common/.config/awesome/icons/network/wifi-strength-1.svg
new file mode 100644
index 0000000..9e90049
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-1.svg
@@ -0,0 +1,61 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-2-alert.svg b/common/.config/awesome/icons/network/wifi-strength-2-alert.svg
new file mode 100644
index 0000000..970987a
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-2-alert.svg
@@ -0,0 +1,71 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-2.svg b/common/.config/awesome/icons/network/wifi-strength-2.svg
new file mode 100644
index 0000000..e65871e
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-2.svg
@@ -0,0 +1,61 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-3-alert.svg b/common/.config/awesome/icons/network/wifi-strength-3-alert.svg
new file mode 100644
index 0000000..e1b5a5f
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-3-alert.svg
@@ -0,0 +1,71 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-3.svg b/common/.config/awesome/icons/network/wifi-strength-3.svg
new file mode 100644
index 0000000..cec90d5
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-3.svg
@@ -0,0 +1,61 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-4-alert.svg b/common/.config/awesome/icons/network/wifi-strength-4-alert.svg
new file mode 100644
index 0000000..2d9d47d
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-4-alert.svg
@@ -0,0 +1,57 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-4.svg b/common/.config/awesome/icons/network/wifi-strength-4.svg
new file mode 100644
index 0000000..259a3a9
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-4.svg
@@ -0,0 +1,56 @@
+
+
diff --git a/common/.config/awesome/icons/network/wifi-strength-off.svg b/common/.config/awesome/icons/network/wifi-strength-off.svg
new file mode 100644
index 0000000..12cb043
--- /dev/null
+++ b/common/.config/awesome/icons/network/wifi-strength-off.svg
@@ -0,0 +1,56 @@
+
+
diff --git a/common/.config/awesome/icons/network/wired-alert.svg b/common/.config/awesome/icons/network/wired-alert.svg
new file mode 100644
index 0000000..60ad378
--- /dev/null
+++ b/common/.config/awesome/icons/network/wired-alert.svg
@@ -0,0 +1,63 @@
+
+
diff --git a/common/.config/awesome/icons/network/wired-off.svg b/common/.config/awesome/icons/network/wired-off.svg
new file mode 100644
index 0000000..35481c0
--- /dev/null
+++ b/common/.config/awesome/icons/network/wired-off.svg
@@ -0,0 +1,57 @@
+
+
diff --git a/common/.config/awesome/icons/network/wired.svg b/common/.config/awesome/icons/network/wired.svg
new file mode 100644
index 0000000..00441ac
--- /dev/null
+++ b/common/.config/awesome/icons/network/wired.svg
@@ -0,0 +1,57 @@
+
+
diff --git a/common/.config/awesome/icons/titlebar/close_focus.svg b/common/.config/awesome/icons/titlebar/close_focus.svg
new file mode 100644
index 0000000..d8a3235
--- /dev/null
+++ b/common/.config/awesome/icons/titlebar/close_focus.svg
@@ -0,0 +1 @@
+
diff --git a/common/.config/awesome/icons/titlebar/close_focus_hover.svg b/common/.config/awesome/icons/titlebar/close_focus_hover.svg
new file mode 100644
index 0000000..20182b1
--- /dev/null
+++ b/common/.config/awesome/icons/titlebar/close_focus_hover.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/common/.config/awesome/icons/titlebar/maximized_focus.svg b/common/.config/awesome/icons/titlebar/maximized_focus.svg
new file mode 100644
index 0000000..2767221
--- /dev/null
+++ b/common/.config/awesome/icons/titlebar/maximized_focus.svg
@@ -0,0 +1 @@
+
diff --git a/common/.config/awesome/icons/titlebar/maximized_focus_hover.svg b/common/.config/awesome/icons/titlebar/maximized_focus_hover.svg
new file mode 100644
index 0000000..a990ead
--- /dev/null
+++ b/common/.config/awesome/icons/titlebar/maximized_focus_hover.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/common/.config/awesome/icons/titlebar/minimize_focus.svg b/common/.config/awesome/icons/titlebar/minimize_focus.svg
new file mode 100644
index 0000000..3a5d855
--- /dev/null
+++ b/common/.config/awesome/icons/titlebar/minimize_focus.svg
@@ -0,0 +1 @@
+
diff --git a/common/.config/awesome/icons/titlebar/minimize_focus_hover.svg b/common/.config/awesome/icons/titlebar/minimize_focus_hover.svg
new file mode 100644
index 0000000..8a9ca1d
--- /dev/null
+++ b/common/.config/awesome/icons/titlebar/minimize_focus_hover.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/common/.config/awesome/icons/titlebar/normal.svg b/common/.config/awesome/icons/titlebar/normal.svg
new file mode 100644
index 0000000..79d6221
--- /dev/null
+++ b/common/.config/awesome/icons/titlebar/normal.svg
@@ -0,0 +1 @@
+
diff --git a/common/.config/awesome/icons/volume/volume-high.png b/common/.config/awesome/icons/volume/volume-high.png
new file mode 100644
index 0000000..a8c397d
Binary files /dev/null and b/common/.config/awesome/icons/volume/volume-high.png differ
diff --git a/common/.config/awesome/icons/volume/volume-high.svg b/common/.config/awesome/icons/volume/volume-high.svg
new file mode 100644
index 0000000..6cc7414
--- /dev/null
+++ b/common/.config/awesome/icons/volume/volume-high.svg
@@ -0,0 +1,8 @@
+
+
+
diff --git a/common/.config/awesome/icons/volume/volume-low.png b/common/.config/awesome/icons/volume/volume-low.png
new file mode 100644
index 0000000..99ecbf6
Binary files /dev/null and b/common/.config/awesome/icons/volume/volume-low.png differ
diff --git a/common/.config/awesome/icons/volume/volume-low.svg b/common/.config/awesome/icons/volume/volume-low.svg
new file mode 100644
index 0000000..3a59422
--- /dev/null
+++ b/common/.config/awesome/icons/volume/volume-low.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/common/.config/awesome/icons/volume/volume-off.png b/common/.config/awesome/icons/volume/volume-off.png
new file mode 100644
index 0000000..a1662b4
Binary files /dev/null and b/common/.config/awesome/icons/volume/volume-off.png differ
diff --git a/common/.config/awesome/icons/volume/volume-off.svg b/common/.config/awesome/icons/volume/volume-off.svg
new file mode 100644
index 0000000..698018a
--- /dev/null
+++ b/common/.config/awesome/icons/volume/volume-off.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/common/.config/awesome/rc.lua b/common/.config/awesome/rc.lua
index aee81b9..1238d32 100644
--- a/common/.config/awesome/rc.lua
+++ b/common/.config/awesome/rc.lua
@@ -34,21 +34,25 @@ require("core.rules")
require("core.notifications")
-- autostart
-require("alphakeks.autostart")
+require("ben.autostart")
+
+-- my own components
+require("ben.volume")
+require("ben.backlight")
-- fancy titlebars
local nice = require("plugins.nice")
nice({
- titlebar_color = Ben.colors.crust,
- titlebar_height = 24,
- button_size = 14,
- mb_resize = nice.MB_MIDDLE,
- mb_contextmenu = nice.MB_RIGHT,
- titlebar_items = {
- left = {},
- middle = "title",
- right = { "maximize", "close" },
- },
- maximize_color = Ben.colors.green,
- close_color = Ben.colors.red,
+ titlebar_color = Ben.colors.crust,
+ titlebar_height = 20,
+ button_size = 14,
+ mb_resize = nice.MB_MIDDLE,
+ mb_contextmenu = nice.MB_RIGHT,
+ titlebar_items = {
+ left = {},
+ middle = "title",
+ right = { "maximize", "close" },
+ },
+ maximize_color = Ben.colors.green,
+ close_color = Ben.colors.red,
})
diff --git a/common/.config/picom.conf b/common/.config/picom.conf
new file mode 100644
index 0000000..d37f758
--- /dev/null
+++ b/common/.config/picom.conf
@@ -0,0 +1,121 @@
+# config is for this fork:
+# https://github.com/pijulius/picom
+# https://aur.archlinux.org/packages/picom-pijulius-git
+
+#################################
+# Shadows #
+#################################
+shadow = true;
+shadow-radius = 15;
+shadow-opacity = 0.85;
+shadow-offset-x = -12;
+shadow-offset-y = -12;
+shadow-color = "#000000";
+shadow-ignore-shaped = false;
+shadow-exclude = [
+ "name = 'Notification'",
+ "class_g ?= 'Notify-osd'",
+ "_GTK_FRAME_EXTENTS@:c",
+ "class_g = 'org.wezfurlong.wezterm'",
+];
+clip-shadow-above = [];
+
+#################################
+# Fading #
+#################################
+fading = true;
+fade-in-step = 0.03;
+fade-out-step = 0.03;
+
+#################################
+# Transparency / Opacity #
+#################################
+inactive-opacity = 1.0;
+frame-opacity = 1.0;
+inactive-opacity-override = false;
+active-opacity = 1.0;
+inactive-dim = 0.0;
+focus-exclude = [];
+opacity-rule = [
+ "75:class_g = 'Conky'",
+ "95:class_g = 'obsidian'",
+ "95:class_g = 'inkdrop'",
+ "95:class_g = 'Thunar'",
+];
+
+#################################
+# Corners #
+#################################
+corner-radius = 12;
+rounded-corners-exclude = [
+ "class_g = 'polybar'",
+ "class_g = 'Polybar'",
+ "class_g = 'csgo_linux64'",
+ # "class_g = 'rofi'",
+ # "class_g = 'Rofi'",
+ "class_g = 'osu!'",
+ "class_g = 'Dunst'",
+ "class_g = 'awesome'",
+ # "!_PICOM_CORNERS@:32c = 1"
+];
+
+#################################
+# Animations #
+#################################
+animations = true;
+animation-for-open-window = "zoom";
+animation-for-transient-window = "none";
+animation-for-unmap-window = "zoom";
+animation-for-workspace-switch-in = "none";
+animation-for-workspace-switch-out = "none";
+animation-for-menu-window = "none";
+animation-stiffness = 250;
+animation-dampening = 20;
+animation-window-mass = 0.069;
+animation-clamping = true;
+
+#################################
+# Background-Blurring #
+#################################
+blur-method = "dual_kawase";
+blur-size = 1;
+blur-background = true;
+blur-background-frame = false;
+blur-background-fixed = false;
+blur-kern = "3x3box";
+blur-background-exclude = [
+ # "class_g = 'Rofi'",
+ # "class_g = 'rofi'",
+ "class_g = 'polybar'",
+ "class_g = 'Polybar'",
+ "class_g = 'screenkey'",
+ "class_g = 'Screenkey'",
+ "class_g = 'slop'",
+ "class_g = 'Discover-overlay'",
+ # "class_g = 'org.wezfurlong.wezterm'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
+#################################
+# General Settings #
+#################################
+backend = "glx";
+vsync = false;
+mark-ovredir-focused = true;
+detect-rounded-corners = true;
+detect-client-opacity = true;
+unredir-if-possible = false;
+detect-transient = true;
+detect-client-leader = true;
+use-damage = true;
+max-brightness = 1.0;
+log-level = "info";
+wintypes:
+{
+ normal = { fade = false; shadow = false; }
+ tooltip = { fade = false; shadow = true; opacity = 1.0; focus = true; full-shadow = false; };
+ dock = { shadow = false; }
+ dnd = { shadow = false; }
+ popup_menu = { opacity = 1.0; }
+ dropdown_menu = { opacity = 1.0; }
+};
diff --git a/common/.config/picom/.picom.conf b/common/.config/picom/.picom.conf
new file mode 100644
index 0000000..d37f758
--- /dev/null
+++ b/common/.config/picom/.picom.conf
@@ -0,0 +1,121 @@
+# config is for this fork:
+# https://github.com/pijulius/picom
+# https://aur.archlinux.org/packages/picom-pijulius-git
+
+#################################
+# Shadows #
+#################################
+shadow = true;
+shadow-radius = 15;
+shadow-opacity = 0.85;
+shadow-offset-x = -12;
+shadow-offset-y = -12;
+shadow-color = "#000000";
+shadow-ignore-shaped = false;
+shadow-exclude = [
+ "name = 'Notification'",
+ "class_g ?= 'Notify-osd'",
+ "_GTK_FRAME_EXTENTS@:c",
+ "class_g = 'org.wezfurlong.wezterm'",
+];
+clip-shadow-above = [];
+
+#################################
+# Fading #
+#################################
+fading = true;
+fade-in-step = 0.03;
+fade-out-step = 0.03;
+
+#################################
+# Transparency / Opacity #
+#################################
+inactive-opacity = 1.0;
+frame-opacity = 1.0;
+inactive-opacity-override = false;
+active-opacity = 1.0;
+inactive-dim = 0.0;
+focus-exclude = [];
+opacity-rule = [
+ "75:class_g = 'Conky'",
+ "95:class_g = 'obsidian'",
+ "95:class_g = 'inkdrop'",
+ "95:class_g = 'Thunar'",
+];
+
+#################################
+# Corners #
+#################################
+corner-radius = 12;
+rounded-corners-exclude = [
+ "class_g = 'polybar'",
+ "class_g = 'Polybar'",
+ "class_g = 'csgo_linux64'",
+ # "class_g = 'rofi'",
+ # "class_g = 'Rofi'",
+ "class_g = 'osu!'",
+ "class_g = 'Dunst'",
+ "class_g = 'awesome'",
+ # "!_PICOM_CORNERS@:32c = 1"
+];
+
+#################################
+# Animations #
+#################################
+animations = true;
+animation-for-open-window = "zoom";
+animation-for-transient-window = "none";
+animation-for-unmap-window = "zoom";
+animation-for-workspace-switch-in = "none";
+animation-for-workspace-switch-out = "none";
+animation-for-menu-window = "none";
+animation-stiffness = 250;
+animation-dampening = 20;
+animation-window-mass = 0.069;
+animation-clamping = true;
+
+#################################
+# Background-Blurring #
+#################################
+blur-method = "dual_kawase";
+blur-size = 1;
+blur-background = true;
+blur-background-frame = false;
+blur-background-fixed = false;
+blur-kern = "3x3box";
+blur-background-exclude = [
+ # "class_g = 'Rofi'",
+ # "class_g = 'rofi'",
+ "class_g = 'polybar'",
+ "class_g = 'Polybar'",
+ "class_g = 'screenkey'",
+ "class_g = 'Screenkey'",
+ "class_g = 'slop'",
+ "class_g = 'Discover-overlay'",
+ # "class_g = 'org.wezfurlong.wezterm'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
+#################################
+# General Settings #
+#################################
+backend = "glx";
+vsync = false;
+mark-ovredir-focused = true;
+detect-rounded-corners = true;
+detect-client-opacity = true;
+unredir-if-possible = false;
+detect-transient = true;
+detect-client-leader = true;
+use-damage = true;
+max-brightness = 1.0;
+log-level = "info";
+wintypes:
+{
+ normal = { fade = false; shadow = false; }
+ tooltip = { fade = false; shadow = true; opacity = 1.0; focus = true; full-shadow = false; };
+ dock = { shadow = false; }
+ dnd = { shadow = false; }
+ popup_menu = { opacity = 1.0; }
+ dropdown_menu = { opacity = 1.0; }
+};