Add initial dotfiles

This commit is contained in:
2021-12-15 12:59:29 +00:00
parent 2afb2b3736
commit e0eabd7579
448 changed files with 28827 additions and 1 deletions

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 758 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 758 B

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