Add initial dotfiles

This commit is contained in:
2021-12-15 12:59:29 +00:00
parent 61ba238a88
commit 2aa8f732d6
448 changed files with 29562 additions and 1 deletions

3
.config/Trolltech.conf Executable file
View File

@@ -0,0 +1,3 @@
[Qt]
style=GTK+
GUIEffects=none

61
.config/alacritty/alacritty.yml Executable file
View File

@@ -0,0 +1,61 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
background_opacity: 0.95
window:
padding:
x: 8
y: 8
font:
family: "MesloLGS NF"
size: 12
key_bindings:
- { key: N, mods: Control|Shift, action: SpawnNewInstance }
colors:
primary:
background: "#15181f"
foreground: "#ecf2f2"
dim_foreground: "#a5abb6"
cursor:
text: "#15181f"
cursor: "#ecf2f2"
selection:
text: CellForeground
background: "#61646b"
search:
matches:
foreground: CellBackground
background: "#88c0d0"
bar:
background: "#434c5e"
foreground: "#d8dee9"
normal:
black: "#15181f"
red: "#ff598b"
green: "#1fe0a7"
yellow: "#ffb731"
blue: "#33aefe"
magenta: "#b567f9"
cyan: "#2acafc"
white: "#b3b6bd"
bright:
black: "#61646b"
red: "#f765a4"
green: "#29edbf"
yellow: "#fec458"
blue: "#33aefe"
magenta: "#b567f9"
cyan: "#2be3fd"
white: "#ecf2f2"
dim:
black: "#15181f"
red: "#ff598b"
green: "#1fe0a7"
yellow: "#ffb731"
blue: "#33aefe"
magenta: "#b054ff"
cyan: "#2acafc"
white: "#b3b6bd"

16
.config/autostart/autostart.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
function run {
if ! pgrep -f $1 ;
then
$@&
fi
}
run picom
run kdeconnect-indicator
run cbatticon -l 20 -r 5 -n
run blueman-applet
run nm-applet
run pasystray
run playerctld daemon

View File

@@ -0,0 +1,134 @@
local gears = require("gears")
local awful = require("awful")
clientkeys =
gears.table.join(
awful.key(
{modkey},
"f",
function(c)
c.fullscreen = not c.fullscreen
c:raise()
end,
{description = "toggle fullscreen", group = "client"}
),
awful.key(
{modkey, "Shift"},
"c",
function(c)
c:kill()
end,
{description = "close", group = "client"}
),
awful.key(
{modkey, "Control"},
"space",
function(c)
if not (awful.screen.focused().selected_tag.layout == awful.layout.suit.floating) and not c.maximized and not c.fullscreen then
awful.client.floating.toggle(c)
awful.placement.scale(c, {to_percent = 0.65})
end
end,
{description = "toggle floating", group = "client"}
),
awful.key(
{modkey, "Control"},
"Return",
function(c)
c:swap(awful.client.getmaster())
end,
{description = "move to master", group = "client"}
),
awful.key(
{modkey},
"o",
function(c)
c:move_to_screen()
end,
{description = "move to screen", group = "client"}
),
awful.key(
{modkey},
"t",
function(c)
c.ontop = not c.ontop
end,
{description = "toggle keep on top", group = "client"}
),
awful.key(
{modkey},
"y",
function(c)
c.sticky = not c.sticky
end,
{description = "toggle sticky", group = "client"}
),
--awful.key(
-- {modkey},
-- "n",
-- function(c)
-- -- The client currently has the input focus, so it cannot be
-- -- minimized, since minimized clients can't have the focus.
-- c.minimized = true
-- end,
-- {description = "minimize", group = "client"}
--),
awful.key(
{modkey},
"m",
function(c)
c.maximized = not c.maximized
c:raise()
end,
{description = "(un)maximize", group = "client"}
),
awful.key(
{modkey, "Control"},
"m",
function(c)
c.maximized_vertical = not c.maximized_vertical
c:raise()
end,
{description = "(un)maximize vertically", group = "client"}
),
awful.key(
{modkey, "Shift"},
"m",
function(c)
c.maximized_horizontal = not c.maximized_horizontal
c:raise()
end,
{description = "(un)maximize horizontally", group = "client"}
)
)
clientbuttons =
gears.table.join(
awful.button(
{},
1,
function(c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
end
),
awful.button(
{modkey},
1,
function(c)
if c.focusable then
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.move(c)
end
end
),
awful.button(
{modkey},
3,
function(c)
if c.focusable then
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end
end
)
)

View File

@@ -0,0 +1,393 @@
local gears = require("gears")
local awful = require("awful")
local hotkeys_popup = require("awful.hotkeys_popup")
require "bindings.mod"
require "config.apps"
globalkeys =
gears.table.join(
awful.key(
{modkey},
"s",
hotkeys_popup.show_help,
{description = "show help", group = "awesome"}
),
awful.key(
{modkey, "Control"},
"r",
awesome.restart,
{description = "reload awesome", group = "awesome"}
),
awful.key(
{modkey, "Control"},
"e",
function()
awful.spawn("/home/nick/.config/rofi/launchers/text/powermenu.sh", false)
end,
{description = "quit awesome", group = "awesome"}
),
awful.key(
{modkey},
"x",
function()
awful.prompt.run {
prompt = "Run Lua code: ",
textbox = awful.screen.focused().mypromptbox.widget,
exe_callback = awful.util.eval,
history_path = awful.util.get_cache_dir() .. "/history_eval"
}
end,
{description = "lua execute prompt", group = "awesome"}
),
awful.key(
{modkey},
"j",
function()
awful.client.focus.byidx(1)
end,
{description = "focus next by index", group = "client"}
),
awful.key(
{modkey},
"k",
function()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
awful.key(
{modkey, "Shift"},
"j",
function()
awful.client.swap.byidx(1)
end,
{description = "swap with next client by index", group = "client"}
),
awful.key(
{modkey, "Shift"},
"k",
function()
awful.client.swap.byidx(-1)
end,
{description = "swap with previous client by index", group = "client"}
),
awful.key(
{modkey},
"u",
awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}
),
awful.key(
{modkey},
"Tab",
function()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}
),
awful.key(
{modkey, "Control"},
"n",
function()
local c = awful.client.restore()
-- Focus restored client
if c then
c:emit_signal("request::activate", "key.unminimize", {raise = true})
end
end,
{description = "restore minimized", group = "client"}
),
awful.key(
{},
"XF86MonBrightnessUp",
function()
awful.spawn("brightness_up", false)
end,
{description = "brightness +5%", group = "hotkeys"}
),
awful.key(
{},
"XF86MonBrightnessDown",
function()
awful.spawn("brightness_down", false)
end,
{description = "brightness -5%", group = "hotkeys"}
),
awful.key(
{},
"XF86AudioRaiseVolume",
function()
awful.spawn("amixer set Master 2%+", false)
end,
{description = "volume +2%", group = "hotkeys"}
),
awful.key(
{},
"XF86AudioLowerVolume",
function()
awful.spawn("amixer set Master 2%-", false)
end,
{description = "volume -2%", group = "hotkeys"}
),
awful.key(
{},
"XF86AudioMute",
function()
awful.spawn("amixer set Master toggle", false)
end,
{description = "volume toggle", group = "hotkeys"}
),
awful.key(
{},
"XF86AudioPlay",
function()
awful.spawn("playerctl play-pause", false)
end,
{description = "media toggle", group = "hotkeys"}
),
awful.key(
{},
"XF86AudioStop",
function()
awful.spawn("playerctl stop", false)
end,
{description = "media stop", group = "hotkeys"}
),
awful.key(
{},
"XF86AudioNext",
function()
awful.spawn("playerctl next", false)
end,
{description = "media next", group = "hotkeys"}
),
awful.key(
{},
"XF86AudioPrev",
function()
awful.spawn("playerctl previous", false)
end,
{description = "media previous", group = "hotkeys"}
),
awful.key(
{},
"Print",
function ()
awful.spawn("scrot '/home/nick/Pictures/screenshots/%Y-%m-%d-%H%M%S.png' -e 'xclip -selection clipboard -t image/png -i $f'", false)
end,
{description = "screenshot", group = "hotkeys"}
),
awful.key(
{"Shift"},
"Print",
function ()
awful.spawn("scrot '/home/nick/Pictures/screenshots/%Y-%m-%d-%H%M%S.png' -s -f -e 'xclip -selection clipboard -t image/png -i $f'", false)
end,
{description = "screenshot with selection", group = "hotkeys"}
),
awful.key(
{},
"XF86Calculator",
function()
awful.spawn("qalculate-gtk", false)
end,
{description = "calculator", group = "hotkeys"}
),
awful.key(
{modkey, "Control"},
"p",
function()
awful.spawn.with_shell("power_saving_mode", false)
end,
{description = "toggle power saving mode", group = "hotkeys"}
),
awful.key(
{modkey},
"t",
function()
awful.spawn("/home/nick/.config/awesome/scripts/switch_theme.sh", false)
end,
{description = "switch theme", group = "hotkey"}
),
awful.key(
{modkey},
"Return",
function()
awful.spawn(terminal)
end,
{description = "open a terminal", group = "launcher"}
),
awful.key(
{modkey},
"r",
function()
awful.spawn("/home/nick/.config/rofi/launchers/text/launcher.sh")
end,
{description = "run prompt", group = "launcher"}
),
awful.key(
{modkey},
"l",
function()
awful.tag.incmwfact(0.05)
end,
{description = "increase master width factor", group = "layout"}
),
awful.key(
{modkey},
"h",
function()
awful.tag.incmwfact(-0.05)
end,
{description = "decrease master width factor", group = "layout"}
),
awful.key(
{modkey, "Shift"},
"h",
function()
awful.tag.incnmaster(1, nil, true)
end,
{description = "increase the number of master clients", group = "layout"}
),
awful.key(
{modkey, "Shift"},
"l",
function()
awful.tag.incnmaster(-1, nil, true)
end,
{description = "decrease the number of master clients", group = "layout"}
),
awful.key(
{modkey, "Control"},
"h",
function()
awful.tag.incncol(1, nil, true)
end,
{description = "increase the number of columns", group = "layout"}
),
awful.key(
{modkey, "Control"},
"l",
function()
awful.tag.incncol(-1, nil, true)
end,
{description = "decrease the number of columns", group = "layout"}
),
awful.key(
{modkey},
"space",
function()
awful.layout.inc(1)
end,
{description = "select next", group = "layout"}
),
awful.key(
{modkey, "Shift"},
"space",
function()
awful.layout.inc(-1)
end,
{description = "select previous", group = "layout"}
),
awful.key(
{modkey, "Control"},
"j",
function()
awful.screen.focus_relative(1)
end,
{description = "focus the next screen", group = "screen"}
),
awful.key(
{modkey, "Control"},
"k",
function()
awful.screen.focus_relative(-1)
end,
{description = "focus the previous screen", group = "screen"}
),
awful.key(
{modkey},
"Left",
awful.tag.viewprev,
{description = "view previous", group = "tag"}
),
awful.key(
{modkey},
"Right",
awful.tag.viewnext,
{description = "view next", group = "tag"}
),
awful.key(
{modkey},
"Escape",
awful.tag.history.restore,
{description = "go back", group = "tag"}
)
)
for i = 1, 9 do
globalkeys =
gears.table.join(
globalkeys,
-- View tag only.
awful.key(
{modkey},
"#" .. i + 9,
function()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
tag:view_only()
end
end,
{description = "view tag #" .. i, group = "tag"}
),
-- Toggle tag display.
awful.key(
{modkey, "Control"},
"#" .. i + 9,
function()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
awful.tag.viewtoggle(tag)
end
end,
{description = "toggle tag #" .. i, group = "tag"}
),
-- Move client to tag.
awful.key(
{modkey, "Shift"},
"#" .. i + 9,
function()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:move_to_tag(tag)
end
end
end,
{description = "move focused client to tag #" .. i, group = "tag"}
),
-- Toggle tag on focused client.
awful.key(
{modkey, "Control", "Shift"},
"#" .. i + 9,
function()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:toggle_tag(tag)
end
end
end,
{description = "toggle focused client on tag #" .. i, group = "tag"}
)
)
end
root.keys(globalkeys)

View File

@@ -0,0 +1,2 @@
require "bindings.global"
require "bindings.client"

View File

@@ -0,0 +1 @@
modkey = "Mod4"

View File

@@ -0,0 +1,3 @@
terminal = "alacritty"
editor = os.getenv("EDITOR") or "nano"
editor_cmd = terminal .. " -e " .. editor

View File

@@ -0,0 +1 @@
require "config.apps"

34
.config/awesome/error/init.lua Executable file
View File

@@ -0,0 +1,34 @@
local naughty = require("naughty")
if awesome.startup_errors then
naughty.notify(
{
preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors
}
)
end
do
local in_error = false
awesome.connect_signal(
"debug::error",
function(err)
-- Make sure we don't go into an endless error loop
if in_error then
return
end
in_error = true
naughty.notify(
{
preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = tostring(err)
}
)
in_error = false
end
)
end

View File

@@ -0,0 +1,19 @@
local awful = require("awful")
local shapes = require("extras.nice.shapes")
function update_titlebars(c, init)
init = init or false
-- Rounded Corners
if not c.fullscreen and not c.maximized then
c.shape = shapes.rounded_rect {
tl = 9,
tr = 9,
bl = 9,
br = 9
}
else
c.shape = nil
end
end

12
.config/awesome/rc.lua Executable file
View File

@@ -0,0 +1,12 @@
pcall(require, "luarocks.loader")
local awful = require("awful")
require "error"
require "config"
require "theme"
require "screen"
require "bindings"
require "rules"
require "signals"
awful.spawn.with_shell("~/.config/autostart/autostart.sh")

79
.config/awesome/rules/init.lua Executable file
View File

@@ -0,0 +1,79 @@
local awful = require("awful")
local beautiful = require("beautiful")
awful.rules.rules = {
-- All clients will match this rule.
{
rule = {},
properties = {
border_width = 0,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap + awful.placement.no_offscreen + awful.placement.centered
}
},
-- Floating clients.
{
rule_any = {
instance = {
},
class = {
"Arandr",
"Blueman-manager",
"Tor Browser",
"Pavucontrol",
"qpaeq",
"qalculate-gtk",
"Qalculate-gtk",
"matplotlib",
"Matplotlib",
},
name = {
"Event Tester",
"GLava",
"Conky",
"eww-wrapper",
},
role = {
}
},
properties = {floating = true},
},
-- Music Visualizer
{
rule_any = {
name = {
"GLava",
},
},
properties = {
below = true,
sticky = true,
skip_taskbar = true,
titlebars_enabled = false,
requests_no_titlebar = true,
focusable = false,
placement = awful.placement.maximize
}
},
-- Widgets
{
rule_any = {
class = {
"Conky",
},
},
properties = {
below = true,
sticky = true,
skip_taskbar = true,
titlebars_enabled = false,
requests_no_titlebar = true,
focusable = false,
placement = awful.placement.maximize
}
},
}

View File

@@ -0,0 +1 @@
require "screen.wibar"

169
.config/awesome/screen/wibar.lua Executable file
View File

@@ -0,0 +1,169 @@
local gears = require("gears")
local awful = require("awful")
local wibox = require("wibox")
local beautiful = require("beautiful")
beautiful.bg_systray = "#2e3440"
beautiful.tasklist_bg_normal = "#2e3440"
beautiful.tasklist_bg_focus = "#4c566a"
beautiful.tasklist_bg_urgent = "#bf616a"
beautiful.tasklist_bg_minimize = "#5e81ac"
mykeyboardlayout = awful.widget.keyboardlayout()
mytextclock = wibox.widget.textclock()
mysystray = wibox.widget.systray()
local taglist_buttons =
gears.table.join(
awful.button(
{},
1,
function(t)
t:view_only()
end
),
awful.button(
{modkey},
1,
function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end
),
awful.button({}, 3, awful.tag.viewtoggle),
awful.button(
{modkey},
3,
function(t)
if client.focus then
client.focus:toggle_tag(t)
end
end
),
awful.button(
{},
4,
function(t)
awful.tag.viewnext(t.screen)
end
),
awful.button(
{},
5,
function(t)
awful.tag.viewprev(t.screen)
end
)
)
local tasklist_buttons =
gears.table.join(
awful.button(
{},
1,
function(c)
if c == client.focus then
c.minimized = true
else
c:emit_signal("request::activate", "tasklist", {raise = true})
end
end
),
awful.button(
{},
4,
function()
awful.client.focus.byidx(1)
end
),
awful.button(
{},
5,
function()
awful.client.focus.byidx(-1)
end
)
)
awful.screen.connect_for_each_screen(
function(s)
-- Wallpaper
set_wallpaper(s)
-- Tags
awful.tag({"1", "2", "3", "4", "5", "6", "7", "8", "9"}, s, awful.layout.layouts[1])
s.mytaglist = awful.widget.taglist {
screen = s,
filter = awful.widget.taglist.filter.all,
buttons = taglist_buttons
}
-- Layout Box
s.mylayoutbox = awful.widget.layoutbox(s)
s.mylayoutbox:buttons(
gears.table.join(
awful.button(
{},
1,
function()
awful.layout.inc(1)
end
),
awful.button(
{},
3,
function()
awful.layout.inc(-1)
end
),
awful.button(
{},
4,
function()
awful.layout.inc(1)
end
),
awful.button(
{},
5,
function()
awful.layout.inc(-1)
end
)
)
)
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = tasklist_buttons,
}
-- Wibar initialization
s.mywibox = awful.wibar({
position = "top",
screen = s,
bg = "#2e3440"
})
s.mywibox:setup {
expand = "none",
layout = wibox.layout.align.horizontal,
{
layout = wibox.layout.fixed.horizontal,
s.mytaglist,
},
s.mytasklist,
{
layout = wibox.layout.fixed.horizontal,
mysystray,
mykeyboardlayout,
mytextclock,
s.mylayoutbox,
}
}
end
)

View File

@@ -0,0 +1,58 @@
#!/bin/bash
theme=$(grep -o -P '(?<=local theme = ").*(?=")' /home/nick/.config/awesome/theme/init.lua)
case $theme in
"nordic_firewatch")
new_theme="nordic_moon"
;;
"nordic_moon")
new_theme="nordic_legion"
;;
"nordic_legion")
new_theme="nordic_firewatch"
;;
*)
esac
# Replace the theme in the init.lua file
sed -i "s/local theme = .*$/local theme = \"$new_theme\"/" /home/nick/.config/awesome/theme/init.lua
# Configure glava
case $new_theme in
"nordic_firewatch")
sed -i 's/#request mod .*/#request mod bars/g' /home/nick/.config/glava/rc.glsl
sed -i 's/#request setgeometry .*/#request setgeometry 0 0 2560 750/g' /home/nick/.config/glava/rc.glsl
;;
"nordic_moon")
sed -i 's/#request mod .*/#request mod radial/g' /home/nick/.config/glava/rc.glsl
sed -i 's/#request setgeometry .*/#request setgeometry 0 0 2560 1600/g' /home/nick/.config/glava/rc.glsl
;;
"nordic_legion")
sed -i 's/#request mod .*/#request mod bars/g' /home/nick/.config/glava/rc.glsl
sed -i 's/#request setgeometry .*/#request setgeometry 0 0 2560 1600/g' /home/nick/.config/glava/rc.glsl
;;
*)
esac
# Restart glava if it's running
if pgrep glava > /dev/null; then
killall glava
glava --desktop &>/dev/null & disown
fi
# Restart awesome
echo 'awesome.restart()' | awesome-client
# Configure conky
case $new_theme in
"nordic_firewatch")
pkill conky
;;
"nordic_moon")
pkill conky
;;
"nordic_legion")
;;
*)
esac

119
.config/awesome/signals/init.lua Executable file
View File

@@ -0,0 +1,119 @@
local beautiful = require("beautiful")
local awful = require("awful")
require "functions"
-- Signal function to execute when a new client appears.
client.connect_signal(
"manage",
function(c)
-- Set the windows at the slave
if not awesome.startup then awful.client.setslave(c) end
-- Prevent clients from being unreachable after screen count changes.
if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then
awful.placement.no_offscreen(c)
end
update_titlebars(c)
if not c.below then
c:raise()
end
end
)
-- Enable sloppy focus, so that focus follows mouse.
client.connect_signal(
"mouse::enter",
function(c)
c:emit_signal("request::activate", "mouse_enter", {raise = false})
end
)
client.connect_signal(
"focus",
function(c)
c.border_color = beautiful.border_focus
end
)
client.connect_signal(
"unfocus",
function(c)
c.border_color = beautiful.border_normal
end
)
-- Disable PiP Snapping
client.connect_signal(
"property::struts",
function(c)
if c:struts().left ~= 0 or c:struts().right ~= 0 or c:struts().top ~= 0 or c:struts().bottom ~= 0 then
c:struts({ left = 0, right = 0, top = 0, bottom = 0 })
end
end
)
client.connect_signal(
"property::floating",
function(c)
if c.floating and not c.maximized and not c.fullscreen then
c.placement = awful.placement.centered
end
update_titlebars(c)
end
)
client.connect_signal(
"property::maximized",
update_titlebars
)
client.connect_signal(
"property::fullscreen",
update_titlebars
)
-- Automatically unminimize windows
client.connect_signal(
"property::minimized",
function(c)
if c.minimized then
c.minimized = false
end
end
)
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
screen.connect_signal("property::geometry", set_wallpaper)
tag.connect_signal(
"property::selected",
function (t)
local selected = tostring(t.selected) == "false"
if selected then
local focus_timer = timer({ timeout = 0.05 })
focus_timer:connect_signal(
"timeout",
function()
local c = awful.mouse.client_under_pointer()
if c ~= nil and not c.below then
client.focus = c
c:raise()
end
focus_timer:stop()
end)
focus_timer:start()
end
end
)
tag.connect_signal(
"property::layout",
function (t)
for _, c in pairs(t.clients(t)) do
update_titlebars(c)
end
end
)

View File

@@ -0,0 +1,3 @@
Background images:
Mikael Eriksson <mikael_eriksson@miffe.org>
Licensed under CC-BY-SA-3.0

BIN
.config/awesome/theme/default/background.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/background_white.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornerne.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornernew.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornernw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornernww.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornerse.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornersew.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornersw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/cornersww.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/dwindle.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/dwindlew.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/fairh.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/fairhw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/fairv.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/fairvw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/floating.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/floatingw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/fullscreen.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/fullscreenw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/magnifier.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/magnifierw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/max.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/maxw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/spiral.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/spiralw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tile.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tilebottom.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tilebottomw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tileleft.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tileleftw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tiletop.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tiletopw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/layouts/tilew.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/submenu.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/taglist/squarefw.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/taglist/squarew.png (Stored with Git LFS) Executable file

Binary file not shown.

View File

@@ -0,0 +1,131 @@
---------------------------
-- Default awesome theme --
---------------------------
local theme_assets = require("beautiful.theme_assets")
local xresources = require("beautiful.xresources")
local dpi = xresources.apply_dpi
local gfs = require("gears.filesystem")
local themes_path = gfs.get_themes_dir()
local theme = {}
theme.font = "sans 8"
theme.bg_normal = "#222222"
theme.bg_focus = "#535d6c"
theme.bg_urgent = "#ff0000"
theme.bg_minimize = "#444444"
theme.bg_systray = theme.bg_normal
theme.fg_normal = "#aaaaaa"
theme.fg_focus = "#ffffff"
theme.fg_urgent = "#ffffff"
theme.fg_minimize = "#ffffff"
theme.useless_gap = dpi(0)
theme.border_width = dpi(1)
theme.border_normal = "#000000"
theme.border_focus = "#535d6c"
theme.border_marked = "#91231c"
-- There are other variable sets
-- overriding the default one when
-- defined, the sets are:
-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
-- tasklist_[bg|fg]_[focus|urgent]
-- titlebar_[bg|fg]_[normal|focus]
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
-- Example:
--theme.taglist_bg_focus = "#ff0000"
-- Generate taglist squares:
local taglist_square_size = dpi(4)
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
taglist_square_size, theme.fg_normal
)
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
taglist_square_size, theme.fg_normal
)
-- Variables set for theming notifications:
-- notification_font
-- notification_[bg|fg]
-- notification_[width|height|margin]
-- notification_[border_color|border_width|shape|opacity]
-- Variables set for theming the menu:
-- menu_[bg|fg]_[normal|focus]
-- menu_[border_color|border_width]
theme.menu_submenu_icon = themes_path.."default/submenu.png"
theme.menu_height = dpi(15)
theme.menu_width = dpi(100)
-- You can add as many variables as
-- you wish and access them by using
-- beautiful.variable in your rc.lua
--theme.bg_widget = "#cc0000"
-- Define the image to load
theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png"
theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png"
theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png"
theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png"
theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png"
theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png"
theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png"
theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png"
theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png"
theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png"
theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png"
theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png"
theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png"
theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png"
theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png"
theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png"
theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png"
theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png"
theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
theme.wallpaper = themes_path.."default/background.png"
-- You can use your own layout icons like this:
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
theme.layout_floating = themes_path.."default/layouts/floatingw.png"
theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
theme.layout_max = themes_path.."default/layouts/maxw.png"
theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
theme.layout_tile = themes_path.."default/layouts/tilew.png"
theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
-- Generate Awesome icon:
theme.awesome_icon = theme_assets.awesome_icon(
theme.menu_height, theme.bg_focus, theme.fg_focus
)
-- Define the icon theme for application icons. If not set then the icons
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
theme.icon_theme = nil
return theme
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80

BIN
.config/awesome/theme/default/titlebar/close_focus.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/close_normal.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/floating_focus_active.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/floating_focus_inactive.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/floating_normal_active.png (Stored with Git LFS) Executable file

Binary file not shown.

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/maximized_focus_active.png (Stored with Git LFS) Executable file

Binary file not shown.

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/maximized_normal_active.png (Stored with Git LFS) Executable file

Binary file not shown.

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/minimize_focus.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/minimize_normal.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/ontop_focus_active.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/ontop_focus_inactive.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/ontop_normal_active.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/ontop_normal_inactive.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/sticky_focus_active.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/sticky_focus_inactive.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/sticky_normal_active.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
.config/awesome/theme/default/titlebar/sticky_normal_inactive.png (Stored with Git LFS) Executable file

Binary file not shown.

63
.config/awesome/theme/init.lua Executable file
View File

@@ -0,0 +1,63 @@
local gears = require("gears")
local beautiful = require("beautiful")
local awful = require("awful")
local wibox = require("wibox")
beautiful.init(gears.filesystem.get_configuration_dir() .. "theme/default/theme.lua")
beautiful.font = "Ubuntu Sans 11"
beautiful.useless_gap = 7
beautiful.gap_single_client = true
local theme = "nordic_firewatch"
beautiful.wallpaper = "/home/nick/Pictures/wallpapers/" .. theme .. "/wallpaper.png"
local cutout = "/home/nick/Pictures/wallpapers/" .. theme .. "/cutout.png"
function set_wallpaper(s)
-- Wallpaper
if beautiful.wallpaper then
local wallpaper = beautiful.wallpaper
-- If wallpaper is a function, call it with the screen
if type(wallpaper) == "function" then
wallpaper = wallpaper(s)
end
gears.wallpaper.maximized(wallpaper, s, true)
end
end
local bling = require("extras.bling")
awful.layout.layouts = {
awful.layout.suit.tile,
awful.layout.suit.fair,
awful.layout.suit.tile.bottom,
bling.layout.centered,
awful.layout.suit.spiral.dwindle,
bling.layout.equalarea,
awful.layout.suit.corner.nw,
awful.layout.suit.floating
}
-- Wallpaper cutout
local imgbox = wibox({
type = "desktop",
width = 2560,
height = 1600,
x = 0,
y = 0,
visible = true,
focusable = false,
opacity = 1,
bg = "#00000000",
})
imgbox:setup{
layout = wibox.layout.fixed.vertical,
{
widget = wibox.widget.imagebox,
image = cutout,
}
}
-- Launch conky if theme is nordic_legion
if theme == "nordic_legion" then
awful.spawn.with_shell("killall conky; conky -c /home/nick/.config/conky/conky_left.conf; conky -c /home/nick/.config/conky/conky_right.conf")
end

153
.config/bpytop/bpytop.conf Executable file
View File

@@ -0,0 +1,153 @@
#? Config file for bpytop v. 1.0.67
#* Color theme, looks for a .theme file in "/usr/[local/]share/bpytop/themes" and "~/.config/bpytop/themes", "Default" for builtin default theme.
#* Prefix name by a plus sign (+) for a theme located in user themes folder, i.e. color_theme="+monokai"
color_theme="Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency
theme_background=False
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor=True
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
shown_boxes="cpu mem net proc"
#* Update time in milliseconds, increases automatically if set below internal loops processing time, recommended 2000 ms or above for better sample times for graphs.
update_ms=2000
#* Processes update multiplier, sets how often the process list is updated as a multiplier of "update_ms".
#* Set to 2 or higher to greatly decrease bpytop cpu usage. (Only integers)
proc_update_mult=2
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive",
#* "cpu lazy" updates top process over time, "cpu responsive" updates top process directly.
proc_sorting="cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed=False
#* Show processes as a tree
proc_tree=False
#* Which depth the tree view should auto collapse processes at
tree_depth=5
#* Use the cpu graph colors in the process list.
proc_colors=True
#* Use a darkening gradient in the process list.
proc_gradient=True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core=True
#* Show process memory as bytes instead of percent
proc_mem_bytes=True
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available, see:
#* https://psutil.readthedocs.io/en/latest/#psutil.cpu_times for attributes available on specific platforms.
#* Select from a list of detected attributes from the options menu
cpu_graph_upper="total"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available, see:
#* https://psutil.readthedocs.io/en/latest/#psutil.cpu_times for attributes available on specific platforms.
#* Select from a list of detected attributes from the options menu
cpu_graph_lower="total"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower=True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph=True
#* Shows the system uptime in the CPU box.
show_uptime=True
#* Check cpu temperature, needs "osx-cpu-temp" on MacOS X.
check_temp=True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor=Auto
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found
show_coretemp=True
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine"
temp_scale="celsius"
#* Show CPU frequency, can cause slowdowns on certain systems with some versions of psutil
show_cpu_freq=True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
draw_clock="%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update=True
#* Custom cpu model name, empty string to disable.
custom_cpu_name=""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with a comma ",".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot, /home/user"
disks_filter=""
#* Show graphs instead of meters for memory values.
mem_graphs=True
#* If swap memory should be shown in memory box.
show_swap=True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk=True
#* If mem box should be split to also show disks info.
show_disks=False
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical=True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab=False
#* Toggles if io stats should be shown in regular disk usage view
show_io_stat=True
#* Toggles io mode for disks, showing only big graphs for disk read/write speeds.
io_mode=False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined=False
#* Set the top speed for the io graphs in MiB/s (10 by default), use format "device:speed" separate disks with a comma ",".
#* Example: "/dev/sda:100, /dev/sdb:20"
io_graph_speeds=""
#* Set fixed values for network graphs, default "10M" = 10 Mibibytes, possible units "K", "M", "G", append with "bit" for bits instead of bytes, i.e "100mbit"
net_download="10M"
net_upload="10M"
#* Start in network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto=True
#* Sync the scaling for download and upload to whichever currently has the highest scale
net_sync=False
#* If the network graphs color gradient should scale to bandwidth usage or auto scale, bandwidth usage is based on "net_download" and "net_upload" values
net_color_fixed=False
#* Starts with the Network Interface specified here.
net_iface=""
#* Show battery stats in top right if battery is present
show_battery=True
#* Show init screen at startup, the init screen is purely cosmetical
show_init=False
#* Enable check for new version from github.com/aristocratos/bpytop at start.
update_check=True
#* Set loglevel for "~/.config/bpytop/error.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level=WARNING

94
.config/conky/conky_left.conf Executable file
View File

@@ -0,0 +1,94 @@
-- Conky, a system monitor https://github.com/brndnmtthws/conky
conky.config = {
background = true,
use_xft = true,
font = 'Meslo LGS NF:size=12',
xftalpha = 0.8,
update_interval = 1,
update_interval_on_battery = 15,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
own_window_type = 'desktop',
own_window_class = 'Conky',
own_window_argb_visual = true,
own_window_colour = '#000000',
own_window_argb_value = 150,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
double_buffer = true,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = true,
stippled_borders = 0,
border_width = 0,
default_color = '#d8dee9',
default_shade_color = 'grey',
default_outline_color = 'black',
alignment = 'top_left',
gap_x = 0,
gap_y = 0,
no_buffers = true,
cpu_avg_samples = 2,
net_avg_samples = 2,
override_utf8_locale = true,
use_spacer = 'right',
uppercase = false,
lua_load = "/home/nick/.config/conky/helpers.lua"
}
conky.text = [[
${offset 300} < PF371A40 > ──────────────────────
${offset 300} ┬
${offset 300} ┌─────── < $nodename > ───────┘
${offset 300} ├ DISTRO < Arch Linux >
${offset 300} ├ KERNEL < $sysname $kernel >
${offset 300} └ UPTIME < $uptime >
$alignr ${offset -220} < wlp4s0:${if_empty ${exec iwgetid}} Offline$else ${exec iwgetid | sed 's/wlp4s0 ESSID://g'} - ${exec ifconfig wlp4s0 | grep "inet " | awk '{print $2}'}$endif > ┐
$alignr ${offset -100} < eno1:${if_empty ${exec ifconfig eno1 | grep "inet " | awk '{print $2}'}} Offline$else ${exec ifconfig wlp4s0 | grep "inet " | awk '{print $2}'}$endif > ┴────────────
${offset 450} MEM < $mem/$memmax - ${lua_parse format %2.0f $memperc}% ${membar 8,150} > ┬─────────────
${offset 450} SWAP < $swap/$swapmax - ${lua_parse format %2.0f $swapperc}% ${swapbar 8,150} > ┘
${offset 640} TEMPS < OFFLINE > ─────────────────────
${offset 410} ┌────────────────── AUDIO ─────────────────────
${offset 410} ├ VOLUME < ${exec pamixer --get-volume}% >
${offset 410} ├ STATUS < ${exec playerctl status} >
${offset 410} ├ TITLE < ${exec playerctl metadata title} >
${offset 410} ├ ARTIST < ${exec playerctl metadata artist} >
${offset 410} └ ALBUM < ${exec playerctl metadata album} >
]]

91
.config/conky/conky_right.conf Executable file
View File

@@ -0,0 +1,91 @@
-- Conky, a system monitor https://github.com/brndnmtthws/conky
conky.config = {
background = true,
use_xft = true,
font = 'Meslo LGS NF:size=12',
xftalpha = 0.8,
update_interval = 1,
update_interval_on_battery = 15,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
own_window_type = 'desktop',
own_window_class = 'Conky',
own_window_argb_visual = true,
own_window_colour = '#000000',
own_window_argb_value = 150,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
double_buffer = true,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = true,
stippled_borders = 0,
border_width = 0,
default_color = '#d8dee9',
default_shade_color = 'grey',
default_outline_color = 'black',
alignment = 'top_left',
gap_x = 0,
gap_y = 0,
no_buffers = true,
cpu_avg_samples = 2,
net_avg_samples = 2,
override_utf8_locale = true,
use_spacer = 'right',
uppercase = false,
lua_load = "/home/nick/.config/conky/helpers.lua"
}
conky.text = [[
${offset 1640}────────────────────── LOCALE < $LANG >
${offset 1520}─────────────── CPU < ${exec cat /proc/cpuinfo | grep "model name" -m 1 | sed 's/model name\t: //g'} > ─┐
${offset 1680} USAGE < ${lua_parse format %2.0f $cpu}% ${cpubar 8,150} > ─┤
${offset 1680} FREQ < $freq MHz > ─┘
${offset 1560}────────────── GPU < ${exec lspci | grep VGA | sed 's/.*VGA compatible controller: //g' | tail -1} >
${offset 1440} ────────────── STORAGE ┬ < / ${fs_used /}/${fs_size /} ${fs_bar 8,150 /} >
${offset 1440} └ < /mnt/storage ${fs_used /mnt/storage}/${fs_size /mnt/storage} ${fs_bar 8,150 /mnt/storage} >
${offset 1510}─────────────────── BAT < $battery >
]]

3
.config/conky/helpers.lua Executable file
View File

@@ -0,0 +1,3 @@
function conky_format( format, number )
return string.format( format, tonumber(conky_parse( number )))
end

1
.config/glava/bars Symbolic link
View File

@@ -0,0 +1 @@
/etc/xdg/glava//bars

32
.config/glava/bars.glsl Executable file
View File

@@ -0,0 +1,32 @@
/* Center line thickness (pixels) */
#define C_LINE 1
/* Width (in pixels) of each bar */
#define BAR_WIDTH 4
/* Width (in pixels) of each bar gap */
#define BAR_GAP 0
/* Outline color */
#define BAR_OUTLINE #262626
/* Outline width (in pixels, set to 0 to disable outline drawing) */
#define BAR_OUTLINE_WIDTH 0
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 400
/* Whether the current settings use the alpha channel;
enabling this is required for alpha to function
correctly on X11 with `"native"` transparency. */
#define USE_ALPHA 0
/* How strong the gradient changes */
#define GRADIENT_POWER 60
/* Bar color changes with height */
#define GRADIENT (d / GRADIENT_POWER + 1)
/* Bar color */
#define COLOR (#3366b2 * GRADIENT)
/* Direction that the bars are facing, 0 for inward, 1 for outward */
#define DIRECTION 0
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Whether to flip the output vertically */
#define FLIP 0
/* Whether to mirror output along `Y = X`, causing output to render on the left side of the window */
/* Use with `FLIP 1` to render on the right side */
#define MIRROR_YX 0

1
.config/glava/circle Symbolic link
View File

@@ -0,0 +1 @@
/etc/xdg/glava//circle

24
.config/glava/circle.glsl Executable file
View File

@@ -0,0 +1,24 @@
/* center radius (pixels) */
#define C_RADIUS 128
/* center line thickness (pixels) */
#define C_LINE 1.5
/* outline color */
#define OUTLINE #333333
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 150
/* Angle (in radians) for how much to rotate the visualizer */
#define ROTATE (PI / 2)
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Whether to fill in the space between the line and inner circle */
#define C_FILL 0
/* Whether to apply a post-processing image smoothing effect
1 to enable, 0 to disable. Only works with `xroot` transparency,
and improves performance if disabled. */
#define C_SMOOTH 1
/* Gravity step, overrude frin `smooth_parameters.glsl` */
#request setgravitystep 6.0
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.01

8
.config/glava/env_KWin.glsl Executable file
View File

@@ -0,0 +1,8 @@
#request setdecorated false
#request setxwintype "normal"
#request addxwinstate "below"
#request addxwinstate "skip_taskbar"
#request addxwinstate "skip_pager"
#request addxwinstate "pinned"
#request setclickthrough true

2
.config/glava/env_Openbox.glsl Executable file
View File

@@ -0,0 +1,2 @@
#request setxwintype "desktop"
#request addxwinstate "pinned"

3
.config/glava/env_Xfwm4.glsl Executable file
View File

@@ -0,0 +1,3 @@
#request setxwintype "desktop"
#request addxwinstate "pinned"
#request addxwinstate "below"

1
.config/glava/env_awesome.glsl Executable file
View File

@@ -0,0 +1 @@
#request setxwintype "!-"

1
.config/glava/env_default.glsl Executable file
View File

@@ -0,0 +1 @@
#request setxwintype "desktop"

1
.config/glava/env_i3.glsl Executable file
View File

@@ -0,0 +1 @@
#request setxwintype "!-"

1
.config/glava/graph Symbolic link
View File

@@ -0,0 +1 @@
/etc/xdg/glava//graph

31
.config/glava/graph.glsl Executable file
View File

@@ -0,0 +1,31 @@
/* Vertical scale, larger values will amplify output */
#define VSCALE 300
/* Rendering direction, either -1 (outwards) or 1 (inwards). */
#define DIRECTION 1
/* Color gradient scale, (optionally) used in `COLOR` macro */
#define GRADIENT_SCALE 75
/* Color definition. By default this is a gradient formed by mixing two colors.
`pos` represents the pixel position relative to the visualizer baseline. */
#define COLOR mix(#802A2A, #4F4F92, clamp(pos / GRADIENT_SCALE, 0, 1))
/* 1 to draw outline, 0 to disable */
#define DRAW_OUTLINE 0
/* 1 to draw edge highlight, 0 to disable */
#define DRAW_HIGHLIGHT 1
/* Whether to anti-alias the border of the graph, creating a smoother curve.
This may have a small impact on performance.
Note: requires `xroot` or `none` opacity to be set */
#define ANTI_ALIAS 0
/* outline color */
#define OUTLINE #262626
/* 1 to join the two channels together in the middle, 0 to clamp both down to zero */
#define JOIN_CHANNELS 0
/* 1 to invert (vertically), 0 otherwise */
#define INVERT 0
/* Gravity step, overrude from `smooth_parameters.glsl` */
#request setgravitystep 2.4
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.015

1
.config/glava/radial Symbolic link
View File

@@ -0,0 +1 @@
/etc/xdg/glava//radial

43
.config/glava/radial.glsl Executable file
View File

@@ -0,0 +1,43 @@
/* center radius (pixels) */
#define C_RADIUS 855
/* center line thickness (pixels) */
#define C_LINE 0
/* outline color */
#define OUTLINE #333333
/* number of bars (use even values for best results) */
#define NBARS 300
/* width (in pixels) of each bar*/
#define BAR_WIDTH 3.5
/* outline color */
#define BAR_OUTLINE OUTLINE
/* outline width (in pixels, set to 0 to disable outline drawing) */
#define BAR_OUTLINE_WIDTH 0
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 350
/* How strong the gradient changes */
#define GRADIENT_POWER 60
/* Bar color changes with height */
#define GRADIENT (d / GRADIENT_POWER + 1)
/* Bar color */
#define COLOR (#3366b2 * GRADIENT)
/* Angle (in radians) for how much to rotate the visualizer */
#define ROTATE -(PI / 2)
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Aliasing factors. Higher values mean more defined and jagged lines.
Note: aliasing does not have a notable impact on performance, but requires
`xroot` transparency to be enabled since it relies on alpha blending with
the background. */
#define BAR_ALIAS_FACTOR 1.2
#define C_ALIAS_FACTOR 1.8
/* Offset (Y) of the visualization */
#define CENTER_OFFSET_Y 345
/* Offset (X) of the visualization */
#define CENTER_OFFSET_X -10
/* Gravity step, override from `smooth_parameters.glsl` */
#request setgravitystep 5.0
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.02

228
.config/glava/rc.glsl Executable file
View File

@@ -0,0 +1,228 @@
/* The module to use. A module is a set of shaders used to produce
the visualizer. The structure for a module is the following:
module_name [directory]
1.frag [file: fragment shader],
2.frag [file: fragment shader],
...
Shaders are loaded in numerical order, starting at '1.frag',
continuing indefinitely. The results of each shader (except
for the final pass) is given to the next shader in the list
as a 2D sampler.
See documentation for more details. */
#request mod bars
/* Window hints */
#request setfloating true
#request setdecorated false
#request setfocused false
#request setmaximized true
/* Set window background opacity mode. Possible values are:
"native" - True transparency provided by the compositor. Can
reduce performance on some systems, depending on
the compositor used.
"xroot" - Maintain a copy of the root window's pixmap
(usually the desktop background) to provide a
pseudo-transparent effect. Useful when no compositor
is available or native transparency isn't nessecary.
Has very little performance impact.
"none" - Disable window opacity completely. */
#request setopacity "native"
/* Whether to mirror left and right audio input channels from PulseAudio.*/
#request setmirror false
/* OpenGL context and GLSL shader versions, do not change unless
you *absolutely* know what you are doing. */
#request setversion 3 3
#request setshaderversion 330
/* Window title */
#request settitle "GLava"
/* Window geometry (x, y, width, height) */
/* #request setgeometry 0 0 2560 750
#request setgeometry 0 0 2560 750
/* Window background color (RGB format).
Does not work with `setopacity "xroot"` */
#request setbg 00000000
/* (X11 only) EWMH Window type. Possible values are:
"desktop", "dock", "toolbar", "menu",
"utility", "splash", "dialog", "normal"
This will set _NET_WM_WINDOW_TYPE to _NET_WM_WINDOW_TYPE_(TYPE),
where (TYPE) is the one of the window types listed (after being
converted to uppercase).
Alternatively, you can set this value to "!", which will cause
the window to be unmanaged. If this is set, then `addxwinstate`
will do nothing, but you can use "!+" and "!-" to stack on top
or below other windows.
*/
#request setxwintype "normal"
/* (X11 only) EWMH Window state atoms (multiple can be specified).
Possible values are:
"modal", "sticky", "maximized_vert", "maximized_horz",
"shaded", "skip_taskbar", "skip_pager", "hidden", "fullscreen",
"above", "below", "demands_attention", "focused", "pinned"
This will add _NET_WM_STATE_(TYPE) atoms to _NET_WM_STATE,
where (TYPE) is one of the window states listed (after being
converted to uppercase).
The lines below (commented out by default) are of relevance
if you are trying to get GLava to behave as a desktop widget
and your WM is not correctly responding to the "desktop" value
for `setxwintype`.
*/
#request addxwinstate "sticky"
#request addxwinstate "skip_taskbar"
#request addxwinstate "skip_pager"
#request addxwinstate "below"
// #request addxwinstate "pinned"
/* (X11 only) Use the XShape extension to support clicking through
the GLava window. Useful when you want to interact with other
desktop windows (icons, menus, desktop shells). Enabled by
default when GLava itself is a desktop window. */
#request setclickthrough true
/* Audio source
When the "pulseaudio" backend is set, this can be a number or
a name of an audio sink or device to record from. Set to "auto"
to use the default output device.
When the "fifo" backend is set, "auto" is interpreted as
"/tmp/mpd.fifo". Otherwise, a valid path should be provided. */
#request setsource "auto"
/* Buffer swap interval (vsync), set to '0' to prevent
waiting for refresh, '1' (or more) to wait for the specified
amount of frames. */
#request setswap 1
/* Linear interpolation for audio data frames. Drastically
improves smoothness with configurations that yield low UPS
(`setsamplerate` and `setsamplesize`), or monitors that have
high refresh rates.
This feature itself, however, will effect performance as it
will have to interpolate data every frame on the CPU. It will
automatically (and temporarily) disable itself if the update
rate is close to, or higher than the framerate:
if (update_rate / frame_rate > 0.9) disable_interpolation;
This will delay data output by one update frame, so it can
desync audio with visual effects on low UPS configs. */
#request setinterpolate true
/* Frame limiter, set to the frames per second (FPS) desired or
simply set to zero (or lower) to disable the frame limiter. */
#request setframerate 0
/* Suspends rendering if a fullscreen window is focused while
GLava is still visible (ie. on another monitor). This prevents
rendering from interfering with other graphically intensive
tasks.
If GLava is minimized or completely obscured, it will not
render regardless of this option. */
#request setfullscreencheck true
/* Enable/disable printing framerate every second. 'FPS' stands
for 'Frames Per Second', and 'UPS' stands for 'Updates Per
Second'. Updates are performed when new data is submitted
by pulseaudio, and require transformations to be re-applied
(thus being a good measure of how much work your CPU has to
perform over time) */
#request setprintframes true
/* PulseAudio sample buffer size. Lower values result in more
frequent audio updates (also depends on sampling rate), but
will also require all transformations to be applied much
more frequently (CPU intensive).
High (>2048, with 22050 Hz) values will decrease accuracy
(as some signals can be missed by transformations like FFT)
The following settings (@22050 Hz) produce the listed rates:
Sample UPS Description
- 2048 -> 43.0 (low accuracy, cheap), use with < 60 FPS
- 1024 -> 86.1 (high accuracy, expensive), use with >= 60 FPS
- 512 -> 172.3 (extreme accuracy, very expensive), use only
for graphing accurate spectrum data with
custom modules.
If the framerate drops below the update rate, the update rate
will be locked to the framerate (to prevent wasting CPU time).
This behaviour means you can use a 1024 sample size on a 60Hz
monitor with vsync enabled to get 60FPS and 60UPS.
For high refresh rate monitors (120+ Hz), it's recommended to
also stick with the 1024 sample size and use interpolation to
smooth the data, as accuracy beyond this setting is mostly
meaningless for visual purposes.
*/
#request setsamplesize 1024
/* Audio buffer size to be used for processing and shaders.
Increasing this value can have the effect of adding 'gravity'
to FFT output, as the audio signal will remain in the buffer
longer.
This value has a _massive_ effect on FFT performance and
quality for some modules. */
#request setbufsize 4096
/* PulseAudio sample rate. Lower values can add 'gravity' to
FFT output, but can also reduce accuracy. Most hardware
samples at 44100Hz.
Lower sample rates also can make output more choppy, when
not using interpolation. It's generally OK to leave this
value unless you have a strange PulseAudio configuration.
This option does nothing when using the "fifo" audio
backend. Instead, an ideal rate should be be configured
in the application generating the output. */
#request setsamplerate 22050
/* ** DEPRECATED **
Force window geometry (locking the window in place), useful
for some pesky WMs that try to reposition the window when
embedding in the desktop.
This routinely sends X11 events and should be avoided. */
#request setforcegeometry false
/* ** DEPRECATED **
Force window to be raised (focused in some WMs), useful for
WMs that have their own stacking order for desktop windows.
This routinely sends X11 events and should be avoided. */
#request setforceraised false
/* ** DEPRECATED **
Scale down the audio buffer before any operations are
performed on the data. Higher values are faster.
This value can affect the output of various transformations,
since it applies (crude) averaging to the data when shrinking
the buffer. It is reccommended to use `setsamplerate` and
`setsamplesize` to improve performance or accuracy instead. */
#request setbufscale 1

View File

@@ -0,0 +1,78 @@
/* Settings for smoothing functions and transformations commonly
used to display FFT output.
IMPORTANT: THESE VALUES CAN BE OVERRIDDEN IN MODULE CONFIG
FILES, IF CHANGING VALUES HERE DOES NOT WORK, CHECK
TO MAKE SURE THEY ARE NOT BEING SET ELSEWHERE.
*/
/* The type of formula to use for weighting values when smoothing.
Possible values:
- circular heavily rounded points
- sinusoidal rounded at both low and high weighted values
like a sine wave
- linear not rounded at all; linear distance
*/
#define ROUND_FORMULA sinusoidal
/* The sampling mode for processing raw FFT input:
- average averages all the inputs in the sample range for
a given point. Produces smooth output, but peaks
are not well represented
- maximum obtains the best value from the closest peak in
the sample range. Very accurate peaks, but
output is jagged and sporadic.
- hybrid uses the results from both `average` and `maximum`
with the weight provided in `SAMPLE_HYBRID_WEIGHT` */
#define SAMPLE_MODE average
/* Weight should be provided in the range (0, 1). Higher values favour
averaged results. `hybrid` mode only. */
#define SAMPLE_HYBRID_WEIGHT 0.65
/* Factor used to scale frequencies. Lower values allows lower
frequencies to occupy more space. */
#define SAMPLE_SCALE 8
/* The frequency range to sample. 1.0 would be the entire FFT output,
and lower values reduce the displayed frequencies in a log-like
scale. */
#define SAMPLE_RANGE 0.9
/* Factor for how to scale higher frequencies. Used in a linear equation
which is multiplied by the result of the fft transformation. */
#request setfftscale 10.2
/* Cutoff for the bass end of the audio data when scaling frequencies.
Higher values cause more of the bass frequencies to be skipped when
scaling. */
#request setfftcutoff 0.3
/* How many frames to queue and run through the average function.
Increasing this value will create latency between the audio and the
animation, but will make for much smoother results. */
#request setavgframes 6
/* Whether to window frames ran through the average function (new & old
frames are weighted less). This massively helps smoothing out
spontaneous values in the animation. */
#request setavgwindow true
/* Gravity step, higher values means faster drops. The step is applied
in a rate independant method like so:
val -= (gravitystep) * (seconds per update) */
#request setgravitystep 4.2
/* Smoothing factor. Larger values mean more smoothing in the output,
however high values can be expensive to compute. Values are in
normalized width: [0.0, 1.0) */
#request setsmoothfactor 0.025
/* Whether to use a separate pass for audio data while smoothing. On
most hardware, this will improve performance, but involves doing a
separate render step for each audio texture and will add some driver
(CPU) overhead. */
#request setsmoothpass true

1
.config/glava/util Symbolic link
View File

@@ -0,0 +1 @@
/etc/xdg/glava//util

1
.config/glava/wave Symbolic link
View File

@@ -0,0 +1 @@
/etc/xdg/glava//wave

14
.config/glava/wave.glsl Executable file
View File

@@ -0,0 +1,14 @@
/* min (vertical) line thickness */
#define MIN_THICKNESS 1
/* max (vertical) line thickness */
#define MAX_THICKNESS 6
/* base color to use, distance from center will multiply the RGB components */
#define BASE_COLOR vec4(0.7, 0.2, 0.45, 1)
/* amplitude */
#define AMPLIFY 500
/* outline color */
#define OUTLINE vec4(0.15, 0.15, 0.15, 1)

Some files were not shown because too many files have changed in this diff Show More