rice: AwesomeWM Night

This commit is contained in:
rxyhn 2022-02-22 02:31:54 +07:00
parent 9e0840908d
commit 024af6f73b
16 changed files with 167 additions and 38 deletions

View file

99
.github/README.md vendored Normal file
View file

@ -0,0 +1,99 @@
<!-- Screenshot -->
<div align="center">
<img src="https://awesomewm.org/images/awesome-logo.svg">
</div>
<br>
<div align="center">
<img src="assets/awesome.png">
</div>
<br>
<br>
<!-- SETUP -->
<a href="https://awesomewm.org/"><img alt="AwesomeWM Logo" height="160" align = "left" src="https://awesomewm.org/doc/api/images/AUTOGEN_wibox_logo_logo_and_name.svg"></a>
<b> ~ AwesomeWM dotfiles ~ </b>
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.
<details open>
<summary><strong>S E T U P</strong></summary>
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/
```
</details>
<br>
## Acknowledgements.
- Contributors
+ **[ner0z](https://github.com/ner0z)** for the aesthetic dashboard and some widgets.
- Thanks to
+ [JavaCafe01's Dotfiles](https://github.com/JavaCafe01/dotfiles)
<br>
<br>
<p align="center"><a href="https://github.com/rxyhn/AwesomeWM-Dotfiles/blob/main/.github/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=flat-square&label=License&message=GPL-3.0&logoColor=eceff4&logo=github&colorA=061115&colorB=67AFC1"/></a></p>

BIN
.github/assets/awesome.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

View file

@ -1 +0,0 @@
# AwesomeWM-Dotfiles

View file

@ -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()

View file

@ -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

View file

@ -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,

View file

@ -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

View file

@ -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")

View file

@ -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)

View file

@ -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)

View file

@ -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
}

View file

@ -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")

View file

@ -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()

View file

@ -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

View file

@ -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)