diff --git a/LICENSE b/.github/LICENSE similarity index 100% rename from LICENSE rename to .github/LICENSE diff --git a/.github/README.md b/.github/README.md new file mode 100644 index 0000000..3331f92 --- /dev/null +++ b/.github/README.md @@ -0,0 +1,99 @@ + +
+ +
+ +
+ +
+ +
+ +
+
+ + +AwesomeWM Logo + ~ AwesomeWM dotfiles ~ + +Welcome to my AwesomeWM Dotfiles! so yeah now i'm using awesomewm, looks like i'll be use this wm forever. + +Still quite messy, because i'm still learning Lua. + +Fyi, I use night colorscheme, and it's so beautiful. + +### Here are the instructions you should follow to replicate my AwesomeWM setup. + +
+S E T U P + +1. Install dependencies and enable services + + + Dependencies + + - **Arch Linux** (and all Arch-based distributions) + + *Assuming your AUR helper is* `yay` + + ```shell + $ yay -S awesome-git picom-ibhagwan-git alacritty rofi \ + acpi acpid acpi_call xfce4-power-manager inotify-tools \ + jq redshift mpd mpdris2-git mpc ncmpcpp polkit-gnome \ + brightnessctl alsa-utils pulseaudio pulseaudio-alsa playerctl-git \ + lua lua53 luarocks todo-bin + ``` + + Services + + ```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 + ``` + +3. 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/be5invis/Iosevka) + + **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`. + +4. Install my AwesomeWM configuration files + + > Clone this repository + + ```shell + $ git clone --recurse-submodules https://github.com/rxyhn/AwesomeWM-Dotfiles.git + $ cd AwesomeWM-Dotfiles + ``` + + > Copy config and binaries files + + ```shell + $ mkdir -p $HOME/.config/ && cp -r ./config/* $HOME/.config/ + $ mkdir -p $HOME/.local/bin/ && cp -r ./bin/* $HOME/.local/bin/ + $ cp -r ./misc/* $HOME/ + ``` +
+
+ + + +## Acknowledgements. +- Contributors + + **[ner0z](https://github.com/ner0z)** for the aesthetic dashboard and some widgets. + +- Thanks to + + [JavaCafe01's Dotfiles](https://github.com/JavaCafe01/dotfiles) + +
+
+ +

diff --git a/.github/assets/awesome.png b/.github/assets/awesome.png new file mode 100644 index 0000000..5ca5878 Binary files /dev/null and b/.github/assets/awesome.png differ diff --git a/README.md b/README.md deleted file mode 100644 index 7ab256d..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# AwesomeWM-Dotfiles \ No newline at end of file diff --git a/config/awesome/configuration/bling.lua b/config/awesome/configuration/bling.lua index fcbbae8..bc916c9 100644 --- a/config/awesome/configuration/bling.lua +++ b/config/awesome/configuration/bling.lua @@ -1,8 +1,12 @@ local awful = require("awful") local wibox = require("wibox") local beautiful = require("beautiful") +local helpers = require("helpers") local bling = require("module.bling") +local rubato = require("module.rubato") +-- Enable Playerctl Module from Bling +Playerctl = bling.signal.playerctl.lib() bling.widget.tag_preview.enable { show_client_content = false, @@ -10,7 +14,7 @@ bling.widget.tag_preview.enable { awful.placement.left(c, { margins = { -- left = beautiful.wibar_width + beautiful.useless_gap * 2, - left = beautiful.wibar_width + 11 + left = beautiful.wibar_width + 19 } }) end, @@ -18,8 +22,10 @@ bling.widget.tag_preview.enable { honor_padding = true, honor_workarea = false, background_widget = wibox.widget { - bg = beautiful.xbackground, - widget = wibox.widget.background + image = beautiful.wallpaper, + horizontal_fit_policy = "fit", + vertical_fit_policy = "fit", + widget = wibox.widget.imagebox } } @@ -30,15 +36,37 @@ bling.widget.task_preview.enable { -- bottom = beautiful.wibar_height + beautiful.useless_gap * 2, -- left = beautiful.useless_gap * 2 top = 19, - left = beautiful.wibar_width + 11 + left = beautiful.wibar_width + 19 } }) end } +--[[ +local app_launcher = require("module.bling").widget.app_launcher({ + rubato = { + y = rubato.timed { + pos = 1920, + rate = 120, + easing = rubato.quadratic, + intro = 0.1, + duration = 0.3, + awestore_compat = true + } + }, + prompt_icon = "", + app_show_name = true, + app_shape = helpers.rrect(beautiful.border_radius), + apps_per_row = 5, + apps_per_column = 1 +}) +]] -- + awful.keyboard.append_global_keybindings({ awful.key({modkey}, "d", function() awful.spawn(launcher) end, - {description = "show app launcher", group = "launcher"}) + {description = "show app launcher", group = "launcher"}), + awful.key({modkey}, "e", function() awful.spawn(emoji_launcher) end, + {description = "show emoji launcher", group = "launcher"}) }) require('ui.pop.window_switcher').enable() diff --git a/config/awesome/configuration/init.lua b/config/awesome/configuration/init.lua index bfa91cf..a8a471e 100644 --- a/config/awesome/configuration/init.lua +++ b/config/awesome/configuration/init.lua @@ -21,9 +21,9 @@ discord = "discord" launcher = "rofi -show drun" -- Weather API -openweathermap_key = "" -openweathermap_city_id = "" -weather_units = "" +openweathermap_key = "eaf60d2e3c3652df3ca54365b46c236e" +openweathermap_city_id = "1650357" +weather_units = "metric" -- Global Vars screen_width = awful.screen.focused().geometry.width diff --git a/config/awesome/configuration/keys.lua b/config/awesome/configuration/keys.lua index 99a9f7e..3e691d0 100644 --- a/config/awesome/configuration/keys.lua +++ b/config/awesome/configuration/keys.lua @@ -101,9 +101,10 @@ awful.keyboard.append_global_keybindings({ {description = "show help", group = "awesome"}), awful.key({modkey}, "Escape", awful.tag.history.restore, {description = "go back", group = "tag"}), - awful.key({modkey}, "x", - function() require("ui.pop.exitscreen").exit_screen_show() end, - {description = "show exit screen", group = "awesome"}), + awful.key({modkey}, "x", function() + lock_screen_show() + end, + {description = "toggle lock screen", group = "awesome"}), awful.key({modkey, "Control"}, "r", awesome.restart, {description = "reload awesome", group = "awesome"}), awful.key({modkey, "Shift"}, "q", awesome.quit, diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 9ba4a83..ac86640 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -1,6 +1,11 @@ --- rc.lua --- If LuaRocks is installed, make sure that packages installed through it are --- found (e.g. lgi). If LuaRocks is not installed, do nothing. +--[[ + _____ __ _ __ _____ _____ _____ _______ _____ +| | | | | ___| ___| | | ___| +| - | | | | ___|___ | | | | | | ___| +|__|__|_______|_____|_____|_____|__|_|__|_____| + +--]] + pcall(require, "luarocks.loader") -- Standard awesome library diff --git a/config/awesome/signal/init.lua b/config/awesome/signal/init.lua index a0ff819..2ccac58 100644 --- a/config/awesome/signal/init.lua +++ b/config/awesome/signal/init.lua @@ -4,5 +4,4 @@ require("signal.volume") require("signal.cpu") require("signal.ram") require("signal.todo") -require("signal.weather") -require("signal.playerctl") +require("signal.weather") \ No newline at end of file diff --git a/config/awesome/signal/playerctl.lua b/config/awesome/signal/playerctl.lua deleted file mode 100644 index 2f72254..0000000 --- a/config/awesome/signal/playerctl.lua +++ /dev/null @@ -1,15 +0,0 @@ --- Notification handling library -local naughty = require("naughty") - --- Bling -local bling = require("module.bling") - -bling.signal.playerctl.lib { - ignore = {"firefox", "qutebrowser", "chromium", "brave"}, - update_on_activity = true -} - -awesome.connect_signal("bling::playerctl::title_artist_album", - function(title, artist, art_path) - naughty.notification({title = "Now Playing", text = artist .. " - " .. title, image = art_path}) -end) diff --git a/config/awesome/ui/dash/music.lua b/config/awesome/ui/dash/music.lua index e5216b8..1b48fd3 100644 --- a/config/awesome/ui/dash/music.lua +++ b/config/awesome/ui/dash/music.lua @@ -80,6 +80,8 @@ awesome.connect_signal("bling::playerctl::status", function(playing) music_text.markup = helpers.colorize_text("Now Playing", beautiful.xforeground .. "cc") else music_text.markup = helpers.colorize_text("Music", beautiful.xforeground .. "cc") + music_artist.markup = helpers.colorize_text("Nothing Playing", beautiful.xforeground .. "e6") + music_title.markup = helpers.colorize_text("Nothing Playing", beautiful.xforeground .. "b3") end end) diff --git a/config/awesome/ui/dash/notifs.lua b/config/awesome/ui/dash/notifs.lua index 1955b6a..c2c0cff 100644 --- a/config/awesome/ui/dash/notifs.lua +++ b/config/awesome/ui/dash/notifs.lua @@ -169,9 +169,9 @@ local create_notif = function(icon, n, width) margins = dpi(6), widget = wibox.container.margin }, - -- bg = beautiful.xcolor0, + bg = beautiful.xcolor0, shape = helpers.rrect(dpi(4)), - forced_height = dpi(72), + forced_height = dpi(104), widget = wibox.container.background } diff --git a/config/awesome/ui/init.lua b/config/awesome/ui/init.lua index e0df2a5..4607ed6 100644 --- a/config/awesome/ui/init.lua +++ b/config/awesome/ui/init.lua @@ -1,5 +1,7 @@ +local lock_screen = require("ui.lockscreen") +lock_screen.init() + require("ui.notifs") require("ui.bar") require("ui.dash") require("ui.decorations") -require("ui.lockscreen") diff --git a/config/awesome/ui/notifs/init.lua b/config/awesome/ui/notifs/init.lua index b5ef1e2..a288c68 100644 --- a/config/awesome/ui/notifs/init.lua +++ b/config/awesome/ui/notifs/init.lua @@ -20,8 +20,9 @@ naughty.connect_signal("request::icon", function(n, context, hints) end) require("ui.notifs.brightness") +require("ui.notifs.playerctl") require("ui.notifs.volume") -require("ui.notifs.notifs") +require("ui.notifs.notifications-center") naughty.config.defaults.ontop = true naughty.config.defaults.screen = awful.screen.focused() diff --git a/config/awesome/ui/notifs/notifs.lua b/config/awesome/ui/notifs/notifications-center/init.lua similarity index 99% rename from config/awesome/ui/notifs/notifs.lua rename to config/awesome/ui/notifs/notifications-center/init.lua index bb9ee8d..420d06a 100644 --- a/config/awesome/ui/notifs/notifs.lua +++ b/config/awesome/ui/notifs/notifications-center/init.lua @@ -306,7 +306,7 @@ local slide = rubato.timed{ pos = dpi(10), rate = 60, intro = 0.025, - duration = 0.5, + duration = 0.3, easing = rubato.quadratic, awestore_compat = true, subscribed = function(pos) notifs.y = pos end @@ -322,7 +322,7 @@ end) notifs_show = function() notifs.visible = true - slide:set(dpi(445)) + slide:set(dpi(448)) notifs_status = false end diff --git a/config/awesome/ui/notifs/playerctl.lua b/config/awesome/ui/notifs/playerctl.lua new file mode 100644 index 0000000..c471e85 --- /dev/null +++ b/config/awesome/ui/notifs/playerctl.lua @@ -0,0 +1,8 @@ +local naughty = require("naughty") + +Playerctl:connect_signal("metadata", + function(title, artist, album_path, album, new, player_name) + if new == true then + naughty.notify({title = title, text = artist, image = album_path}) + end +end)