diff --git a/.github/README.md b/.github/README.md
index d2475e2..ed5cda7 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -6,7 +6,7 @@
-
+
@@ -44,78 +44,81 @@ These dotfiles are made with love, for sure.
S E T U P
-1. Install dependencies and enable services
+ > This is step-by-step how to install these dotfiles. Just [R.T.F.M](https://en.wikipedia.org/wiki/RTFM).
- + Dependencies
+ 1. Install dependencies and enable services
- - **Arch Linux** (and all Arch-based distributions)
+ + Dependencies
- *Assuming your AUR helper is* `yay`
+ - **Arch Linux** (and all Arch-based distributions)
+
+ *Assuming your AUR helper is* `yay`
+
+ ```shell
+ yay -Sy awesome-git picom-git alacritty rofi todo-bin acpi acpid \
+ wireless_tools jq inotify-tools polkit-gnome xdotool xclip maim \
+ brightnessctl alsa-utils alsa-tools pulseaudio lm_sensors \
+ mpd mpc mpdris2 ncmpcpp playerctl --needed
+ ```
+
+ + Services
```shell
- yay -Sy awesome-git picom-jonaburg-fix alacritty rofi todo-bin acpi acpid \
- wireless_tools jq inotify-tools polkit-gnome xdotool xclip maim \
- brightnessctl alsa-utils alsa-tools pulseaudio lm_sensors \
- mpd mpc mpdris2 ncmpcpp playerctl --needed
+ # For automatically launching mpd on login
+ systemctl --user enable mpd.service
+ systemctl --user start mpd.service
+
+ # For charger plug/unplug events (if you have a battery)
+ sudo systemctl enable acpid.service
+ sudo systemctl start acpid.service
```
- + Services
+ 2. Install needed fonts
+
+ You will need to install a few fonts (mainly icon fonts) in order for text and icons to be rendered properly.
+
+ Necessary fonts:
+ + **Iosevka** - [here](https://github.com/ryanoasis/nerd-fonts/)
+ + **Icomoon** - [here](https://www.dropbox.com/s/hrkub2yo9iapljz/icomoon.zip?dl=0)
+ + **Material** - [here](https://github.com/google/material-design-icons)
+
+ Once you download them and unpack them, place them into `~/.fonts` or `~/.local/share/fonts`.
+
+ 3. Install my AwesomeWM configuration files
+
+ > Clone this repository
```shell
- # For automatically launching mpd on login
- systemctl --user enable mpd.service
- systemctl --user start mpd.service
- # For charger plug/unplug events (if you have a battery)
- sudo systemctl enable acpid.service
- sudo systemctl start acpid.service
+ git clone https://github.com/rxyhn/dotfiles.git
+ cd dotfiles
```
-2. Install needed fonts
+ > Copy config and binaries files
- You will need to install a few fonts (mainly icon fonts) in order for text and icons to be rendered properly.
+ ```shell
+ cp -r config/* ~/.config/
+ cp -r bin/* ~/.local/bin/
+ cp -r misc/. ~/
+ ```
- Necessary fonts:
- + **Iosevka** - [here](https://github.com/ryanoasis/nerd-fonts/)
- + **Icomoon** - [here](https://www.dropbox.com/s/hrkub2yo9iapljz/icomoon.zip?dl=0)
- + **Material** - [here](https://github.com/google/material-design-icons)
+ > You have to add `TODO_PATH` in your env variable
- Once you download them and unpack them, place them into `~/.fonts` or `~/.local/share/fonts`.
-
-3. Install my AwesomeWM configuration files
+ ```shell
+ export TODO_PATH="path/to/todo"
+ ```
- > Clone this repository
+ 4. Configure stuff
- ```shell
- git clone https://github.com/rxyhn/dotfiles.git
- cd dotfiles
- ```
+ The relevant files are inside your `~/.config/awesome` directory.
- > Copy config and binaries files
+ + User preferences and default applications
- ```shell
- cp -r config/* ~/.config/
- cp -r bin/* ~/.local/bin/
- cp -r misc/. ~/
- ```
+ In `rc.lua` there is a *Default Applications* section where user preferences and default applications are defined.
+ You should change those to your liking.
- > You have to add `TODO_PATH` in your env variable
+ Note: For the weather widgets to work, you will also need to create an account on [openweathermap](https://openweathermap.org), get your key, look for your city ID, and set `openweathermap_key` and `openweathermap_city_id` accordingly.
- ```shell
- export TODO_PATH="path/to/todo"
- ```
-
-4. Configure stuff
-
- The relevant files are inside your `~/.config/awesome` directory.
-
- + User preferences and default applications
-
- In `rc.lua` there is a *Default Applications* section where user preferences and default applications are defined.
- You should change those to your liking.
-
- Note: For the weather widgets to work, you will also need to create an account on [openweathermap](https://openweathermap.org), get your key, look for your city ID, and set `openweathermap_key` and `openweathermap_city_id` accordingly.
-
-5. Lastly, log out from your current desktop session and log in into AwesomeWM.
+ 5. Lastly, log out from your current desktop session and log in into AwesomeWM.
@@ -126,18 +129,37 @@ These dotfiles are made with love, for sure.
These are the features included in my AwesomeWM setups!
+
+ + Beautiful `colorscheme` ikr, named `night` and created by [ner0z](https://github.com/ner0z)
+ Aesthetic `Dashboard` ngl.
+ + Custom mouse-friendly `ncmpcpp` UI with album art ofc.
+ -
+ Preview
+
+ *this is so aesthetic isn't it?*
+
+
+
+
+
+ + `Word Clock Lockscreen` with PAM Integration
+ -
+
+ *A beautiful word clock is on the lockscreen!*
+
+ Preview
+
+
+
+
+ Notification Center
+ Control Panel
+ ToDo Reminder
+ Battery Indicator
+ PopUp Notifications
+ Applications Launcher
- + Custom mouse-friendly `ncmpcpp` UI with album art ofc.
- + `Word Clock Lockscreen` with PAM Integration
+ Some Tooltip Widget
+ Hardware Monitor
- + Beautiful `colorscheme` ikr, named `night` and created by [ner0z](https://github.com/ner0z)
diff --git a/.github/assets/lockscreen.png b/.github/assets/lockscreen.png
new file mode 100644
index 0000000..af26d05
Binary files /dev/null and b/.github/assets/lockscreen.png differ
diff --git a/.github/assets/ncmpcpp.png b/.github/assets/ncmpcpp.png
new file mode 100644
index 0000000..13dfff6
Binary files /dev/null and b/.github/assets/ncmpcpp.png differ
diff --git a/bin/screensht b/bin/screensht
index 9cca448..910e0b0 100755
--- a/bin/screensht
+++ b/bin/screensht
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env bash
# stolen from snap
< /dev/null || (%s)',
- findme, cmd), false)
-end
-
--- music
-run_once("mpd")
-run_once("mpDris2")
-
--- picom
-run_once("picom --config " .. theme_dir .. "picom.conf")
-
--- auth
-run_once("/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1")
-
-return autostart
\ No newline at end of file
diff --git a/config/awesome/configuration/menu.lua b/config/awesome/configuration/menu.lua
index a994389..652db7a 100644
--- a/config/awesome/configuration/menu.lua
+++ b/config/awesome/configuration/menu.lua
@@ -3,6 +3,9 @@ local awful = require("awful")
local hotkeys_popup = require("awful.hotkeys_popup")
local beautiful = require("beautiful")
+-- Helpers
+local helpers = require("helpers")
+
-- Create a launcher widget and a main menu
awful.screen.connect_for_each_screen(function(s)
@@ -39,5 +42,7 @@ awful.screen.connect_for_each_screen(function(s)
}
})
+ mymainmenu.wibox.shape = helpers.rrect(beautiful.border_radius)
+
end)
diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua
index 8870405..be13157 100644
--- a/config/awesome/rc.lua
+++ b/config/awesome/rc.lua
@@ -1,4 +1,3 @@
-pcall(require, "luarocks.loader")
--[[
_____ __ _ __ _____ _____ _____ _______ _____
| | | | | ___| ___| | | ___|
@@ -7,7 +6,7 @@ pcall(require, "luarocks.loader")
~ AestheticArch ~
rxyhn
--]]
-
+pcall(require, "luarocks.loader")
-- Standard awesome library
local gfs = require("gears.filesystem")
@@ -15,7 +14,6 @@ local awful = require("awful")
-- Theme handling library
local beautiful = require("beautiful")
-theme_dir = gfs.get_configuration_dir() .. "theme/"
dpi = beautiful.xresources.apply_dpi
beautiful.init(gfs.get_configuration_dir() .. "theme/theme.lua")
@@ -24,7 +22,7 @@ terminal = "alacritty"
editor = terminal .. " -e " .. os.getenv("EDITOR")
vscode = "code"
browser = "firefox"
-launcher = "rofi -show drun -theme " .. theme_dir .. "rofi.rasi"
+launcher = "rofi -show drun -theme " .. os.getenv("HOME") .. "/.config/awesome/theme/rofi.rasi"
file_manager = "nautilus"
music_client = terminal .. " --class music -e ncmpcpp"
@@ -38,7 +36,7 @@ screen_width = awful.screen.focused().geometry.width
screen_height = awful.screen.focused().geometry.height
-- Autostart
-local autostart = require("configuration.autostart")
+awful.spawn.with_shell(gfs.get_configuration_dir() .. "configuration/autostart")
-- Import Configuration
require("configuration")
diff --git a/config/awesome/theme/picom.conf b/config/awesome/theme/picom.conf
index d62dd15..8e5d380 100644
--- a/config/awesome/theme/picom.conf
+++ b/config/awesome/theme/picom.conf
@@ -1,3 +1,15 @@
+#========================= Corners =========================#
+corner-radius = 12;
+rounded-corners-exclude = [
+ # "!window_type = 'normal'",
+ # "class_g ?= 'rofi'",
+];
+
+round-borders = 1;
+round-borders-exclude = [
+ #"class_g = 'TelegramDesktop'",
+];
+
#========================= Shadows =========================#
shadow = true;
shadow-radius = 14;
@@ -26,38 +38,42 @@ fade-exclude = [
"class_g = 'slop'" # maim
]
-#========================= Corners =========================#
-corner-radius = 12;
-rounded-corners-exclude = [
- # "!window_type = 'normal'",
- # "class_g ?= 'rofi'",
-];
-
-round-borders = 1;
-round-borders-exclude = [
- #"class_g = 'TelegramDesktop'",
-];
-
#========================= Opacity =========================#
+inactive-opacity = 1;
+frame-opacity = 1;
+inactive-opacity-override = false;
+active-opacity = 1.0;
+inactive-dim = 0.0;
+
+focus-exclude = [
+ "class_g = 'Cairo-clock'",
+ "class_g ?= 'rofi'",
+ "class_g ?= 'slop'"
+];
+
opacity-rule = [
"85:class_g = 'splash'"
];
#========================= Blurring =========================#
-blur-kern = "11x11gaussian";
-blur-method = "dual_kawase";
-blur-strength = 8.0;
+blur: {
+ method = "dual_kawase";
+ strength = 5.0;
+ deviation = 1.0;
+ kernel = "11x11gaussian";
+}
+
blur-background = false;
blur-background-frame = true;
blur-background-fixed = true;
blur-background-exclude = [
- "!window_type = 'splash'",
- "class_g = 'slop'" # maim
+ "class_g = 'slop'",
+ "class_g = 'Firefox' && argb",
+ "_GTK_FRAME_EXTENTS@:c"
];
#========================= General Settings =========================#
-experimental-backends = true;
backend = "glx";
vsync = true;
daemon = false;
@@ -66,13 +82,11 @@ mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
-refresh-rate = 0;
+detect-client-leader = true;
detect-transient = true;
glx-no-stencil = true;
use-damage = true;
resize-damage = 1;
-xrender-sync-fence = true;
-glx-use-copysubbuffer-mesa = false;
transparent-clipping = false;
wintypes:
diff --git a/config/awesome/theme/theme.lua b/config/awesome/theme/theme.lua
index 6e089b9..59e6fd3 100644
--- a/config/awesome/theme/theme.lua
+++ b/config/awesome/theme/theme.lua
@@ -171,8 +171,8 @@ theme.playerctl_position_update_interval = 1
-- Mainmenu
theme.menu_font = theme.font_name .. "medium 10"
-theme.menu_height = dpi(30)
-theme.menu_width = dpi(150)
+theme.menu_height = dpi(30)
+theme.menu_width = dpi(150)
theme.menu_bg_normal = theme.xbackground
theme.menu_bg_focus = theme.lighter_bg
theme.menu_fg_normal= theme.xforeground
@@ -189,7 +189,7 @@ theme.hotkeys_modifiers_fg = theme.xforeground
theme.hotkeys_font = theme.font_name .. "11"
theme.hotkeys_description_font = theme.font_name .. "9"
theme.hotkeys_shape = helpers.rrect(theme.border_radius)
-theme.hotkeys_group_margin = dpi(33)
+theme.hotkeys_group_margin = dpi(40)
-- Layout List
theme.layoutlist_border_color = theme.lighter_bg
diff --git a/config/awesome/ui/lockscreen/lockscreen.lua b/config/awesome/ui/lockscreen/lockscreen.lua
index c622cc9..9826c2b 100644
--- a/config/awesome/ui/lockscreen/lockscreen.lua
+++ b/config/awesome/ui/lockscreen/lockscreen.lua
@@ -27,6 +27,7 @@ local lock_screen = require("ui.lockscreen")
lock_screen_box = wibox({visible = false, ontop = true, type = "splash", screen = screen.primary})
awful.placement.maximize(lock_screen_box)
+-- lock_screen_box.bg = beautiful.transparent
lock_screen_box.bg = beautiful.xbackground .. "22"
-- Add lockscreen to each screen
@@ -34,7 +35,7 @@ awful.screen.connect_for_each_screen(function(s)
if s == screen.primary then
s.mylockscreen = lock_screen_box
else
- s.mylockscreen = helpers.screen_mask(s, beautiful.xbackground)
+ s.mylockscreen = helpers.screen_mask(s, beautiful.lock_screen_bg or beautiful.exit_screen_bg or beautiful.xbackground)
end
end)
@@ -134,7 +135,7 @@ end
local var_count = 0
for i, m in pairs(time_char) do
-- local text = helpers.colorize_text(m, "#162026")
- local text = helpers.colorize_text(m, beautiful.xcolor8 .. "55")
+ local text = helpers.colorize_text(m, beautiful.lighter_bg .. "55")
var_count = var_count + 1
local create_dummy_text = true
@@ -172,7 +173,7 @@ local function deactivate_word(w)
for i, m in pairs(char_map[w]) do
local text = m.text
- m.markup = helpers.colorize_text(text, beautiful.xcolor8 .. "55")
+ m.markup = helpers.colorize_text(text, beautiful.lighter_bg .. "55")
end
end
@@ -383,7 +384,7 @@ local function grab_password()
end
function lock_screen_show()
- set_visibility(true)
+ set_visibility(true)
grab_password()
end
@@ -394,16 +395,22 @@ lock_screen_box:setup {
-- Vertical centering
nil,
{
- helpers.vertical_pad(dpi(80)),
- time,
{
- visible = false,
- expand = "none",
- layout = wibox.layout.align.horizontal
+ {
+ helpers.vertical_pad(dpi(10)),
+ time,
+ lock_animation,
+ spacing = dpi(50),
+ layout = wibox.layout.fixed.vertical
+ },
+ bottom = dpi(60),
+ right = dpi(60),
+ left = dpi(60),
+ widget = wibox.container.margin
},
- lock_animation,
- spacing = dpi(60),
- layout = wibox.layout.fixed.vertical
+ shape = helpers.rrect(beautiful.border_radius),
+ bg = beautiful.xbackground,
+ widget = wibox.container.background
},
expand = "none",
layout = wibox.layout.align.vertical