generated from wm-packages/pika-hyprland-settings
Pikabar v1
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 33s
Some checks failed
PikaOS Package Build & Release (amd64-v3) / build (push) Failing after 33s
This commit is contained in:
parent
b544cbd928
commit
94139db6d5
2
.github/release-nest-v3
vendored
2
.github/release-nest-v3
vendored
@ -1 +1 @@
|
||||
2
|
||||
1
|
6
main.sh
6
main.sh
@ -2,20 +2,20 @@
|
||||
|
||||
set -e
|
||||
|
||||
VERSION="2.0.19"
|
||||
VERSION="1.0.0"
|
||||
|
||||
source ./pika-build-config.sh
|
||||
|
||||
echo "$PIKA_BUILD_ARCH" > pika-build-arch
|
||||
|
||||
# Clone Upstream
|
||||
cd ./pika-hyprland-settings
|
||||
cd ./pikabar
|
||||
|
||||
# Get build deps
|
||||
apt-get build-dep ./ -y
|
||||
|
||||
# Build package
|
||||
LOGNAME=root dh_make --createorig -y -l -p pika-hyprland-settings_"$VERSION" || echo "dh-make: Ignoring Last Error"
|
||||
LOGNAME=root dh_make --createorig -y -l -p pikabar_"$VERSION" || echo "dh-make: Ignoring Last Error"
|
||||
dpkg-buildpackage --no-sign
|
||||
|
||||
# Move the debs to output
|
||||
|
@ -1,354 +0,0 @@
|
||||
pika-hyprland-settings (2.0.19-101pika6) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - fix config
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.18-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - fix cursor sizes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.17-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - laptop battery life fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.16-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - udev fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.15-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - udev fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.14-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Autostart fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.13-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Autostart fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.12-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Autostart fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.11-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Autostart fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.10-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Autostart fixes
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
|
||||
pika-hyprland-settings (2.0.9-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Nvidia
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.8-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Nvidia
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.7-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Nvidia
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.6-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland - Nvidia
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.5-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.4-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.3-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.2-101pika1) pika; urgency=medium
|
||||
|
||||
* Pika 4 Hyprland
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.1-101pika1) pika; urgency=medium
|
||||
|
||||
* Pike 43 Hyprland
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (2.0.0-101pika1) pika; urgency=medium
|
||||
|
||||
* port to pika os 4
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.8-100pika1) pikauwu; urgency=medium
|
||||
|
||||
* Upstream fix
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.7-100pika1) pikauwu; urgency=medium
|
||||
|
||||
* Upstream fix
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.5-99pika2) lunar; urgency=medium
|
||||
|
||||
* Upstream fix
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.5-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix overwrite
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.4-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix mouse
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.3-99pika1) lunar; urgency=medium
|
||||
|
||||
* Add systray
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.2-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix weather
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.1-99pika1) lunar; urgency=medium
|
||||
|
||||
* Add missing fonts
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.1.0-99pika1) lunar; urgency=medium
|
||||
|
||||
* Add ags
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.9-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix for hyprland update
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.8-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix for hyprland update
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.7-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix for hyprland update
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.6-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix up ironbar
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.5-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix brightness and greetd on iso
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.4-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix brightness and greetd on iso
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.3-99pika1) lunar; urgency=medium
|
||||
|
||||
* Fix brightness and grettd on iso
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.2-99pika1) lunar; urgency=medium
|
||||
|
||||
* Autolaunch installer if present
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.1-99pika1) lunar; urgency=medium
|
||||
|
||||
* Switch to greetd
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika21) lunar; urgency=medium
|
||||
|
||||
* Fix brightnessctl
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika20) lunar; urgency=medium
|
||||
|
||||
* Make calamares float
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika19) lunar; urgency=medium
|
||||
|
||||
* Fix env vars 2
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika18) lunar; urgency=medium
|
||||
|
||||
* Fix env vars
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika17) lunar; urgency=medium
|
||||
|
||||
* Delay bar after everything
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika16) lunar; urgency=medium
|
||||
|
||||
* Env vars
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika15) lunar; urgency=medium
|
||||
|
||||
* Keyboard
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika14) lunar; urgency=medium
|
||||
|
||||
* Keyboard
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika13) lunar; urgency=medium
|
||||
|
||||
* Logout menu configs
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika12) lunar; urgency=medium
|
||||
|
||||
* Network manager applet
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika11) lunar; urgency=medium
|
||||
|
||||
* QT Wayland fix
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika10) lunar; urgency=medium
|
||||
|
||||
* Rofi fix + wallpaper
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika9) lunar; urgency=medium
|
||||
|
||||
* Lightdm settings
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika8) lunar; urgency=medium
|
||||
|
||||
* Add missing env vars
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika7) lunar; urgency=medium
|
||||
|
||||
* Birb birb noise faster
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika6) lunar; urgency=medium
|
||||
|
||||
* Fix wallpaper
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika5) lunar; urgency=medium
|
||||
|
||||
* Copy files for real this time
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika4) lunar; urgency=medium
|
||||
|
||||
* Copy files for real this time
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika3) lunar; urgency=medium
|
||||
|
||||
* Copy files for real this time
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika2) lunar; urgency=medium
|
||||
|
||||
* First
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
||||
|
||||
pika-hyprland-settings (1.0.0-99pika1) lunar; urgency=medium
|
||||
|
||||
* First
|
||||
|
||||
-- ferrreo <harderthanfire@gmail.com> Sat, 01 Oct 2022 14:50:00 +0300
|
@ -1,99 +0,0 @@
|
||||
Source: pika-hyprland-settings
|
||||
Section: metapackages
|
||||
Priority: optional
|
||||
Maintainer: ferrreo <harderthanfire@gmail.com>
|
||||
Standards-Version: 4.6.1
|
||||
Build-Depends: debhelper-compat (= 13)
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: pika-hyprland-settings
|
||||
Architecture: linux-any
|
||||
Depends:
|
||||
libglib2.0-bin,
|
||||
ags,
|
||||
nautilus,
|
||||
gdm3,
|
||||
hypridle,
|
||||
hyprpaper,
|
||||
wl-clipboard,
|
||||
hyprlock,
|
||||
sway-notification-center,
|
||||
network-manager-gnome,
|
||||
swayosd,
|
||||
playerctl,
|
||||
brightnessctl,
|
||||
brightness-udev,
|
||||
pavucontrol,
|
||||
wlogout,
|
||||
wayfreeze,
|
||||
kitty,
|
||||
grim,
|
||||
slurp,
|
||||
rofi-wayland,
|
||||
grimshot,
|
||||
cava,
|
||||
mate-polkit,
|
||||
fastfetch,
|
||||
pika-wallpapers,
|
||||
adw-gtk3-theme,
|
||||
papirus-icon-theme,
|
||||
mate-polkit-bin,
|
||||
Conflicts:
|
||||
pika-gnome-settings,
|
||||
pika-kde-settings,
|
||||
pika-hyprland-settings-nvidia,
|
||||
Provides:
|
||||
pika-settings
|
||||
Replaces:
|
||||
pika-hyprland-settings-nvidia
|
||||
Recommends:
|
||||
chromium,
|
||||
Section: metapackages
|
||||
Priority: optional
|
||||
Description: PikaOS Hyprland Default Config
|
||||
|
||||
Package: pika-hyprland-settings-nvidia
|
||||
Architecture: linux-any
|
||||
Depends:
|
||||
libglib2.0-bin,
|
||||
ags,
|
||||
nautilus,
|
||||
gdm3,
|
||||
hypridle,
|
||||
hyprpaper,
|
||||
hyprlock,
|
||||
sway-notification-center,
|
||||
network-manager-gnome,
|
||||
swayosd,
|
||||
playerctl,
|
||||
brightnessctl,
|
||||
brightness-udev,
|
||||
pavucontrol,
|
||||
wlogout,
|
||||
wayfreeze,
|
||||
kitty,
|
||||
grim,
|
||||
slurp,
|
||||
rofi-wayland,
|
||||
grimshot,
|
||||
cava,
|
||||
mate-polkit,
|
||||
fastfetch,
|
||||
pika-wallpapers,
|
||||
adw-gtk3-theme,
|
||||
papirus-icon-theme,
|
||||
mate-polkit-bin,
|
||||
Conflicts:
|
||||
pika-gnome-settings,
|
||||
pika-kde-settings,
|
||||
pika-hyprland-settings,
|
||||
Provides:
|
||||
pika-settings,
|
||||
pika-hyprland-settings,
|
||||
Replaces:
|
||||
pika-hyprland-settings,
|
||||
Recommends:
|
||||
chromium,
|
||||
Section: metapackages
|
||||
Priority: optional
|
||||
Description: PikaOS Hyprland Default Config (Nvidia)
|
@ -1,9 +0,0 @@
|
||||
[org.gnome.desktop.interface]
|
||||
accent-color = 'yellow'
|
||||
icon-theme = 'Papirus-Dark'
|
||||
gtk-theme = 'adw-gtk3-dark'
|
||||
show-battery-percentage = true
|
||||
enable-animations = true
|
||||
font-antialiasing = 'rgba'
|
||||
font-hinting = 'full'
|
||||
color-scheme = 'prefer-dark'
|
@ -1,23 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Check if /home has any subdirectories
|
||||
if [ "$(ls -A /home)" ]; then
|
||||
for u in /home/*; do
|
||||
# Check if the current item is a directory
|
||||
if [ -d "$u" ]; then
|
||||
if [ ! -f "${u}/.config/hypr/hypridle.conf" ]; then
|
||||
cp -a /etc/skel/. "${u}/"
|
||||
chown -R "$(basename "$u"):$(basename "$u")" "${u}/"
|
||||
fi
|
||||
|
||||
if [ ! -f "${u}/.config/ags/widgets/systray.js" ]; then
|
||||
mkdir -p "${u}/.config/ags/"
|
||||
cp -af /etc/skel/.config/ags/. "${u}/.config/ags/"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "/home is empty. No user directories to process."
|
||||
fi
|
@ -1,9 +0,0 @@
|
||||
[org.gnome.desktop.interface]
|
||||
accent-color = 'yellow'
|
||||
icon-theme = 'Papirus-Dark'
|
||||
gtk-theme = 'adw-gtk3-dark'
|
||||
show-battery-percentage = true
|
||||
enable-animations = true
|
||||
font-antialiasing = 'rgba'
|
||||
font-hinting = 'full'
|
||||
color-scheme = 'prefer-dark'
|
@ -1,23 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Check if /home has any subdirectories
|
||||
if [ "$(ls -A /home)" ]; then
|
||||
for u in /home/*; do
|
||||
# Check if the current item is a directory
|
||||
if [ -d "$u" ]; then
|
||||
if [ ! -f "${u}/.config/hypr/hypridle.conf" ]; then
|
||||
cp -a /etc/skel/. "${u}/"
|
||||
chown -R "$(basename "$u"):$(basename "$u")" "${u}/"
|
||||
fi
|
||||
|
||||
if [ ! -f "${u}/.config/ags/widgets/systray.js" ]; then
|
||||
mkdir -p "${u}/.config/ags/"
|
||||
cp -af /etc/skel/.config/ags/. "${u}/.config/ags/"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "/home is empty. No user directories to process."
|
||||
fi
|
@ -1,17 +0,0 @@
|
||||
#! /usr/bin/make -f
|
||||
|
||||
override_dh_strip:
|
||||
echo "Skipping strip"
|
||||
|
||||
override_dh_installgsettings:
|
||||
dh_installgsettings --priority=50
|
||||
|
||||
override_dh_install:
|
||||
mkdir -pv debian/pika-hyprland-settings
|
||||
cp -rvf usr debian/pika-hyprland-settings/
|
||||
cp -rvf etc debian/pika-hyprland-settings/
|
||||
cp -rvf debian/pika-hyprland-settings debian/pika-hyprland-settings-nvidia
|
||||
sed -i 's/^#env=/env=/' debian/pika-hyprland-settings-nvidia/etc/skel/.config/hypr/env.conf
|
||||
|
||||
%:
|
||||
dh $@
|
@ -1,7 +0,0 @@
|
||||
export default {
|
||||
numberOfWorkspaces: 10,
|
||||
city: "London",
|
||||
weatherUpdateInterval: 900,
|
||||
isAmerican: false,
|
||||
sysinfoUpdateInterval: "2s",
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
const { App } = ags;
|
||||
const { exec } = ags.Utils;
|
||||
import { bar } from './windows/bar.js';
|
||||
import { calendar } from './windows/calendar.js';
|
||||
|
||||
exec('sassc ' + App.configDir + '/scss/main.scss ' + App.configDir + '/style.css');
|
||||
App.resetCss();
|
||||
App.applyCss(`${App.configDir}/style.css`);
|
||||
|
||||
export default {
|
||||
style: App.configDir + '/style.css',
|
||||
stackTraceOnError: true,
|
||||
windows: [
|
||||
bar,
|
||||
calendar,
|
||||
],
|
||||
};
|
@ -1,178 +0,0 @@
|
||||
import barConfig from './barConfig.js';
|
||||
|
||||
export const getTemp = (temp) => {
|
||||
if (barConfig?.isAmerican) {
|
||||
return Math.round((temp * 9 / 5) + 32) + "°F";
|
||||
}
|
||||
return temp + "°C";
|
||||
};
|
||||
|
||||
export const getWeatherSymbol = (weatherCode) => {
|
||||
const dt = new Date();
|
||||
const hour = dt.getHours();
|
||||
if (hour <= 7 || hour >= 20) {
|
||||
return NIGHT_WEATHER_SYMBOL[OMAPI_CODE[weatherCode]];
|
||||
}
|
||||
return WEATHER_SYMBOL[OMAPI_CODE[weatherCode]];
|
||||
};
|
||||
|
||||
export const getWeatherDesc = (weatherCode) => {
|
||||
return OMAPI_CODE_DESC[weatherCode];
|
||||
};
|
||||
|
||||
export const getFormattedTime = () => {
|
||||
const date = new Date();
|
||||
let hours = date.getHours();
|
||||
let minutes = date.getMinutes();
|
||||
if (hours < 10) hours = "0" + hours;
|
||||
if (minutes < 10) minutes = "0" + minutes;
|
||||
return `${hours}:${minutes}`
|
||||
}
|
||||
|
||||
export const getFormattedDate = () => {
|
||||
const date = new Date();
|
||||
const day = date.getDay();
|
||||
const month = date.getMonth();
|
||||
let dayOfMonth = date.getDate();
|
||||
switch (dayOfMonth) {
|
||||
case 1:
|
||||
case 21:
|
||||
case 31:
|
||||
dayOfMonth += "st";
|
||||
break;
|
||||
case 2:
|
||||
case 22:
|
||||
dayOfMonth += "nd";
|
||||
break;
|
||||
case 3:
|
||||
case 23:
|
||||
dayOfMonth += "rd";
|
||||
break;
|
||||
default:
|
||||
dayOfMonth += "th";
|
||||
}
|
||||
|
||||
return `${days[day]}, ${dayOfMonth} ${months[month]}`;
|
||||
}
|
||||
|
||||
export const getBattery = (batt) => {
|
||||
if (batt?.charging) {
|
||||
return "battery_charging_full";
|
||||
}
|
||||
if (batt?.charged) {
|
||||
return "battery_full";
|
||||
}
|
||||
|
||||
return battIcons[Math.floor(battIcons.length * (batt?.percent / 100))];
|
||||
}
|
||||
|
||||
const battIcons = ["battery_0_bar","battery_1_bar","battery_2_bar","battery_3_bar","battery_4_bar","battery_5_bar", "battery_6_bar"];
|
||||
|
||||
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
||||
const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
||||
|
||||
const OMAPI_CODE_DESC = {
|
||||
"0": "Clear",
|
||||
"1": "Mostly Clear",
|
||||
"2": "Partly Cloudy",
|
||||
"3": "Cloudy",
|
||||
"45": "Fog",
|
||||
"48": "Freezing Fog",
|
||||
"51": "Light Drizzle",
|
||||
"53": "Drizzle",
|
||||
"55": "Heavy Drizzle",
|
||||
"56": "Light Freezing Drizzle",
|
||||
"57": "Freezing Drizzle",
|
||||
"61": "Light Rain",
|
||||
"63": "Rain",
|
||||
"65": "Heavy Rain",
|
||||
"66": "Light Freezing Rain",
|
||||
"67": "Freezing Rain",
|
||||
"71": "Light Snow",
|
||||
"73": "Snow",
|
||||
"75": "Heavy Snow",
|
||||
"77": "Light Snow Shower",
|
||||
"80": "Light Rain Shower",
|
||||
"81": "Rain Shower",
|
||||
"82": "Heavy Rain Shower",
|
||||
"85": "Snow Shower",
|
||||
"86": "Heavy Snow Shower",
|
||||
"95": "Thunderstorm",
|
||||
"96": "Heavy Thunderstorm",
|
||||
"99": "THunderstorm with Hail"
|
||||
}
|
||||
|
||||
const OMAPI_CODE = {
|
||||
"0": "Sunny",
|
||||
"1": "PartlyCloudy",
|
||||
"2": "Cloudy",
|
||||
"3": "VeryCloudy",
|
||||
"45": "Fog",
|
||||
"48": "Fog",
|
||||
"51": "LightShowers",
|
||||
"53": "LightRain",
|
||||
"55": "HeavyShowers",
|
||||
"56": "LightSleetShowers",
|
||||
"57": "LightSleet",
|
||||
"61": "LightRain",
|
||||
"63": "LightRain",
|
||||
"65": "HeavyRain",
|
||||
"66": "LightSleet",
|
||||
"67": "LightSleet",
|
||||
"71": "LightSnow",
|
||||
"73": "HeavySnow",
|
||||
"75": "HeavySnow",
|
||||
"77": "LightSnowShowers",
|
||||
"80": "LightShowers",
|
||||
"81": "HeavyShowers",
|
||||
"82": "HeavyShowers",
|
||||
"85": "LightSnowShowers",
|
||||
"86": "HeavySnowShowers",
|
||||
"95": "ThunderyShowers",
|
||||
"96": "ThunderyHeavyRain",
|
||||
"99": "ThunderySnowShowers"
|
||||
}
|
||||
|
||||
const WEATHER_SYMBOL = {
|
||||
"Unknown": "air",
|
||||
"Cloudy": "cloud",
|
||||
"Fog": "foggy",
|
||||
"HeavyRain": "rainy",
|
||||
"HeavyShowers": "rainy",
|
||||
"HeavySnow": "snowing",
|
||||
"HeavySnowShowers": "snowing",
|
||||
"LightRain": "rainy",
|
||||
"LightShowers": "rainy",
|
||||
"LightSleet": "rainy",
|
||||
"LightSleetShowers": "rainy",
|
||||
"LightSnow": "cloudy_snowing",
|
||||
"LightSnowShowers": "cloudy_snowing",
|
||||
"PartlyCloudy": "partly_cloudy_day",
|
||||
"Sunny": "clear_day",
|
||||
"ThunderyHeavyRain": "thunderstorm",
|
||||
"ThunderyShowers": "thunderstorm",
|
||||
"ThunderySnowShowers": "thunderstorm",
|
||||
"VeryCloudy": "cloud",
|
||||
}
|
||||
|
||||
const NIGHT_WEATHER_SYMBOL = {
|
||||
"Unknown": "air",
|
||||
"Cloudy": "cloud",
|
||||
"Fog": "foggy",
|
||||
"HeavyRain": "rainy",
|
||||
"HeavyShowers": "rainy",
|
||||
"HeavySnow": "snowing",
|
||||
"HeavySnowShowers": "snowing",
|
||||
"LightRain": "rainy",
|
||||
"LightShowers": "rainy",
|
||||
"LightSleet": "rainy",
|
||||
"LightSleetShowers": "rainy",
|
||||
"LightSnow": "cloudy_snowing",
|
||||
"LightSnowShowers": "cloudy_snowing",
|
||||
"PartlyCloudy": "partly_cloudy_night",
|
||||
"Sunny": "clear_night",
|
||||
"ThunderyHeavyRain": "thunderstorm",
|
||||
"ThunderyShowers": "thunderstorm",
|
||||
"ThunderySnowShowers": "thunderstorm",
|
||||
"VeryCloudy": "cloud",
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
const { lookUpIcon } = ags.Utils;
|
||||
import { gohypr } from '../services/gohypr.js';
|
||||
|
||||
const substitutes = [
|
||||
{ from: 'code-url-handler', to: 'code' },
|
||||
];
|
||||
|
||||
export const ActiveWindow = () => Widget.Box({
|
||||
valign: 'center',
|
||||
halign: 'fill',
|
||||
className: 'active-window',
|
||||
children: [
|
||||
Widget.Icon({
|
||||
className: 'progicon progiconicon',
|
||||
connections: [[gohypr, icon => {
|
||||
if (!gohypr.state) {
|
||||
return;
|
||||
}
|
||||
let classIcon = gohypr.state.activewindow.class;
|
||||
let titleIcon = gohypr.state.activewindow.title;
|
||||
substitutes.forEach(({ from, to }) => {
|
||||
if (classIcon === from)
|
||||
classIcon = to;
|
||||
|
||||
if (titleIcon === from)
|
||||
titleIcon = to;
|
||||
});
|
||||
|
||||
const hasTitleIcon = lookUpIcon(titleIcon, 128);
|
||||
const hasClassIcon = lookUpIcon(classIcon, 128);
|
||||
|
||||
if (hasClassIcon)
|
||||
icon.icon_name = classIcon;
|
||||
|
||||
if (hasTitleIcon)
|
||||
icon.icon_name = titleIcon;
|
||||
|
||||
icon.visible = hasTitleIcon || hasClassIcon;
|
||||
}]],
|
||||
}),
|
||||
Widget.Label({
|
||||
className: 'txt txt-norm progicon',
|
||||
justify: 'left',
|
||||
halign: 'start',
|
||||
maxWidthChars: 40,
|
||||
ellipsize: 3,
|
||||
connections: [[gohypr, label => {
|
||||
if (!gohypr.state) {
|
||||
return;
|
||||
}
|
||||
label.label = gohypr.state.activewindow.title || '';
|
||||
}]]
|
||||
})
|
||||
],
|
||||
});
|
@ -1,14 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
import { Visualiser } from "../widgets/visualiser.js";
|
||||
import { MediaInfo } from "../widgets/mediainfo.js";
|
||||
|
||||
export const Music = () => Widget.Box({
|
||||
className: 'bar-music',
|
||||
children: [Widget.Box({
|
||||
className: 'bar-group-margin bar-sides',
|
||||
children: [
|
||||
Visualiser(),
|
||||
MediaInfo()
|
||||
]
|
||||
})]
|
||||
});
|
@ -1,34 +0,0 @@
|
||||
const { Widget, App } = ags;
|
||||
import { Cpu } from "../widgets/cpu.js";
|
||||
import { CpuTemp } from "../widgets/cputemp.js";
|
||||
import { Mem } from "../widgets/mem.js";
|
||||
import { Clock } from "../widgets/clock.js";
|
||||
import { Weather } from '../widgets/weather.js';
|
||||
import { Batt } from '../widgets/batt.js';
|
||||
import { Systray } from "../widgets/systray.js";
|
||||
|
||||
export const System = () => Widget.EventBox({
|
||||
onPrimaryClick: () => App.toggleWindow('calendar'),
|
||||
onHover: (eventbox) => eventbox.toggleClassName('hovered', true),
|
||||
onHoverLost: (eventbox) => eventbox.toggleClassName('hovered', false),
|
||||
className: 'bar-system',
|
||||
child: Widget.Box({
|
||||
className: 'bar-group-margin bar-sides',
|
||||
halign: 'end',
|
||||
children: [
|
||||
Widget.Box({
|
||||
className: 'bar-group-pad-system spacing-h-15',
|
||||
halign: 'end',
|
||||
children: [
|
||||
Cpu(),
|
||||
CpuTemp(),
|
||||
Mem(),
|
||||
Batt(),
|
||||
Weather(),
|
||||
Systray(),
|
||||
Clock()
|
||||
],
|
||||
}),
|
||||
]
|
||||
})
|
||||
});
|
@ -1,48 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
const { execAsync } = ags.Utils;
|
||||
import { gohypr } from '../services/gohypr.js';
|
||||
import barConfig from '../barConfig.js';
|
||||
|
||||
export const Workspaces = () => Widget.EventBox({
|
||||
onScrollUp: () => execAsync('hyprctl dispatch workspace -1'),
|
||||
onScrollDown: () => execAsync('hyprctl dispatch workspace +1'),
|
||||
child: Widget.Box({
|
||||
children: [
|
||||
Widget.Box({
|
||||
halign: 'center',
|
||||
children: [Widget.Box({
|
||||
children: Array.from({ length: barConfig?.numberOfWorkspaces }, (_, i) => i + 1).map(i => (Widget.Button({
|
||||
className: 'bar-ws-button',
|
||||
onClicked: () => execAsync(`hyprctl dispatch workspace ${i}`).catch(print),
|
||||
child: Widget.Label({
|
||||
valign: 'center',
|
||||
label: `${i}`,
|
||||
className: 'bar-ws',
|
||||
connections: [
|
||||
[gohypr, label => {
|
||||
if (!gohypr.state) {
|
||||
return;
|
||||
}
|
||||
const { workspaces, activeworkspace } = gohypr.state;
|
||||
let thisSpace;
|
||||
for (const wk of workspaces) {
|
||||
if (wk.id == i) {
|
||||
thisSpace = wk;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
label.toggleClassName('bar-ws-active', i == activeworkspace);
|
||||
label.toggleClassName('bar-ws-occupied', thisSpace?.populated || i == activeworkspace);
|
||||
label.toggleClassName('bar-ws-empty', !thisSpace?.populated);
|
||||
label.toggleClassName('bar-ws-left', !thisSpace?.leftPopulated && activeworkspace != i - 1);
|
||||
label.toggleClassName('bar-ws-right', !thisSpace?.rightPopulated && activeworkspace != i + 1);
|
||||
}],
|
||||
],
|
||||
}),
|
||||
}))),
|
||||
})]
|
||||
}),
|
||||
]
|
||||
})
|
||||
});
|
Binary file not shown.
@ -1,504 +0,0 @@
|
||||
// Made to be pixel-perfect with 11pt font size
|
||||
// 1rem = 11pt = 14.6666666667px
|
||||
|
||||
.bar-bg {
|
||||
min-height: 3.81818181817rem;
|
||||
margin: 0.27272727272rem 0.546rem;
|
||||
border-radius: 26px;
|
||||
background-color: mix(shade($colorbarbg, 45%), $primary, 97%);
|
||||
background-image: linear-gradient(135deg, shade($onSecondary, 47%) 18%, rgba(0, 0, 0, 0) 18%, rgba(0, 0, 0, 0) 37%, shade($onSecondary, 47%) 37%, shade($onSecondary, 47%) 63%, rgba(0, 0, 0, 0) 63%, rgba(0, 0, 0, 0) 85%, shade($onSecondary, 47%) 85%);
|
||||
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
|
||||
animation-name: flyin-top;
|
||||
animation-duration: 250ms;
|
||||
animation-timing-function: cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
animation-iteration-count: 1;
|
||||
}
|
||||
|
||||
.bar-sidespace {
|
||||
min-width: 1.5rem;
|
||||
}
|
||||
|
||||
.bar-group-margin {
|
||||
padding: 0.2rem;
|
||||
}
|
||||
|
||||
.bar-group {
|
||||
background-color: mix($t_surface, $t_onSurface, 90%);
|
||||
border-top: 1px solid mix($t_surface, $t_onSurface, 80%);
|
||||
border-left: 1px solid mix($t_surface, $t_onSurface, 80%);
|
||||
border-right: 1px solid mix($t_surface, $t_onSurface, 85%);
|
||||
border-bottom: 1px solid mix($t_surface, $t_onSurface, 85%);
|
||||
}
|
||||
|
||||
.bar-group-pad {
|
||||
padding: 0rem 1.023rem;
|
||||
}
|
||||
|
||||
.bar-group-pad-less {
|
||||
padding: 0rem 0.681rem;
|
||||
}
|
||||
|
||||
.bar-group-pad-system {
|
||||
padding-left: 1.023rem;
|
||||
padding-right: 0.547rem;
|
||||
}
|
||||
|
||||
.bar-group-pad-music {
|
||||
padding-right: 1.023rem;
|
||||
padding-left: 0.273rem;
|
||||
margin-left: 1.023rem;
|
||||
}
|
||||
|
||||
.bar-group-pad-left {
|
||||
padding-left: 1.364rem;
|
||||
padding-right: 0.681rem;
|
||||
}
|
||||
|
||||
.bar-group-pad-right {
|
||||
padding-left: 0.681rem;
|
||||
padding-right: 1.364rem;
|
||||
}
|
||||
|
||||
.bar-group-pad-leftonly {
|
||||
padding-left: 0.681rem;
|
||||
}
|
||||
|
||||
.bar-group-pad-rightonly {
|
||||
padding-right: 0.681rem;
|
||||
}
|
||||
|
||||
.bar-group-standalone {
|
||||
border-radius: 1.364rem;
|
||||
}
|
||||
|
||||
.bar-group-round {
|
||||
border-radius: 10rem;
|
||||
}
|
||||
|
||||
.bar-group-middle {
|
||||
border-radius: 0.477rem;
|
||||
}
|
||||
|
||||
.bar-group-left {
|
||||
border-radius: 0.477rem;
|
||||
border-top-left-radius: 1.364rem;
|
||||
border-bottom-left-radius: 1.364rem;
|
||||
margin-left: 1.092rem;
|
||||
}
|
||||
|
||||
.bar-group-right {
|
||||
border-radius: 0.477rem;
|
||||
border-top-right-radius: 1.364rem;
|
||||
border-bottom-right-radius: 1.364rem;
|
||||
margin-right: 1.092rem;
|
||||
}
|
||||
|
||||
.bar-ws-width {
|
||||
min-width: 18.382rem;
|
||||
}
|
||||
|
||||
.bar-separator {
|
||||
min-width: 0.341rem;
|
||||
min-height: 0.341rem;
|
||||
background-color: mix($t_surface, $t_onSurface, 90%);
|
||||
border-radius: 999px;
|
||||
margin: 0rem 0.341rem;
|
||||
}
|
||||
|
||||
.bar-ws {
|
||||
min-height: 1.770rem;
|
||||
min-width: 1.770rem;
|
||||
font-size: 1.091rem;
|
||||
}
|
||||
|
||||
.bar-ws-button:hover {
|
||||
.bar-ws-empty {
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
.bar-ws-occupied {
|
||||
background-color: $primaryContainer;
|
||||
color: $onPrimaryContainer;
|
||||
}
|
||||
|
||||
.bar-ws-active {
|
||||
background-color: $primary;
|
||||
color: $onPrimary;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-ws-empty {
|
||||
color: $onBackground;
|
||||
}
|
||||
|
||||
.bar-ws-occupied {
|
||||
background-color: $secondaryContainer;
|
||||
color: $onSecondaryContainer;
|
||||
}
|
||||
|
||||
.bar-ws-active {
|
||||
background-color: $primary;
|
||||
color: $onPrimary;
|
||||
border-radius: 999px;
|
||||
transition: 100ms cubic-bezier(0, 1, 0, 1);
|
||||
}
|
||||
|
||||
.bar-ws-left {
|
||||
border-top-left-radius: 999px;
|
||||
border-bottom-left-radius: 999px;
|
||||
}
|
||||
|
||||
.bar-ws-right {
|
||||
border-top-right-radius: 999px;
|
||||
border-bottom-right-radius: 999px;
|
||||
}
|
||||
|
||||
.bar-batt {
|
||||
border-radius: 999px;
|
||||
padding: 0rem 0.341rem;
|
||||
background-color: $onPrimaryContainer;
|
||||
color: $primaryContainer;
|
||||
}
|
||||
|
||||
.bar-sidemodule {
|
||||
min-width: 25.227rem;
|
||||
}
|
||||
|
||||
.bar-batt-low {
|
||||
background-color: $error;
|
||||
color: $onError;
|
||||
}
|
||||
|
||||
.bar-batt-prog-low {
|
||||
background-color: $error;
|
||||
color: $onError;
|
||||
}
|
||||
|
||||
.bar-music-playstate {
|
||||
min-height: 1.5rem;
|
||||
min-width: 1.5rem;
|
||||
border-radius: 10rem;
|
||||
background-color: $t_surface;
|
||||
color: $onSurface;
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
.bar-music {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
.bar-music-label-container {
|
||||
min-width: 18.770rem;
|
||||
}
|
||||
|
||||
.bar-music-playstate-playing {
|
||||
min-height: 1.5rem;
|
||||
min-width: 1.5rem;
|
||||
border-radius: 10rem;
|
||||
background-color: $t_surface;
|
||||
color: $onSurface;
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
.bar-music-playstate-txt {
|
||||
@include icon-material;
|
||||
font-size: 1.4545rem;
|
||||
margin: -0.1rem 0rem;
|
||||
}
|
||||
|
||||
.bar-music-coverbox {
|
||||
box-shadow: $onPrimary 0px 0px 2rem -0.3rem;
|
||||
border: $onPrimaryDark 2px solid;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 125%;
|
||||
min-height: 3rem;
|
||||
min-width: 3rem;
|
||||
border-radius: 0.75rem;
|
||||
}
|
||||
|
||||
.bar-music-extended-bg {
|
||||
border-radius: 1.364rem;
|
||||
min-width: 34.091rem;
|
||||
}
|
||||
|
||||
.bar-music-extended-ctl-bg {
|
||||
border-radius: 1.364rem;
|
||||
background-color: rgba(30, 30, 30, 0.6);
|
||||
}
|
||||
|
||||
.bar-music-bottom-bg {
|
||||
border-radius: 1.364rem;
|
||||
min-width: 34.091rem;
|
||||
}
|
||||
|
||||
.bar-music-bottom-ctl-bg {
|
||||
border-radius: 1.364rem;
|
||||
background-color: rgba(30, 30, 30, 0.6);
|
||||
}
|
||||
|
||||
.bar-music-extended-textbox {
|
||||
margin: 1.023rem;
|
||||
}
|
||||
|
||||
.bar-music-bottom-cover {
|
||||
border-radius: 10rem;
|
||||
}
|
||||
|
||||
.bar-music-hide-false {
|
||||
@include md3_decel;
|
||||
transition-duration: 100ms;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.bar-music-hide-true {
|
||||
@include md3_accel;
|
||||
transition-duration: 100ms;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.bar-music-btn {
|
||||
font-size: 1.364rem;
|
||||
border-radius: 10rem;
|
||||
min-height: 2.591rem;
|
||||
min-width: 2.591rem;
|
||||
}
|
||||
|
||||
.bar-music-btn:hover {
|
||||
background-color: $hovercolor;
|
||||
}
|
||||
|
||||
.bar-prog-batt {
|
||||
min-height: 0.955rem;
|
||||
min-width: 0.068rem;
|
||||
padding: 0rem;
|
||||
border-radius: 10rem;
|
||||
|
||||
trough {
|
||||
min-height: 0.954rem;
|
||||
min-width: 0.068rem;
|
||||
border-radius: 10rem;
|
||||
background-color: $onPrimaryContainer;
|
||||
}
|
||||
|
||||
progress {
|
||||
min-height: 0.680rem;
|
||||
min-width: 0.680rem;
|
||||
margin: 0rem 0.137rem;
|
||||
border-radius: 10rem;
|
||||
background-color: $primaryContainer;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-prog-batt-low {
|
||||
min-height: 0.954rem;
|
||||
min-width: 0.068rem;
|
||||
padding: 0rem;
|
||||
border-radius: 10rem;
|
||||
|
||||
trough {
|
||||
min-height: 0.954rem;
|
||||
min-width: 0.068rem;
|
||||
border-radius: 10rem;
|
||||
background-color: $onErrorContainer;
|
||||
}
|
||||
|
||||
progress {
|
||||
min-height: 0.680rem;
|
||||
min-width: 0.680rem;
|
||||
margin: 0rem 0.137rem;
|
||||
border-radius: 10rem;
|
||||
background-color: $errorContainer;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-batt-chargestate {
|
||||
border-radius: 10rem;
|
||||
background-color: transparent;
|
||||
background-color: $primaryContainer;
|
||||
}
|
||||
|
||||
.bar-batt-chargestate-charging {
|
||||
border-radius: 10rem;
|
||||
min-width: 0.681rem;
|
||||
min-height: 0.681rem;
|
||||
}
|
||||
|
||||
.bar-batt-chargestate-low {
|
||||
background-color: $errorContainer;
|
||||
}
|
||||
|
||||
.bar-batt-percentage {
|
||||
font-size: 1rem;
|
||||
margin-top: -0.068rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.corner {
|
||||
background-color: $t_background;
|
||||
border-radius: 1.5rem;
|
||||
}
|
||||
|
||||
.bar-space-button {
|
||||
padding: 0.341rem;
|
||||
|
||||
box {
|
||||
border-radius: 999px;
|
||||
padding: 0rem 0.682rem;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-space-button:hover {
|
||||
box {
|
||||
background-color: $hovercolor;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-space-button:active {
|
||||
box {
|
||||
background-color: $activecolor;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-space-button-leftmost {
|
||||
box {
|
||||
margin: 0rem 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-space-area-rightmost>box {
|
||||
padding-right: 2.386rem;
|
||||
}
|
||||
|
||||
.progicon {
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
|
||||
.progiconicon {
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
.calendar {
|
||||
background-color: $colorbarbg;
|
||||
border: 0.2rem solid $t_secondaryContainer;
|
||||
border-radius: 1rem;
|
||||
color: $onBackground;
|
||||
padding: .2em;
|
||||
font-family: 'Torus';
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
calendar {
|
||||
padding: 0.5rem;
|
||||
|
||||
* {
|
||||
padding: 0.1rem;
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
:selected {
|
||||
color: $onPrimary;
|
||||
font-weight: bolder;
|
||||
background-color: $primary;
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
|
||||
.header {
|
||||
color: $onBackground;
|
||||
}
|
||||
|
||||
.button {
|
||||
color: $onBackground;
|
||||
}
|
||||
|
||||
:indeterminate {
|
||||
color: $onBackground;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-system .bar-sides {
|
||||
transition: 500ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
margin: 0.25rem;
|
||||
border-radius: 1.5rem;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
||||
.hovered.bar-system .bar-sides {
|
||||
background-image: linear-gradient(45deg, rgba(0, 0, 0, 0) 60%, tint($surfaceVariant, 10%) 60%);
|
||||
background-size: 400% auto;
|
||||
background-color: $surfaceVariant;
|
||||
background-position: 60% 50%;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
|
||||
> * > *{
|
||||
background-color: $background;
|
||||
border-radius: 1.5rem;
|
||||
color: $onBackground;
|
||||
padding: 1rem;
|
||||
margin: 0.5rem;
|
||||
box-shadow: 0.25rem 0 0.25rem 0 $background;
|
||||
}
|
||||
}
|
||||
|
||||
.musicbox {
|
||||
margin-top: -5rem;
|
||||
margin-bottom: 0.01rem;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
.musicbox-bar {
|
||||
min-height: 0.155rem;
|
||||
min-width: 1rem;
|
||||
padding: 0rem;
|
||||
border-radius: 10rem;
|
||||
|
||||
trough {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
progress {
|
||||
min-height: 0.155rem;
|
||||
min-width: 2rem;
|
||||
margin: 0rem 0.137rem;
|
||||
border-top-left-radius: 10rem;
|
||||
border-top-right-radius: 10rem;
|
||||
background-color: $secondaryContainer;
|
||||
}
|
||||
}
|
||||
|
||||
.systray-icon {
|
||||
margin-right: 0.5rem;
|
||||
margin-left: 0.25rem;
|
||||
}
|
||||
|
||||
menu {
|
||||
background: shade($background, 70%);
|
||||
border-radius: 12px;
|
||||
border: 2px solid shade($secondaryContainer, 40%);
|
||||
margin-top: 2rem;
|
||||
padding: 1rem 0;
|
||||
color: $onBackground;
|
||||
}
|
||||
|
||||
menu > menuitem {
|
||||
padding: 0.4em 1.5rem;
|
||||
background: transparent;
|
||||
transition: 0.2s ease background;
|
||||
}
|
||||
|
||||
menu > menuitem:hover {
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
|
||||
menu > menuitem check:checked ~ label {
|
||||
color: $onBackground;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
menubar > menuitem {
|
||||
margin-left: 0.6rem;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
$transparentize_amount: 0.1;
|
||||
$transparentize_surface_amount: 0.41;
|
||||
|
||||
$t_primary: transparentize($primary, $transparentize_amount);
|
||||
$t_onPrimary: transparentize($onPrimary, $transparentize_amount);
|
||||
$t_primaryContainer: transparentize($primaryContainer, $transparentize_amount);
|
||||
$t_onPrimaryContainer: transparentize($onPrimaryContainer, $transparentize_amount);
|
||||
$t_secondary: transparentize($secondary, $transparentize_amount);
|
||||
$t_onSecondary: transparentize($onSecondary, $transparentize_amount);
|
||||
$t_secondaryContainer: transparentize($secondaryContainer, $transparentize_amount);
|
||||
$t_onSecondaryContainer: transparentize($onSecondaryContainer, $transparentize_amount);
|
||||
$t_tertiary: transparentize($tertiary, $transparentize_amount);
|
||||
$t_onTertiary: transparentize($onTertiary, $transparentize_amount);
|
||||
$t_tertiaryContainer: transparentize($tertiaryContainer, $transparentize_amount);
|
||||
$t_onTertiaryContainer: transparentize($onTertiaryContainer, $transparentize_amount);
|
||||
$t_error: transparentize($error, $transparentize_amount);
|
||||
$t_onError: transparentize($onError, $transparentize_amount);
|
||||
$t_errorContainer: transparentize($errorContainer, $transparentize_amount);
|
||||
$t_onErrorContainer: transparentize($onErrorContainer, $transparentize_amount);
|
||||
$t_colorbarbg: transparentize($colorbarbg, $transparentize_amount);
|
||||
$t_background: transparentize($background, $transparentize_amount);
|
||||
$t_onBackground: transparentize($onBackground, $transparentize_amount);
|
||||
$t_surface: transparentize($surface, $transparentize_surface_amount);
|
||||
$t_onSurface: transparentize($onSurface, $transparentize_surface_amount);
|
||||
$t_surfaceVariant: transparentize($surfaceVariant, $transparentize_surface_amount);
|
||||
$t_onSurfaceVariant: transparentize($onSurfaceVariant, $transparentize_surface_amount);
|
||||
$t_outline: transparentize($outline, $transparentize_amount);
|
||||
$t_shadow: transparentize($shadow, $transparentize_amount);
|
||||
$t_inverseSurface: transparentize($inverseSurface, $transparentize_amount);
|
||||
$t_inverseOnSurface: transparentize($inverseOnSurface, $transparentize_amount);
|
||||
$t_inversePrimary: transparentize($inversePrimary, $transparentize_amount);
|
||||
|
||||
$hovercolor: mix($t_surface, $t_onSurface, 0.5);
|
||||
$activecolor: mix($t_surface, $t_onSurface, 0.3);
|
@ -1,357 +0,0 @@
|
||||
// Common colors
|
||||
$hovercolor: rgba(128, 128, 128, 0.4);
|
||||
$activecolor: rgba(128, 128, 128, 0.7);
|
||||
|
||||
// Common rules
|
||||
@mixin mainfont {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
// font-weight: 500;
|
||||
}
|
||||
|
||||
@mixin icon-material {
|
||||
font-family: 'Material Symbols Rounded';
|
||||
}
|
||||
|
||||
@mixin icon-nerd {
|
||||
font-family: 'JetBrainsMono Nerd Font';
|
||||
}
|
||||
|
||||
@mixin techfont {
|
||||
font-family: 'JetBrains Mono Nerd Font';
|
||||
}
|
||||
|
||||
@mixin subtext {
|
||||
color: rgb(160, 160, 160);
|
||||
}
|
||||
|
||||
@mixin elevation-safe {
|
||||
background: $surface;
|
||||
color: $onSurface;
|
||||
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.69);
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
@mixin elevation2 {
|
||||
background: $surface;
|
||||
color: $onSurface;
|
||||
box-shadow: 0px 2px 3px $shadow;
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
@mixin elevation3 {
|
||||
background: $surfaceVariant;
|
||||
color: $onSurfaceVariant;
|
||||
// box-shadow: 0px 2px 5px mix($shadow, rgba(0,0,0,0), 40%);
|
||||
box-shadow: 0px 2px 5px $shadow;
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
@mixin md3_decel {
|
||||
transition: 250ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
}
|
||||
|
||||
@mixin md3_accel {
|
||||
transition: 180ms cubic-bezier(0.3, 0, 0.8, 0.15);
|
||||
}
|
||||
|
||||
@mixin noanim {
|
||||
transition: 0ms;
|
||||
}
|
||||
|
||||
@mixin anim-enter {
|
||||
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
}
|
||||
|
||||
@mixin anim-exit {
|
||||
transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15);
|
||||
}
|
||||
|
||||
@mixin m3-button {
|
||||
border-radius: 50rem;
|
||||
}
|
||||
|
||||
@keyframes flyin-top {
|
||||
from {
|
||||
margin-top: -2.795rem;
|
||||
}
|
||||
|
||||
to {
|
||||
margin-top: 0rem;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes flyin-bottom {
|
||||
from {
|
||||
margin-top: 4.841rem;
|
||||
margin-bottom: -4.841rem;
|
||||
}
|
||||
|
||||
to {
|
||||
margin-bottom: 0rem;
|
||||
margin-top: 0rem;
|
||||
}
|
||||
}
|
||||
|
||||
@function tint($color, $percentage) {
|
||||
@return mix(rgb(245, 250, 255), $color, $percentage);
|
||||
}
|
||||
|
||||
@function shade($color, $percentage) {
|
||||
@return mix(rgb(0, 0, 0), $color, $percentage);
|
||||
}
|
||||
|
||||
.no-anim {
|
||||
@include noanim;
|
||||
}
|
||||
|
||||
.txt {
|
||||
color: $onBackground;
|
||||
}
|
||||
|
||||
.txt-shadow {
|
||||
text-shadow: 1px 2px 8px rgba(0, 0, 0, 0.69);
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.txt-badonkers {
|
||||
@include mainfont;
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
.txt-tiddies {
|
||||
@include mainfont;
|
||||
font-size: 2.7273rem;
|
||||
}
|
||||
|
||||
.txt-hugeass {
|
||||
@include mainfont;
|
||||
font-size: 1.8182rem;
|
||||
}
|
||||
|
||||
.txt-larger {
|
||||
@include mainfont;
|
||||
font-size: 1.6363rem;
|
||||
}
|
||||
|
||||
.txt-large {
|
||||
//16pt
|
||||
@include mainfont;
|
||||
font-size: 1.4545rem;
|
||||
}
|
||||
|
||||
.txt-norm {
|
||||
//14pt
|
||||
@include mainfont;
|
||||
font-size: 1.2727rem;
|
||||
}
|
||||
|
||||
.txt-small {
|
||||
//12pt
|
||||
@include mainfont;
|
||||
font-size: 1.0909rem;
|
||||
}
|
||||
|
||||
.txt-smallie {
|
||||
//11pt
|
||||
@include mainfont;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.txt-smaller {
|
||||
//10pt
|
||||
@include mainfont;
|
||||
font-size: 0.9091rem;
|
||||
}
|
||||
|
||||
.txt-smaller-offset {
|
||||
margin-top: -0.136rem;
|
||||
}
|
||||
|
||||
.txt-tiny {
|
||||
@include mainfont;
|
||||
font-size: 0.7273rem;
|
||||
}
|
||||
|
||||
.txt-subtxt {
|
||||
color: mix($onBackground, $background, 80%);
|
||||
}
|
||||
|
||||
.txt-bold {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.icon-material {
|
||||
@include icon-material;
|
||||
}
|
||||
|
||||
.separator {
|
||||
border-radius: 50rem;
|
||||
background-color: $onSurface;
|
||||
margin: 0rem 0.682rem;
|
||||
min-width: 0.545rem;
|
||||
min-height: 0.545rem;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background-color: $surfaceVariant;
|
||||
color: $onSurfaceVariant;
|
||||
border-radius: 50rem;
|
||||
border: 1px solid $onSurfaceVariant;
|
||||
}
|
||||
|
||||
|
||||
$overlay1: mix($onSurface, rgba(0, 0, 0, 0), 25%);
|
||||
$overlay2: mix($onSurface, rgba(0, 0, 0, 0), 40%);
|
||||
|
||||
|
||||
.spacing-v-15>box {
|
||||
margin-bottom: 1.023rem;
|
||||
}
|
||||
|
||||
.spacing-v-15>box:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-15>scrolledwindow {
|
||||
margin-bottom: 1.023rem;
|
||||
}
|
||||
|
||||
.spacing-v-15>scrolledwindow:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-15>revealer {
|
||||
margin-bottom: 1.023rem;
|
||||
}
|
||||
|
||||
.spacing-v-15>revealer:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-15>label {
|
||||
margin-bottom: 1.023rem;
|
||||
}
|
||||
|
||||
.spacing-v-15>label:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-15>box {
|
||||
margin-right: 1.023rem;
|
||||
}
|
||||
|
||||
.spacing-h-15>box:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-15>label {
|
||||
margin-right: 1.023rem;
|
||||
}
|
||||
|
||||
.spacing-h-15>label:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-15>button {
|
||||
margin-right: 1.023rem;
|
||||
}
|
||||
|
||||
.spacing-h-15>button:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-5>box {
|
||||
margin-bottom: 0.341rem;
|
||||
}
|
||||
|
||||
.spacing-v-5>box:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-5>label {
|
||||
margin-bottom: 0.341rem;
|
||||
}
|
||||
|
||||
.spacing-v-5>label:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-5>button {
|
||||
margin-bottom: 0.341rem;
|
||||
}
|
||||
|
||||
.spacing-v-5>button:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-5>box {
|
||||
margin-right: 0.341rem;
|
||||
}
|
||||
|
||||
.spacing-h-5>box:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-5>label {
|
||||
margin-right: 0.341rem;
|
||||
}
|
||||
|
||||
.spacing-h-5>label:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-5>widget>box {
|
||||
margin-right: 0.341rem;
|
||||
}
|
||||
|
||||
.spacing-h-5>widget:last-child>box {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-minus5>box {
|
||||
margin-bottom: -0.341rem;
|
||||
}
|
||||
|
||||
.spacing-v-minus5>box:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-v-minus5>label {
|
||||
margin-bottom: -0.341rem;
|
||||
}
|
||||
|
||||
.spacing-v-minus5>label:last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-10>box {
|
||||
margin-right: 0.682rem;
|
||||
}
|
||||
|
||||
.spacing-h-10>box:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-10>label {
|
||||
margin-right: 0.682rem;
|
||||
}
|
||||
|
||||
.spacing-h-10>label:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.spacing-h-10>widget {
|
||||
margin-right: 0.682rem;
|
||||
}
|
||||
|
||||
.spacing-h-10>widget:last-child {
|
||||
margin-right: 0rem;
|
||||
}
|
||||
|
||||
.anim-enter {
|
||||
@include anim-enter;
|
||||
}
|
||||
|
||||
.anim-exit {
|
||||
@include anim-exit;
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
$primary: #c6c0ff;
|
||||
$onPrimary: #260f98;
|
||||
$onPrimaryDark: #190b5f;
|
||||
$primaryContainer: #3e31ad;
|
||||
$onPrimaryContainer: #e5dfff;
|
||||
$secondary: #c7c3dc;
|
||||
$onSecondary: #302e42;
|
||||
$secondaryContainer: #464459;
|
||||
$onSecondaryContainer: #e3dff8;
|
||||
$tertiary: #ebb8d0;
|
||||
$onTertiary: #472638;
|
||||
$tertiaryContainer: #613b4f;
|
||||
$onTertiaryContainer: #ffd8ea;
|
||||
$error: #ffb4a9;
|
||||
$onError: #680003;
|
||||
$errorContainer: #930006;
|
||||
$onErrorContainer: #ffb4a9;
|
||||
$colorbarbg: #1c1b1f;
|
||||
$background: #1c1b1f;
|
||||
$onBackground: #e5e1e6;
|
||||
$surface: #1c1b1f;
|
||||
$onSurface: #e5e1e6;
|
||||
$surfaceVariant: #47464e;
|
||||
$onSurfaceVariant: #c9c5d0;
|
||||
$outline: #928f9a;
|
||||
$shadow: #000000;
|
||||
$inverseSurface: #e5e1e6;
|
||||
$inverseOnSurface: #313033;
|
||||
$inversePrimary: #564cc5;
|
@ -1,12 +0,0 @@
|
||||
// Reset
|
||||
* {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
// Colors
|
||||
@import './material'; // Material colors
|
||||
@import './colors'; // Global color definitions. Uses material colors as base.
|
||||
@import './lib'; // Global mixins and functions
|
||||
|
||||
// Components
|
||||
@import './bar';
|
@ -1,30 +0,0 @@
|
||||
const { App, Service } = ags;
|
||||
const { execAsync } = ags.Utils;
|
||||
|
||||
async function setupScss() {
|
||||
try {
|
||||
await execAsync(['sassc', `${App.configDir}/scss/main.scss`, `${App.configDir}/style.css`]);
|
||||
ags.App.resetCss();
|
||||
ags.App.applyCss(`${App.configDir}/style.css`);
|
||||
} catch (error) {
|
||||
print(error);
|
||||
}
|
||||
}
|
||||
|
||||
class ThemeService extends Service {
|
||||
static { Service.register(this); }
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.setup();
|
||||
}
|
||||
|
||||
setup() {
|
||||
setupScss();
|
||||
}
|
||||
}
|
||||
|
||||
var Theme = class Theme {
|
||||
static { Service.export(this, 'Theme'); }
|
||||
static instance = new ThemeService();
|
||||
};
|
@ -1,26 +0,0 @@
|
||||
const { App } = ags;
|
||||
import { deflisten } from './deflisten.js';
|
||||
|
||||
function start() {
|
||||
cvjson.started = true;
|
||||
cvjson.service.start();
|
||||
}
|
||||
|
||||
function stop() {
|
||||
cvjson.started = false;
|
||||
cvjson.service.stop();
|
||||
}
|
||||
|
||||
export const cvjson = {
|
||||
start: start,
|
||||
stop: stop,
|
||||
started: true,
|
||||
service: deflisten('cvjson', `${App.configDir}/programs/cvjson ${App.configDir}/programs/cava`, (line) => {
|
||||
try {
|
||||
return JSON.parse(line);
|
||||
} catch {
|
||||
return [];
|
||||
}
|
||||
}),
|
||||
};
|
||||
|
@ -1,83 +0,0 @@
|
||||
export const deflisten = function (name, command, transformer = (a) => a) {
|
||||
const { Service } = ags;
|
||||
const GObject = imports.gi.GObject;
|
||||
|
||||
const v = GObject.registerClass(
|
||||
{
|
||||
GTypeName: name,
|
||||
Properties: {
|
||||
state: GObject.ParamSpec.string(
|
||||
"state",
|
||||
"State",
|
||||
"Read-Write string state.",
|
||||
GObject.ParamFlags.READWRITE,
|
||||
""
|
||||
),
|
||||
},
|
||||
Signals: {
|
||||
[`${name}-changed`]: {},
|
||||
},
|
||||
},
|
||||
class Subclass extends Service {
|
||||
get state() {
|
||||
return this._state || "";
|
||||
}
|
||||
|
||||
set state(value) {
|
||||
this._state = value;
|
||||
this.emit("changed");
|
||||
}
|
||||
|
||||
get proc() {
|
||||
return this._proc || null;
|
||||
}
|
||||
|
||||
set proc(value) {
|
||||
this._proc = value;
|
||||
}
|
||||
|
||||
start = () => {
|
||||
this.proc = ags.Utils.subprocess(command, (line) => {
|
||||
this.state = transformer(line);
|
||||
});
|
||||
}
|
||||
|
||||
stop = () => {
|
||||
this.proc.force_exit();
|
||||
this.proc = null;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.proc = ags.Utils.subprocess(command, (line) => {
|
||||
this.state = transformer(line);
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
class State {
|
||||
static {
|
||||
Service.export(this, name);
|
||||
}
|
||||
|
||||
static instance = new v();
|
||||
|
||||
static get state() {
|
||||
return State.instance.state;
|
||||
}
|
||||
|
||||
static set state(value) {
|
||||
State.instance.state = value;
|
||||
}
|
||||
|
||||
static start() {
|
||||
State.instance.start();
|
||||
}
|
||||
static stop () {
|
||||
State.instance.stop();
|
||||
}
|
||||
}
|
||||
|
||||
return State;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
const { App } = ags;
|
||||
import { deflisten } from './deflisten.js';
|
||||
|
||||
export const gohypr = deflisten('gohypr', `${App.configDir}/programs/gohypr`, (line) => {
|
||||
return JSON.parse(line);
|
||||
});
|
@ -1,7 +0,0 @@
|
||||
const { App } = ags;
|
||||
import { deflisten } from './deflisten.js';
|
||||
import barConfig from '../barConfig.js';
|
||||
|
||||
export const gostat = deflisten('gostat', `${App.configDir}/programs/gostat ${barConfig.sysinfoUpdateInterval}`, (line) => {
|
||||
return JSON.parse(line);
|
||||
});
|
@ -1,598 +0,0 @@
|
||||
* {
|
||||
all: unset; }
|
||||
|
||||
@keyframes flyin-top {
|
||||
from {
|
||||
margin-top: -2.795rem; }
|
||||
to {
|
||||
margin-top: 0rem; } }
|
||||
|
||||
@keyframes flyin-bottom {
|
||||
from {
|
||||
margin-top: 4.841rem;
|
||||
margin-bottom: -4.841rem; }
|
||||
to {
|
||||
margin-bottom: 0rem;
|
||||
margin-top: 0rem; } }
|
||||
|
||||
.no-anim {
|
||||
transition: 0ms; }
|
||||
|
||||
.txt {
|
||||
color: #e5e1e6; }
|
||||
|
||||
.txt-shadow {
|
||||
text-shadow: 1px 2px 8px rgba(0, 0, 0, 0.69);
|
||||
margin: 10px; }
|
||||
|
||||
.txt-badonkers {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 3rem; }
|
||||
|
||||
.txt-tiddies {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 2.7273rem; }
|
||||
|
||||
.txt-hugeass {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 1.8182rem; }
|
||||
|
||||
.txt-larger {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 1.6363rem; }
|
||||
|
||||
.txt-large {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 1.4545rem; }
|
||||
|
||||
.txt-norm {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 1.2727rem; }
|
||||
|
||||
.txt-small {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 1.0909rem; }
|
||||
|
||||
.txt-smallie {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 1rem; }
|
||||
|
||||
.txt-smaller {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 0.9091rem; }
|
||||
|
||||
.txt-smaller-offset {
|
||||
margin-top: -0.136rem; }
|
||||
|
||||
.txt-tiny {
|
||||
font-family: 'Torus', 'Product Sans', 'Bahnschrift', 'Inter';
|
||||
font-size: 0.7273rem; }
|
||||
|
||||
.txt-subtxt {
|
||||
color: #bdb9be; }
|
||||
|
||||
.txt-bold {
|
||||
font-weight: 500; }
|
||||
|
||||
.icon-material {
|
||||
font-family: 'Material Symbols Rounded'; }
|
||||
|
||||
.separator {
|
||||
border-radius: 50rem;
|
||||
background-color: #e5e1e6;
|
||||
margin: 0rem 0.682rem;
|
||||
min-width: 0.545rem;
|
||||
min-height: 0.545rem; }
|
||||
|
||||
tooltip {
|
||||
background-color: #47464e;
|
||||
color: #c9c5d0;
|
||||
border-radius: 50rem;
|
||||
border: 1px solid #c9c5d0; }
|
||||
|
||||
.spacing-v-15 > box {
|
||||
margin-bottom: 1.023rem; }
|
||||
|
||||
.spacing-v-15 > box:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-v-15 > scrolledwindow {
|
||||
margin-bottom: 1.023rem; }
|
||||
|
||||
.spacing-v-15 > scrolledwindow:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-v-15 > revealer {
|
||||
margin-bottom: 1.023rem; }
|
||||
|
||||
.spacing-v-15 > revealer:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-v-15 > label {
|
||||
margin-bottom: 1.023rem; }
|
||||
|
||||
.spacing-v-15 > label:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-h-15 > box {
|
||||
margin-right: 1.023rem; }
|
||||
|
||||
.spacing-h-15 > box:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-h-15 > label {
|
||||
margin-right: 1.023rem; }
|
||||
|
||||
.spacing-h-15 > label:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-h-15 > button {
|
||||
margin-right: 1.023rem; }
|
||||
|
||||
.spacing-h-15 > button:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-v-5 > box {
|
||||
margin-bottom: 0.341rem; }
|
||||
|
||||
.spacing-v-5 > box:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-v-5 > label {
|
||||
margin-bottom: 0.341rem; }
|
||||
|
||||
.spacing-v-5 > label:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-v-5 > button {
|
||||
margin-bottom: 0.341rem; }
|
||||
|
||||
.spacing-v-5 > button:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-h-5 > box {
|
||||
margin-right: 0.341rem; }
|
||||
|
||||
.spacing-h-5 > box:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-h-5 > label {
|
||||
margin-right: 0.341rem; }
|
||||
|
||||
.spacing-h-5 > label:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-h-5 > widget > box {
|
||||
margin-right: 0.341rem; }
|
||||
|
||||
.spacing-h-5 > widget:last-child > box {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-v-minus5 > box {
|
||||
margin-bottom: -0.341rem; }
|
||||
|
||||
.spacing-v-minus5 > box:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-v-minus5 > label {
|
||||
margin-bottom: -0.341rem; }
|
||||
|
||||
.spacing-v-minus5 > label:last-child {
|
||||
margin-bottom: 0rem; }
|
||||
|
||||
.spacing-h-10 > box {
|
||||
margin-right: 0.682rem; }
|
||||
|
||||
.spacing-h-10 > box:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-h-10 > label {
|
||||
margin-right: 0.682rem; }
|
||||
|
||||
.spacing-h-10 > label:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.spacing-h-10 > widget {
|
||||
margin-right: 0.682rem; }
|
||||
|
||||
.spacing-h-10 > widget:last-child {
|
||||
margin-right: 0rem; }
|
||||
|
||||
.anim-enter {
|
||||
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); }
|
||||
|
||||
.anim-exit {
|
||||
transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15); }
|
||||
|
||||
.bar-bg {
|
||||
min-height: 3.81818181817rem;
|
||||
margin: 0.27272727272rem 0.546rem;
|
||||
border-radius: 26px;
|
||||
background-color: #141418;
|
||||
background-image: linear-gradient(135deg, #191823 18%, rgba(0, 0, 0, 0) 18%, rgba(0, 0, 0, 0) 37%, #191823 37%, #191823 63%, rgba(0, 0, 0, 0) 63%, rgba(0, 0, 0, 0) 85%, #191823 85%);
|
||||
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
|
||||
animation-name: flyin-top;
|
||||
animation-duration: 250ms;
|
||||
animation-timing-function: cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
animation-iteration-count: 1; }
|
||||
|
||||
.bar-sidespace {
|
||||
min-width: 1.5rem; }
|
||||
|
||||
.bar-group-margin {
|
||||
padding: 0.2rem; }
|
||||
|
||||
.bar-group {
|
||||
background-color: rgba(48, 47, 51, 0.59);
|
||||
border-top: 1px solid rgba(68, 67, 71, 0.59);
|
||||
border-left: 1px solid rgba(68, 67, 71, 0.59);
|
||||
border-right: 1px solid rgba(58, 57, 61, 0.59);
|
||||
border-bottom: 1px solid rgba(58, 57, 61, 0.59); }
|
||||
|
||||
.bar-group-pad {
|
||||
padding: 0rem 1.023rem; }
|
||||
|
||||
.bar-group-pad-less {
|
||||
padding: 0rem 0.681rem; }
|
||||
|
||||
.bar-group-pad-system {
|
||||
padding-left: 1.023rem;
|
||||
padding-right: 0.547rem; }
|
||||
|
||||
.bar-group-pad-music {
|
||||
padding-right: 1.023rem;
|
||||
padding-left: 0.273rem;
|
||||
margin-left: 1.023rem; }
|
||||
|
||||
.bar-group-pad-left {
|
||||
padding-left: 1.364rem;
|
||||
padding-right: 0.681rem; }
|
||||
|
||||
.bar-group-pad-right {
|
||||
padding-left: 0.681rem;
|
||||
padding-right: 1.364rem; }
|
||||
|
||||
.bar-group-pad-leftonly {
|
||||
padding-left: 0.681rem; }
|
||||
|
||||
.bar-group-pad-rightonly {
|
||||
padding-right: 0.681rem; }
|
||||
|
||||
.bar-group-standalone {
|
||||
border-radius: 1.364rem; }
|
||||
|
||||
.bar-group-round {
|
||||
border-radius: 10rem; }
|
||||
|
||||
.bar-group-middle {
|
||||
border-radius: 0.477rem; }
|
||||
|
||||
.bar-group-left {
|
||||
border-radius: 0.477rem;
|
||||
border-top-left-radius: 1.364rem;
|
||||
border-bottom-left-radius: 1.364rem;
|
||||
margin-left: 1.092rem; }
|
||||
|
||||
.bar-group-right {
|
||||
border-radius: 0.477rem;
|
||||
border-top-right-radius: 1.364rem;
|
||||
border-bottom-right-radius: 1.364rem;
|
||||
margin-right: 1.092rem; }
|
||||
|
||||
.bar-ws-width {
|
||||
min-width: 18.382rem; }
|
||||
|
||||
.bar-separator {
|
||||
min-width: 0.341rem;
|
||||
min-height: 0.341rem;
|
||||
background-color: rgba(48, 47, 51, 0.59);
|
||||
border-radius: 999px;
|
||||
margin: 0rem 0.341rem; }
|
||||
|
||||
.bar-ws {
|
||||
min-height: 1.770rem;
|
||||
min-width: 1.770rem;
|
||||
font-size: 1.091rem; }
|
||||
|
||||
.bar-ws-button:hover .bar-ws-empty {
|
||||
color: #c6c0ff; }
|
||||
|
||||
.bar-ws-button:hover .bar-ws-occupied {
|
||||
background-color: #3e31ad;
|
||||
color: #e5dfff; }
|
||||
|
||||
.bar-ws-button:hover .bar-ws-active {
|
||||
background-color: #c6c0ff;
|
||||
color: #260f98; }
|
||||
|
||||
.bar-ws-empty {
|
||||
color: #e5e1e6; }
|
||||
|
||||
.bar-ws-occupied {
|
||||
background-color: #464459;
|
||||
color: #e3dff8; }
|
||||
|
||||
.bar-ws-active {
|
||||
background-color: #c6c0ff;
|
||||
color: #260f98;
|
||||
border-radius: 999px;
|
||||
transition: 100ms cubic-bezier(0, 1, 0, 1); }
|
||||
|
||||
.bar-ws-left {
|
||||
border-top-left-radius: 999px;
|
||||
border-bottom-left-radius: 999px; }
|
||||
|
||||
.bar-ws-right {
|
||||
border-top-right-radius: 999px;
|
||||
border-bottom-right-radius: 999px; }
|
||||
|
||||
.bar-batt {
|
||||
border-radius: 999px;
|
||||
padding: 0rem 0.341rem;
|
||||
background-color: #e5dfff;
|
||||
color: #3e31ad; }
|
||||
|
||||
.bar-sidemodule {
|
||||
min-width: 25.227rem; }
|
||||
|
||||
.bar-batt-low {
|
||||
background-color: #ffb4a9;
|
||||
color: #680003; }
|
||||
|
||||
.bar-batt-prog-low {
|
||||
background-color: #ffb4a9;
|
||||
color: #680003; }
|
||||
|
||||
.bar-music-playstate {
|
||||
min-height: 1.5rem;
|
||||
min-width: 1.5rem;
|
||||
border-radius: 10rem;
|
||||
background-color: rgba(28, 27, 31, 0.59);
|
||||
color: #e5e1e6;
|
||||
margin-left: 2rem; }
|
||||
|
||||
.bar-music {
|
||||
margin-left: 2rem; }
|
||||
|
||||
.bar-music-label-container {
|
||||
min-width: 18.770rem; }
|
||||
|
||||
.bar-music-playstate-playing {
|
||||
min-height: 1.5rem;
|
||||
min-width: 1.5rem;
|
||||
border-radius: 10rem;
|
||||
background-color: rgba(28, 27, 31, 0.59);
|
||||
color: #e5e1e6;
|
||||
margin-left: 2rem; }
|
||||
|
||||
.bar-music-playstate-txt {
|
||||
font-family: 'Material Symbols Rounded';
|
||||
font-size: 1.4545rem;
|
||||
margin: -0.1rem 0rem; }
|
||||
|
||||
.bar-music-coverbox {
|
||||
box-shadow: #260f98 0px 0px 2rem -0.3rem;
|
||||
border: #190b5f 2px solid;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 125%;
|
||||
min-height: 3rem;
|
||||
min-width: 3rem;
|
||||
border-radius: 0.75rem; }
|
||||
|
||||
.bar-music-extended-bg {
|
||||
border-radius: 1.364rem;
|
||||
min-width: 34.091rem; }
|
||||
|
||||
.bar-music-extended-ctl-bg {
|
||||
border-radius: 1.364rem;
|
||||
background-color: rgba(30, 30, 30, 0.6); }
|
||||
|
||||
.bar-music-bottom-bg {
|
||||
border-radius: 1.364rem;
|
||||
min-width: 34.091rem; }
|
||||
|
||||
.bar-music-bottom-ctl-bg {
|
||||
border-radius: 1.364rem;
|
||||
background-color: rgba(30, 30, 30, 0.6); }
|
||||
|
||||
.bar-music-extended-textbox {
|
||||
margin: 1.023rem; }
|
||||
|
||||
.bar-music-bottom-cover {
|
||||
border-radius: 10rem; }
|
||||
|
||||
.bar-music-hide-false {
|
||||
transition: 250ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
transition-duration: 100ms;
|
||||
opacity: 1; }
|
||||
|
||||
.bar-music-hide-true {
|
||||
transition: 180ms cubic-bezier(0.3, 0, 0.8, 0.15);
|
||||
transition-duration: 100ms;
|
||||
opacity: 0; }
|
||||
|
||||
.bar-music-btn {
|
||||
font-size: 1.364rem;
|
||||
border-radius: 10rem;
|
||||
min-height: 2.591rem;
|
||||
min-width: 2.591rem; }
|
||||
|
||||
.bar-music-btn:hover {
|
||||
background-color: rgba(128, 128, 128, 0.4); }
|
||||
|
||||
.bar-prog-batt {
|
||||
min-height: 0.955rem;
|
||||
min-width: 0.068rem;
|
||||
padding: 0rem;
|
||||
border-radius: 10rem; }
|
||||
.bar-prog-batt trough {
|
||||
min-height: 0.954rem;
|
||||
min-width: 0.068rem;
|
||||
border-radius: 10rem;
|
||||
background-color: #e5dfff; }
|
||||
.bar-prog-batt progress {
|
||||
min-height: 0.680rem;
|
||||
min-width: 0.680rem;
|
||||
margin: 0rem 0.137rem;
|
||||
border-radius: 10rem;
|
||||
background-color: #3e31ad; }
|
||||
|
||||
.bar-prog-batt-low {
|
||||
min-height: 0.954rem;
|
||||
min-width: 0.068rem;
|
||||
padding: 0rem;
|
||||
border-radius: 10rem; }
|
||||
.bar-prog-batt-low trough {
|
||||
min-height: 0.954rem;
|
||||
min-width: 0.068rem;
|
||||
border-radius: 10rem;
|
||||
background-color: #ffb4a9; }
|
||||
.bar-prog-batt-low progress {
|
||||
min-height: 0.680rem;
|
||||
min-width: 0.680rem;
|
||||
margin: 0rem 0.137rem;
|
||||
border-radius: 10rem;
|
||||
background-color: #930006; }
|
||||
|
||||
.bar-batt-chargestate {
|
||||
border-radius: 10rem;
|
||||
background-color: transparent;
|
||||
background-color: #3e31ad; }
|
||||
|
||||
.bar-batt-chargestate-charging {
|
||||
border-radius: 10rem;
|
||||
min-width: 0.681rem;
|
||||
min-height: 0.681rem; }
|
||||
|
||||
.bar-batt-chargestate-low {
|
||||
background-color: #930006; }
|
||||
|
||||
.bar-batt-percentage {
|
||||
font-size: 1rem;
|
||||
margin-top: -0.068rem;
|
||||
font-weight: 500; }
|
||||
|
||||
.corner {
|
||||
background-color: rgba(28, 27, 31, 0.9);
|
||||
border-radius: 1.5rem; }
|
||||
|
||||
.bar-space-button {
|
||||
padding: 0.341rem; }
|
||||
.bar-space-button box {
|
||||
border-radius: 999px;
|
||||
padding: 0rem 0.682rem; }
|
||||
|
||||
.bar-space-button:hover box {
|
||||
background-color: rgba(128, 128, 128, 0.4); }
|
||||
|
||||
.bar-space-button:active box {
|
||||
background-color: rgba(128, 128, 128, 0.7); }
|
||||
|
||||
.bar-space-button-leftmost box {
|
||||
margin: 0rem 1.5rem; }
|
||||
|
||||
.bar-space-area-rightmost > box {
|
||||
padding-right: 2.386rem; }
|
||||
|
||||
.progicon {
|
||||
margin-right: 0.75rem; }
|
||||
|
||||
.progiconicon {
|
||||
font-size: 32px; }
|
||||
|
||||
.calendar {
|
||||
background-color: #1c1b1f;
|
||||
border: 0.2rem solid rgba(70, 68, 89, 0.9);
|
||||
border-radius: 1rem;
|
||||
color: #e5e1e6;
|
||||
padding: .2em;
|
||||
font-family: 'Torus';
|
||||
margin: 1rem; }
|
||||
|
||||
calendar {
|
||||
padding: 0.5rem; }
|
||||
calendar * {
|
||||
padding: 0.1rem;
|
||||
color: #c6c0ff; }
|
||||
calendar :selected {
|
||||
color: #260f98;
|
||||
font-weight: bolder;
|
||||
background-color: #c6c0ff;
|
||||
border-radius: 0.5rem; }
|
||||
calendar .header {
|
||||
color: #e5e1e6; }
|
||||
calendar .button {
|
||||
color: #e5e1e6; }
|
||||
calendar :indeterminate {
|
||||
color: #e5e1e6; }
|
||||
|
||||
.bar-system .bar-sides {
|
||||
transition: 500ms cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
margin: 0.25rem;
|
||||
border-radius: 1.5rem;
|
||||
padding: 0 1rem; }
|
||||
|
||||
.hovered.bar-system .bar-sides {
|
||||
background-image: linear-gradient(45deg, rgba(0, 0, 0, 0) 60%, #585860 60%);
|
||||
background-size: 400% auto;
|
||||
background-color: #47464e;
|
||||
background-position: 60% 50%; }
|
||||
|
||||
tooltip {
|
||||
background-color: transparent;
|
||||
border: none; }
|
||||
tooltip > * > * {
|
||||
background-color: #1c1b1f;
|
||||
border-radius: 1.5rem;
|
||||
color: #e5e1e6;
|
||||
padding: 1rem;
|
||||
margin: 0.5rem;
|
||||
box-shadow: 0.25rem 0 0.25rem 0 #1c1b1f; }
|
||||
|
||||
.musicbox {
|
||||
margin-top: -5rem;
|
||||
margin-bottom: 0.01rem;
|
||||
margin-left: 1rem; }
|
||||
|
||||
.musicbox-bar {
|
||||
min-height: 0.155rem;
|
||||
min-width: 1rem;
|
||||
padding: 0rem;
|
||||
border-radius: 10rem; }
|
||||
.musicbox-bar trough {
|
||||
background-color: transparent; }
|
||||
.musicbox-bar progress {
|
||||
min-height: 0.155rem;
|
||||
min-width: 2rem;
|
||||
margin: 0rem 0.137rem;
|
||||
border-top-left-radius: 10rem;
|
||||
border-top-right-radius: 10rem;
|
||||
background-color: #464459; }
|
||||
|
||||
.systray-icon {
|
||||
margin-right: 0.5rem;
|
||||
margin-left: 0.25rem; }
|
||||
|
||||
menu {
|
||||
background: #080809;
|
||||
border-radius: 12px;
|
||||
border: 2px solid #2a2935;
|
||||
margin-top: 2rem;
|
||||
padding: 1rem 0;
|
||||
color: #e5e1e6; }
|
||||
|
||||
menu > menuitem {
|
||||
padding: 0.4em 1.5rem;
|
||||
background: transparent;
|
||||
transition: 0.2s ease background; }
|
||||
|
||||
menu > menuitem:hover {
|
||||
background: rgba(255, 255, 255, 0.4); }
|
||||
|
||||
menu > menuitem check:checked ~ label {
|
||||
color: #e5e1e6;
|
||||
font-weight: 600; }
|
||||
|
||||
menubar > menuitem {
|
||||
margin-left: 0.6rem; }
|
@ -1,37 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
const { Battery } = ags.Service;
|
||||
import { getBattery } from '../lib.js';
|
||||
|
||||
export const Batt = () => Widget.Box({
|
||||
halign: 'end',
|
||||
tooltipText: 'Battery Remaining',
|
||||
valign: 'center',
|
||||
className: '',
|
||||
connections: [[Battery, box => {
|
||||
box.visible = Battery?.available;
|
||||
}]],
|
||||
children: [
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-larger txt icon-material',
|
||||
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||
label: 'battery_5_bar',
|
||||
connections: [[Battery, label => {
|
||||
if (Battery?.available) {
|
||||
label.label = getBattery(Battery);
|
||||
}
|
||||
}]],
|
||||
}),
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-norm txt',
|
||||
connections: [[Battery, label => {
|
||||
if (Battery?.available) {
|
||||
label.label = Battery?.percent + "%";
|
||||
}
|
||||
}]],
|
||||
}),
|
||||
],
|
||||
});
|
@ -1,25 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
import { getFormattedTime, getFormattedDate } from '../lib.js';
|
||||
|
||||
export const Clock = () => Widget.Box({
|
||||
vertical: true,
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
sensitive: true,
|
||||
className: 'clock',
|
||||
children: [
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-norm txt',
|
||||
connections: [[5000, label => label.label = getFormattedTime()]],
|
||||
}),
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-smallie txt',
|
||||
connections: [[60000, label => label.label = getFormattedDate()]],
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
@ -1,28 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
import { gostat } from '../services/gostat.js';
|
||||
|
||||
export const Cpu = () => Widget.Box({
|
||||
halign: 'end',
|
||||
tooltipText: 'CPU Usage',
|
||||
valign: 'center',
|
||||
className: '',
|
||||
children: [
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-larger txt icon-material',
|
||||
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||
label: 'developer_board',
|
||||
}),
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-norm txt',
|
||||
connections: [[gostat, label => {
|
||||
if (gostat?.state?.cpu) {
|
||||
label.label = gostat?.state?.cpu + "%";
|
||||
}
|
||||
}]],
|
||||
}),
|
||||
],
|
||||
});
|
@ -1,29 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
import { gostat } from '../services/gostat.js';
|
||||
import { getTemp } from '../lib.js';
|
||||
|
||||
export const CpuTemp = () => Widget.Box({
|
||||
halign: 'end',
|
||||
tooltipText: 'CPU Temperature',
|
||||
valign: 'center',
|
||||
className: '',
|
||||
children: [
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-larger txt icon-material',
|
||||
style: 'margin-right: 0.25rem; margin-top: 1px;',
|
||||
label: 'thermometer',
|
||||
}),
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-norm txt',
|
||||
connections: [[gostat, label => {
|
||||
if (gostat?.state?.cputemp) {
|
||||
label.label = getTemp(gostat?.state?.cputemp);
|
||||
}
|
||||
}]],
|
||||
}),
|
||||
],
|
||||
});
|
@ -1,76 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
const { Mpris } = ags.Service;
|
||||
|
||||
export const MediaInfo = () => Widget.Box({
|
||||
className: 'bar-group-pad-music spacing-h-10',
|
||||
style: "margin-left: -16rem;",
|
||||
children: [
|
||||
Widget.Box({
|
||||
halign: 'center',
|
||||
className: 'bar-music-coverbox',
|
||||
connections: [[Mpris, box => {
|
||||
const mpris = Mpris.getPlayer('');
|
||||
if (mpris?.coverPath) {
|
||||
box.visible = true;
|
||||
box.setStyle(`background-image: url('${mpris.coverPath}');`);
|
||||
} else {
|
||||
box.visible = false;
|
||||
}
|
||||
}]],
|
||||
children: [
|
||||
Widget.Box({
|
||||
valign: 'center',
|
||||
style: 'margin-left: 0.75rem;',
|
||||
children: [Widget.Label({
|
||||
valign: 'center',
|
||||
className: 'bar-music-playstate-txt',
|
||||
connections: [[Mpris, label => {
|
||||
const mpris = Mpris.getPlayer('');
|
||||
label.label = `${mpris?.playBackStatus == 'Playing' ? '' : ''}`;
|
||||
}]],
|
||||
})],
|
||||
connections: [[Mpris, label => {
|
||||
const mpris = Mpris.getPlayer('');
|
||||
label.toggleClassName('bar-music-playstate-playing', mpris?.playBackStatus == 'Playing');
|
||||
label.toggleClassName('bar-music-playstate', mpris?.playBackStatus == 'Paused');
|
||||
}]],
|
||||
}),
|
||||
]
|
||||
}),
|
||||
Widget.Box({
|
||||
className: 'bar-music-label-container',
|
||||
vertical: true,
|
||||
halign: 'start',
|
||||
valign: 'center',
|
||||
children: [Widget.Label({
|
||||
halign: 'start',
|
||||
valign: 'center',
|
||||
maxWidthChars: 40,
|
||||
ellipsize: 3,
|
||||
className: 'bar-music-label txt txt-norm',
|
||||
connections: [[Mpris, label => {
|
||||
const mpris = Mpris.getPlayer('');
|
||||
if (mpris)
|
||||
label.label = `${mpris.trackTitle}`;
|
||||
else
|
||||
label.label = 'Nothing';
|
||||
}]],
|
||||
}),
|
||||
Widget.Label({
|
||||
halign: 'start',
|
||||
maxWidthChars: 40,
|
||||
ellipsize: 3,
|
||||
valign: 'center',
|
||||
className: 'bar-music-label txt txt-smallie',
|
||||
connections: [[Mpris, label => {
|
||||
const mpris = Mpris.getPlayer('');
|
||||
if (mpris)
|
||||
label.label = `${mpris.trackArtists}`;
|
||||
else
|
||||
label.label = 'Playing';
|
||||
}]],
|
||||
}),
|
||||
],
|
||||
})
|
||||
]
|
||||
});
|
@ -1,27 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
import { gostat } from '../services/gostat.js';
|
||||
|
||||
export const Mem = () => Widget.Box({
|
||||
halign: 'end',
|
||||
tooltipText: 'Memory Usage',
|
||||
valign: 'center',
|
||||
children: [
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-larger txt icon-material',
|
||||
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||
label: 'memory',
|
||||
}),
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-norm txt',
|
||||
connections: [[gostat, label => {
|
||||
if (gostat?.state?.mem) {
|
||||
label.label = gostat?.state?.mem + "G";
|
||||
}
|
||||
}]],
|
||||
}),
|
||||
],
|
||||
});
|
@ -1,26 +0,0 @@
|
||||
const { SystemTray } = ags.Service;
|
||||
const { Widget } = ags;
|
||||
|
||||
export const Systray = () => Widget.Box({
|
||||
className: 'systray',
|
||||
connections: [[SystemTray, box => {
|
||||
box.children = SystemTray.items.map(item =>{
|
||||
const iconW = Widget.Icon({
|
||||
size: 24
|
||||
});
|
||||
iconW.set_margin_left(6);
|
||||
iconW.icon = item.icon;
|
||||
const btn = Widget.Button({
|
||||
onPrimaryClick: (_, event) => item.activate(event),
|
||||
onSecondaryClick: (_, event) => item.openMenu(event),
|
||||
child: iconW,
|
||||
className: 'systray-icon',
|
||||
connections: [[item, button => {
|
||||
button.child.icon = item.icon;
|
||||
button.tooltipMarkup = item.tooltipMarkup;
|
||||
}]],
|
||||
});
|
||||
return btn;
|
||||
});
|
||||
}]],
|
||||
});
|
@ -1,41 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
const { Mpris } = ags.Service;
|
||||
import { cvjson } from '../services/cvjson.js';
|
||||
|
||||
const numBars = 15;
|
||||
|
||||
export const Visualiser = () => Widget.Box({
|
||||
className: 'musicbox',
|
||||
halign: 'center',
|
||||
valign: 'end',
|
||||
vexpand: false,
|
||||
connections: [
|
||||
[Mpris, box => {
|
||||
const mpris = Mpris.getPlayer('');
|
||||
if (mpris?.playBackStatus == 'Playing' && !cvjson?.started) {
|
||||
cvjson.start();
|
||||
} else if ((!mpris?.playBackStatus || mpris?.playBackStatus != 'Playing') && cvjson?.started) {
|
||||
cvjson.stop();
|
||||
for (const child of box.get_children()) {
|
||||
child.fraction = 0;
|
||||
}
|
||||
}
|
||||
}],
|
||||
[cvjson.service, box => {
|
||||
if (!cvjson.started || !cvjson?.service?.state || cvjson?.service?.state.length < numBars) {
|
||||
return;
|
||||
}
|
||||
let count = 0;
|
||||
for (const child of box.get_children()) {
|
||||
child.fraction = cvjson?.service.state[count] / 1500;
|
||||
count++;
|
||||
}
|
||||
}],
|
||||
],
|
||||
children: Array.from({ length: numBars }, (_, i) => i).map(i => (Widget.ProgressBar({
|
||||
vertical: true,
|
||||
className: 'musicbox-bar',
|
||||
value: 0,
|
||||
inverted: true,
|
||||
}))),
|
||||
});
|
@ -1,48 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
const { execAsync } = ags.Utils;
|
||||
import barConfig from '../barConfig.js';
|
||||
import { getWeatherSymbol, getTemp, getWeatherDesc } from '../lib.js';
|
||||
|
||||
export const Weather = () => Widget.Box({
|
||||
halign: 'end',
|
||||
tooltipText: 'Weather',
|
||||
valign: 'center',
|
||||
style: 'margin-right: 2.5rem;',
|
||||
children: [
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-larger txt icon-material',
|
||||
style: 'margin-right: 0.5rem; margin-top: 1px;',
|
||||
label: 'rainy',
|
||||
}),
|
||||
Widget.Label({
|
||||
halign: 'end',
|
||||
valign: 'center',
|
||||
className: 'txt-norm txt',
|
||||
}),
|
||||
],
|
||||
connections: [[barConfig?.weatherUpdateInterval * 1000, async box => {
|
||||
setTimeout(() => getWeather(box), 10000);
|
||||
}]],
|
||||
});
|
||||
|
||||
async function getWeather(box) {
|
||||
let latLng = [0, 0];
|
||||
execAsync(`curl https://geocoding-api.open-meteo.com/v1/search?name=${barConfig?.city}&count=1&language=en&format=json`)
|
||||
.then(output => {
|
||||
const geocoding = JSON.parse(output);
|
||||
if (geocoding.results.length === 0) {
|
||||
return;
|
||||
}
|
||||
latLng = [geocoding.results[0].latitude, geocoding.results[0].longitude];
|
||||
execAsync(`curl https://api.open-meteo.com/v1/forecast?latitude=${latLng[0]}&longitude=${latLng[1]}¤t=temperature_2m,is_day,weather_code`)
|
||||
.then(output => {
|
||||
const weather = JSON.parse(output);
|
||||
const weatherCode = weather.current.weather_code;
|
||||
box.tooltipText = getWeatherDesc(weatherCode);
|
||||
box.children[0].label = getWeatherSymbol(weatherCode);
|
||||
box.children[1].label = getTemp(Math.round(weather.current.temperature_2m) + "");
|
||||
}).catch(console.error)
|
||||
}).catch(console.error)
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
import { Workspaces } from "../modules/workspaces.js";
|
||||
import { Music } from "../modules/music.js";
|
||||
import { ActiveWindow } from "../modules/activewindow.js";
|
||||
import { System } from "../modules/system.js";
|
||||
|
||||
const left = Widget.Box({
|
||||
hexpand: false,
|
||||
halign: 'start',
|
||||
className: 'bar-group-left',
|
||||
children: [Workspaces(), Music()],
|
||||
});
|
||||
|
||||
const center = Widget.Box({
|
||||
hexpand: true,
|
||||
halign: 'center',
|
||||
className: 'bar-group-center',
|
||||
children: [ActiveWindow()],
|
||||
});
|
||||
|
||||
const right = Widget.Box({
|
||||
className: 'bar-group-right',
|
||||
hexpand: false,
|
||||
halign: 'end',
|
||||
children: [System()],
|
||||
});
|
||||
|
||||
export const bar = Widget.Window({
|
||||
name: 'bar',
|
||||
anchor: ['top', 'left', 'right'],
|
||||
exclusive: true,
|
||||
child: Widget.CenterBox({
|
||||
className: 'bar-bg',
|
||||
children: [
|
||||
left,
|
||||
center,
|
||||
right
|
||||
],
|
||||
}),
|
||||
});
|
@ -1,23 +0,0 @@
|
||||
const { Widget } = ags;
|
||||
|
||||
export const calendar = Widget.Window({
|
||||
name: 'calendar',
|
||||
anchor: ['top', 'right'],
|
||||
visible: false,
|
||||
exclusive: true,
|
||||
child: Widget.Box({
|
||||
className: 'cal',
|
||||
children: [
|
||||
Widget.Box({
|
||||
className: 'calendar',
|
||||
children: [
|
||||
Widget.Box({
|
||||
halign: 3,
|
||||
hexpand: true,
|
||||
children: [imports.gi.Gtk.Calendar.new()],
|
||||
}),
|
||||
],
|
||||
}),
|
||||
],
|
||||
}),
|
||||
});
|
@ -1,29 +0,0 @@
|
||||
# General
|
||||
env=MOZ_ENABLE_WAYLAND,1
|
||||
env=XDG_SESSION_TYPE,wayland
|
||||
env=XDG_CURRENT_DESKTOP,Hyprland
|
||||
env=XDG_SESSION_DESKTOP,Hyprland
|
||||
env=MOZ_DBUS_REMOTE,1
|
||||
env=GDK_BACKEND,wayland
|
||||
env=QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env=QT_QPA_PLATFORM,wayland;xcb
|
||||
env=QT_WAYLAND_FORCE_DPI,physical
|
||||
env=SDL_VIDEODRIVER,wayland
|
||||
env=CLUTTER_BACKEND,wayland
|
||||
env=TERM,kitty
|
||||
env=TERMINAL,kitty
|
||||
env=ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||
env=HYPRCURSOR_THEME,McMojave
|
||||
env=HYPRCURSOR_SIZE,24
|
||||
env=XCURSOR_THEME,McMojaveOrig
|
||||
env=XCURSOR_SIZE,24
|
||||
env=QT_QPA_PLATFORMTHEME,gnome
|
||||
env=STEAM_FORCE_DESKTOPUI_SCALING,1
|
||||
# Nvidia
|
||||
#env=GSK_RENDERER,ngl
|
||||
#env=NVD_BACKEND,direct
|
||||
#env=LIBVA_DRIVER_NAME,nvidia
|
||||
#env=GBM_BACKEND,nvidia-drm
|
||||
#env=__GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
#env=__GL_VRR_ALLOWED,1
|
||||
#env=__GL_GSYNC_ALLOWED,1
|
@ -1,16 +0,0 @@
|
||||
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
|
||||
exec-once=systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once=hyprpaper
|
||||
exec-once=swayosd-server
|
||||
exec-once=systemctl --user enable --now hypridle
|
||||
exec-once=sleep 5 && nm-applet
|
||||
exec-once=/usr/bin/mate-polkit
|
||||
exec-once=xdg-user-dirs-update
|
||||
exec-once=pikman-update-manager-autostart
|
||||
exec-once=dconf write /org/gnome/desktop/interface/cursor-size 24
|
||||
exec-once=hyprctl setcursor size 24
|
||||
exec-once=ags
|
||||
exec-once=test -e /run/live/medium/live/filesystem.squashfs && pika-installer
|
||||
exec-once=! test -e /run/live/medium/live/filesystem.squashfs && test -e /home/pikaos && pika-first-setup-gtk4
|
||||
exec-once=! test -e /home/pikaos && pika-welcome
|
@ -1,18 +0,0 @@
|
||||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
||||
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||
ignore_dbus_inhibit = false
|
||||
ignore_systemd_inhibit = false
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300 # 5min
|
||||
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 360 # 6min
|
||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||
}
|
@ -1,119 +0,0 @@
|
||||
general {
|
||||
layout=dwindle
|
||||
allow_tearing = 1
|
||||
gaps_in = 3
|
||||
gaps_out = 6
|
||||
border_size = 2
|
||||
col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) 45deg
|
||||
col.inactive_border = rgba(04404aaa)
|
||||
}
|
||||
|
||||
xwayland {
|
||||
use_nearest_neighbor = 0
|
||||
force_zero_scaling = 1
|
||||
}
|
||||
|
||||
input {
|
||||
#kb_layout=gb
|
||||
repeat_rate=50
|
||||
repeat_delay=300
|
||||
numlock_by_default=1
|
||||
left_handed=0
|
||||
|
||||
follow_mouse=2
|
||||
accel_profile=flat
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe=1
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
bezier = windowIn, 0.06, 0.71, 0.25, 1
|
||||
bezier = windowResize, 0.04, 0.67, 0.38, 1
|
||||
|
||||
animation = windowsIn, 1, 2, windowIn, slide #popin 20%
|
||||
animation = windowsOut, 1, 2, windowIn, slide #popin 70%
|
||||
animation = windowsMove, 1, 1.5, windowResize
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 3, default
|
||||
animation = workspaces, 1, 3, default
|
||||
animation = layers, 1, 3, windowIn, slide
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile = 1
|
||||
preserve_split = 1
|
||||
}
|
||||
|
||||
render {
|
||||
explicit_sync = 2
|
||||
explicit_sync_kms = 2
|
||||
direct_scanout = 0
|
||||
}
|
||||
|
||||
opengl {
|
||||
nvidia_anti_flicker = 0
|
||||
force_introspection = 2
|
||||
}
|
||||
|
||||
cursor {
|
||||
no_hardware_cursors = 0
|
||||
enable_hyprcursor = 1
|
||||
use_cpu_buffer = 0
|
||||
sync_gsettings_theme = 1
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding=15
|
||||
blur {
|
||||
enabled = true
|
||||
xray = false
|
||||
size = 2
|
||||
passes = 3
|
||||
new_optimizations = on
|
||||
|
||||
noise = 0.01
|
||||
contrast = 1.6
|
||||
brightness = 1.1
|
||||
}
|
||||
shadow {
|
||||
enabled=0
|
||||
range=6
|
||||
render_power=2
|
||||
ignore_window=1
|
||||
offset= 0 0
|
||||
color=rgba(1A1A1AEE)
|
||||
color_inactive=rgba(1A1A1AEE)
|
||||
}
|
||||
}
|
||||
|
||||
misc {
|
||||
vrr = 2
|
||||
vfr = 1
|
||||
enable_swallow = false
|
||||
swallow_regex = ^(kitty)$
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
focus_on_activate = true
|
||||
animate_manual_resizes = true
|
||||
animate_mouse_windowdragging = true
|
||||
mouse_move_enables_dpms = true
|
||||
key_press_enables_dpms = true
|
||||
middle_click_paste = false
|
||||
}
|
||||
|
||||
debug {
|
||||
overlay = 0
|
||||
damage_blink = 0
|
||||
damage_tracking = 2
|
||||
}
|
||||
|
||||
source=~/.config/hypr/env.conf
|
||||
source=~/.config/hypr/exec.conf
|
||||
source=~/.config/hypr/keybinds.conf
|
||||
source=~/.config/hypr/monitors.conf
|
||||
source=~/.config/hypr/windows.conf
|
@ -1,92 +0,0 @@
|
||||
# sample hyprlock.conf
|
||||
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
|
||||
|
||||
source = $HOME/.config/hypr/mocha.conf
|
||||
|
||||
$accent = $mauve
|
||||
$accentAlpha = $mauveAlpha
|
||||
$font = JetBrainsMono Nerd Font
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
disable_loading_bar = true
|
||||
hide_cursor = true
|
||||
}
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
path = /usr/share/wallpapers/pika/adventurer_s_guild_by_neytirix_ddm554q.jpg
|
||||
blur_passes = 1
|
||||
color = $base
|
||||
}
|
||||
|
||||
# LAYOUT
|
||||
label {
|
||||
monitor =
|
||||
text = Layout: $LAYOUT
|
||||
color = $text
|
||||
font_size = 25
|
||||
font_family = $font
|
||||
position = 30, -30
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = $TIME
|
||||
color = $text
|
||||
font_size = 90
|
||||
font_family = $font
|
||||
position = -30, 0
|
||||
halign = right
|
||||
valign = top
|
||||
}
|
||||
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:43200000] date +"%A, %d %B %Y"
|
||||
color = $text
|
||||
font_size = 25
|
||||
font_family = $font
|
||||
position = -30, -150
|
||||
halign = right
|
||||
valign = top
|
||||
}
|
||||
|
||||
# USER AVATAR
|
||||
image {
|
||||
monitor =
|
||||
path = $HOME/.face
|
||||
size = 100
|
||||
border_color = $accent
|
||||
position = 0, 75
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 300, 60
|
||||
outline_thickness = 4
|
||||
dots_size = 0.2
|
||||
dots_spacing = 0.2
|
||||
dots_center = true
|
||||
outer_color = $accent
|
||||
inner_color = $surface0
|
||||
font_color = $text
|
||||
fade_on_empty = false
|
||||
placeholder_text = <span foreground="##$textAlpha"><i> Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>
|
||||
hide_input = false
|
||||
check_color = $accent
|
||||
fail_color = $red
|
||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
|
||||
capslock_color = $yellow
|
||||
position = 0, -47
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
preload = /usr/share/wallpapers/pika/adventurer_s_guild_by_neytirix_ddm554q.jpg
|
||||
wallpaper = ,/usr/share/wallpapers/pika/adventurer_s_guild_by_neytirix_ddm554q.jpg
|
@ -1,70 +0,0 @@
|
||||
$mainMod = SUPER
|
||||
|
||||
#Mouse Binds
|
||||
bindm=$mainMod,mouse:272,movewindow
|
||||
bindm=$mainMod,mouse:273,resizewindow
|
||||
|
||||
bind=SUPERSHIFT,B,exec,chromium
|
||||
bind=$mainMod,Return,exec,kitty
|
||||
bind=$mainMod,N,exec,swaync-client -t -sw
|
||||
bind=SUPERSHIFT,V,exec,pavucontrol
|
||||
bind=SUPERSHIFT,Q,exec,wlogout -p layer-shell
|
||||
bind=SUPERSHIFT,F,exec,nautilus
|
||||
bind=$mainMod,Escape,exec,hyprctl reload
|
||||
bind=$mainMod,Escape,exec,notify-send "Config Reloaded"
|
||||
|
||||
bind=$mainMod,S,togglefloating,
|
||||
bind=$mainMod,A,pin
|
||||
bind=$mainMod,Q,killactive,
|
||||
bind=SUPERCONTROL,Q,exec,hyprctl kill
|
||||
bind=$mainMod,F,fullscreen,
|
||||
|
||||
bindle=,XF86AudioRaiseVolume,exec,swayosd-client --output-volume raise
|
||||
bindle=,XF86AudioLowerVolume,exec,swayosd-client --output-volume lower
|
||||
bindl=,XF86AudioMute,exec,swayosd-client --output-volume mute-toggle
|
||||
bindl=,XF86AudioMicMute,exec,swayosd-client --input-volume mute-toggle
|
||||
bindle=,XF86MonBrightnessUp,exec,swayosd-client --brightness raise
|
||||
bindle=,XF86MonBrightnessDown,exec,swayosd-client --brightness lower
|
||||
bindl=,Caps_Lock,exec,sleep 0.2 && swayosd-client --caps-lock
|
||||
bind=,XF86Calculator,exec,kcalc
|
||||
bindl=,XF86AudioPlay,exec,playerctl play-pause
|
||||
bindl=,XF86AudioStop,exec,playerctl stop
|
||||
bindl=,XF86AudioPrev,exec,playerctl previous
|
||||
bindl=,XF86AudioNext,exec,playerctl next
|
||||
|
||||
bind=$mainMod,d,exec,rofi -modi drun -show drun
|
||||
bind=$mainMod,left,movefocus,l
|
||||
bind=$mainMod,right,movefocus,r
|
||||
bind=$mainMod,up,movefocus,u
|
||||
bind=$mainMod,down,movefocus,d
|
||||
bind=SUPERSHIFT,left,movetoworkspace,-1
|
||||
bind=SUPERSHIFT,right,movetoworkspace,+1
|
||||
bind=SUPERSHIFT,up,movewindow,u
|
||||
bind=SUPERSHIFT,down,movewindow,d
|
||||
bind=SUPERCONTROL,left,workspace,-1
|
||||
bind=SUPERCONTROL,right,workspace,+1
|
||||
bind = SUPER SHIFT, 1, movetoworkspace, 1
|
||||
bind = SUPER SHIFT, 2, movetoworkspace, 2
|
||||
bind = SUPER SHIFT, 3, movetoworkspace, 3
|
||||
bind = SUPER SHIFT, 4, movetoworkspace, 4
|
||||
bind = SUPER SHIFT, 5, movetoworkspace, 5
|
||||
bind = SUPER SHIFT, 6, movetoworkspace, 6
|
||||
bind = SUPER SHIFT, 7, movetoworkspace, 7
|
||||
bind = SUPER SHIFT, 8, movetoworkspace, 8
|
||||
bind = SUPER SHIFT, 9, movetoworkspace, 9
|
||||
bind = SUPER SHIFT, 0, movetoworkspace, 10
|
||||
bind=SUPERCONTROL,up,focusmonitor,l
|
||||
bind=SUPERCONTROL,down,focusmonitor,r
|
||||
bind=$mainMod,tab,workspace,previous
|
||||
bind=SUPERALT,left,resizeactive,-20 0
|
||||
bind=SUPERALT,right,resizeactive,20 0
|
||||
bind=SUPERALT,up,resizeactive,0 -20
|
||||
bind=SUPERALT,down,resizeactive,0 20
|
||||
|
||||
bind=$mainMod,F12,exec,hyprctl keyword misc:no_vfr 0
|
||||
bind=SUPERALT,F12,exec,hyprctl keyword misc:no_vfr 1
|
||||
|
||||
bind=,Print,exec,wayfreeze & PID=$!; sleep .1; grim -g "$(slurp)" - | wl-copy; kill $PID
|
||||
bind=CTRL,Print,exec,/usr/bin/grimshot --notify save screen
|
||||
bind=SHIFT,Print,exec,/usr/bin/grimshot --notify copy screen
|
||||
bind=CTRLSHIFT,Print,exec,/usr/bin/grimshot --notify save area
|
@ -1,78 +0,0 @@
|
||||
|
||||
$rosewater = rgb(f5e0dc)
|
||||
$rosewaterAlpha = f5e0dc
|
||||
|
||||
$flamingo = rgb(f2cdcd)
|
||||
$flamingoAlpha = f2cdcd
|
||||
|
||||
$pink = rgb(f5c2e7)
|
||||
$pinkAlpha = f5c2e7
|
||||
|
||||
$mauve = rgb(cba6f7)
|
||||
$mauveAlpha = cba6f7
|
||||
|
||||
$red = rgb(f38ba8)
|
||||
$redAlpha = f38ba8
|
||||
|
||||
$maroon = rgb(eba0ac)
|
||||
$maroonAlpha = eba0ac
|
||||
|
||||
$peach = rgb(fab387)
|
||||
$peachAlpha = fab387
|
||||
|
||||
$yellow = rgb(f9e2af)
|
||||
$yellowAlpha = f9e2af
|
||||
|
||||
$green = rgb(a6e3a1)
|
||||
$greenAlpha = a6e3a1
|
||||
|
||||
$teal = rgb(94e2d5)
|
||||
$tealAlpha = 94e2d5
|
||||
|
||||
$sky = rgb(89dceb)
|
||||
$skyAlpha = 89dceb
|
||||
|
||||
$sapphire = rgb(74c7ec)
|
||||
$sapphireAlpha = 74c7ec
|
||||
|
||||
$blue = rgb(89b4fa)
|
||||
$blueAlpha = 89b4fa
|
||||
|
||||
$lavender = rgb(b4befe)
|
||||
$lavenderAlpha = b4befe
|
||||
|
||||
$text = rgb(cdd6f4)
|
||||
$textAlpha = cdd6f4
|
||||
|
||||
$subtext1 = rgb(bac2de)
|
||||
$subtext1Alpha = bac2de
|
||||
|
||||
$subtext0 = rgb(a6adc8)
|
||||
$subtext0Alpha = a6adc8
|
||||
|
||||
$overlay2 = rgb(9399b2)
|
||||
$overlay2Alpha = 9399b2
|
||||
|
||||
$overlay1 = rgb(7f849c)
|
||||
$overlay1Alpha = 7f849c
|
||||
|
||||
$overlay0 = rgb(6c7086)
|
||||
$overlay0Alpha = 6c7086
|
||||
|
||||
$surface2 = rgb(585b70)
|
||||
$surface2Alpha = 585b70
|
||||
|
||||
$surface1 = rgb(45475a)
|
||||
$surface1Alpha = 45475a
|
||||
|
||||
$surface0 = rgb(313244)
|
||||
$surface0Alpha = 313244
|
||||
|
||||
$base = rgb(1e1e2e)
|
||||
$baseAlpha = 1e1e2e
|
||||
|
||||
$mantle = rgb(181825)
|
||||
$mantleAlpha = 181825
|
||||
|
||||
$crust = rgb(11111b)
|
||||
$crustAlpha = 11111b
|
@ -1 +0,0 @@
|
||||
monitor=,highrr,auto,1
|
@ -1,26 +0,0 @@
|
||||
windowrulev2 = float,class:^(launcher)$
|
||||
windowrulev2 = noanim,class:^(launcher)$
|
||||
windowrulev2 = size 1000 750,class:^(launcher)$
|
||||
windowrulev2 = center,class:^(launcher)$
|
||||
windowrulev2 = float,title:^(Sharing)$
|
||||
windowrulev2 = float,class:^(Steam)$
|
||||
windowrulev2 = noborder,class:^(Steam)$
|
||||
windowrulev2 = noshadow,class:^(Steam)$
|
||||
windowrulev2 = noblur,class:^(Steam)$
|
||||
windowrulev2 = float,class:^(steam)$
|
||||
windowrulev2 = noborder,class:^(steam)$
|
||||
windowrulev2 = noshadow,class:^(steam)$
|
||||
windowrulev2 = noblur,class:^(steam)$
|
||||
windowrulev2 = float,class:^(steamwebhelper)$
|
||||
windowrulev2 = noborder,class:^(steamwebhelper)$
|
||||
windowrulev2 = noshadow,class:^(steamwebhelper)$
|
||||
windowrulev2 = noblur,class:^(steamwebhelper)$
|
||||
windowrulev2 = idleinhibit always,class:^(gamescope)$
|
||||
windowrulev2 = fullscreen, class:^(steam_app_.*)$
|
||||
windowrulev2 = immediate, fullscreen:1
|
||||
windowrulev2 = idleinhibit always, fullscreen:1
|
||||
windowrulev2 = immediate, class:^(steam_app_.*)$
|
||||
windowrulev2 = stayfocused, class:^(steam_app_.*)$
|
||||
windowrulev2 = idleinhibit always, class:^(steam_app_.*)$
|
||||
windowrulev2 = allowsinput, class:^(steam_app_.*)$
|
||||
windowrulev2 = renderunfocused, class:^(steam_app_.*)$
|
@ -1,83 +0,0 @@
|
||||
linux_display_server wayland
|
||||
font_family Lilex
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
font_size 15.0
|
||||
disable_ligatures never
|
||||
cursor_shape beam
|
||||
scrollback_lines 10000
|
||||
repaint_delay 6
|
||||
sync_to_monitor yes
|
||||
confirm_os_window_close 0
|
||||
|
||||
#window
|
||||
window_padding_width 6
|
||||
selection_foreground #d8caac
|
||||
selection_background #505a60
|
||||
background_opacity 0.90
|
||||
|
||||
foreground #a9b1d6
|
||||
background #1a1b26
|
||||
|
||||
# Black
|
||||
color0 #414868
|
||||
color8 #414868
|
||||
|
||||
# Red
|
||||
color1 #f7768e
|
||||
color9 #f7768e
|
||||
|
||||
# Green
|
||||
color2 #73daca
|
||||
color10 #73daca
|
||||
|
||||
# Yellow
|
||||
color3 #e0af68
|
||||
color11 #e0af68
|
||||
|
||||
# Blue
|
||||
color4 #7aa2f7
|
||||
color12 #7aa2f7
|
||||
|
||||
# Magenta
|
||||
color5 #bb9af7
|
||||
color13 #bb9af7
|
||||
|
||||
# Cyan
|
||||
color6 #7dcfff
|
||||
color14 #7dcfff
|
||||
|
||||
# White
|
||||
color7 #c0caf5
|
||||
color15 #c0caf5
|
||||
|
||||
# Cursor
|
||||
cursor #c0caf5
|
||||
cursor_text_color #1a1b26
|
||||
|
||||
# Selection highlight
|
||||
selection_foreground none
|
||||
selection_background #28344a
|
||||
|
||||
# The color for highlighting URLs on mouse-over
|
||||
url_color #9ece6a
|
||||
|
||||
# Window borders
|
||||
active_border_color #3d59a1
|
||||
inactive_border_color #101014
|
||||
bell_border_color #e0af68
|
||||
|
||||
# Tab bar
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_foreground #3d59a1
|
||||
active_tab_background #16161e
|
||||
active_tab_font_style bold
|
||||
inactive_tab_foreground #787c99
|
||||
inactive_tab_background #16161e
|
||||
inactive_tab_font_style bold
|
||||
tab_bar_background #101014
|
||||
|
||||
# Title bar
|
||||
macos_titlebar_color #16161e
|
@ -1,17 +0,0 @@
|
||||
configuration{
|
||||
modi: "run,drun";
|
||||
icon-theme: "Oranchelo";
|
||||
show-icons: true;
|
||||
terminal: "kitty";
|
||||
drun-display-format: "{icon} {name}";
|
||||
location: 0;
|
||||
disable-history: false;
|
||||
hide-scrollbar: true;
|
||||
display-drun: " Apps ";
|
||||
display-run: " Run ";
|
||||
display-Network: " Network";
|
||||
sidebar-mode: true;
|
||||
}
|
||||
|
||||
@theme "catppuccin-mocha"
|
||||
|
@ -1,36 +0,0 @@
|
||||
{
|
||||
"label" : "lock",
|
||||
"action" : "loginctl lock-session",
|
||||
"text" : "Lock",
|
||||
"keybind" : "l"
|
||||
}
|
||||
{
|
||||
"label" : "hibernate",
|
||||
"action" : "systemctl hibernate",
|
||||
"text" : "Hibernate",
|
||||
"keybind" : "h"
|
||||
}
|
||||
{
|
||||
"label" : "logout",
|
||||
"action" : "loginctl terminate-user $USER",
|
||||
"text" : "Logout",
|
||||
"keybind" : "e"
|
||||
}
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"action" : "systemctl poweroff",
|
||||
"text" : "Shutdown",
|
||||
"keybind" : "s"
|
||||
}
|
||||
{
|
||||
"label" : "suspend",
|
||||
"action" : "systemctl suspend",
|
||||
"text" : "Suspend",
|
||||
"keybind" : "u"
|
||||
}
|
||||
{
|
||||
"label" : "reboot",
|
||||
"action" : "systemctl reboot",
|
||||
"text" : "Reboot",
|
||||
"keybind" : "r"
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
* {
|
||||
background-image: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
window {
|
||||
background-color: rgba(49, 50, 68, 0.85);
|
||||
}
|
||||
|
||||
grid {
|
||||
margin: 100px 250px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 0;
|
||||
margin: 25px;
|
||||
color: rgb(205, 214, 244);
|
||||
background-color: rgba(49, 50, 68, 0.95);
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: rgba(49, 50, 68, 0.95);
|
||||
border-radius: 0;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 50px 50px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: rgba(30, 30, 46, 0.95);
|
||||
outline-style: none;
|
||||
border: 1px solid rgba(137, 180, 250, 0.95);
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<dir>~/.fonts</dir>
|
||||
</fontconfig>
|
@ -1 +0,0 @@
|
||||
progress
|
@ -1 +0,0 @@
|
||||
size_ver
|
@ -1 +0,0 @@
|
||||
circle
|
@ -1 +0,0 @@
|
||||
progress
|
@ -1 +0,0 @@
|
||||
copy
|
@ -1 +0,0 @@
|
||||
alias
|
@ -1 +0,0 @@
|
||||
progress
|
@ -1 +0,0 @@
|
||||
dnd-move
|
@ -1 +0,0 @@
|
||||
help
|
@ -1 +0,0 @@
|
||||
copy
|
@ -1 +0,0 @@
|
||||
alias
|
@ -1 +0,0 @@
|
||||
dnd-move
|
@ -1 +0,0 @@
|
||||
pointer
|
@ -1 +0,0 @@
|
||||
alias
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
default
|
@ -1 +0,0 @@
|
||||
copy
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
not-allowed
|
@ -1 +0,0 @@
|
||||
dnd-move
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
crosshair
|
@ -1 +0,0 @@
|
||||
not-allowed
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
help
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
copy
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
dnd-move
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
size_hor
|
@ -1 +0,0 @@
|
||||
pointer
|
@ -1 +0,0 @@
|
||||
dnd-move
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
no-drop
|
@ -1 +0,0 @@
|
||||
openhand
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user