This commit is contained in:
Joshua Perry 2023-07-11 05:43:17 +01:00
parent 4d128b0b24
commit f44e0883c0
1030 changed files with 2173 additions and 163 deletions

View File

@ -1,15 +0,0 @@
(defwidget network_used []
(box :orientation "h"
(box :class "hardware_text"
(image
:path net_up_icon
:image-width 16)
"${EWW_NET["enp4s0"].NET_UP / 1000} kB/s")
(box :class "hardware_text"
(image
:path net_down_icon
:image-width 16)
"${EWW_NET["enp4s0"].NET_DOWN / 1000 } kB/s")))
(defvar net_up_icon "widgets/hardware_stats/network-used/up-icon.png")
(defvar net_down_icon "widgets/hardware_stats/network-used/down-icon.png")

View File

@ -1,6 +0,0 @@
(defwidget temps []
(box :orientation "h"
(box :class "hardware_text"
"Proccessor: ${EWW_TEMPS.K10TEMP_TCTL}°C")
(box :class "hardware_text"
"Storage: ${EWW_TEMPS.NVME_COMPOSITE_WD_BLUE_SN570_1TB_TEMP1}°C")))

View File

@ -1,6 +0,0 @@
(defwidget temps []
(box :orientation "v"
(box :class "hardware_text"
"CORE 0: ${EWW_TEMPS.CORETEMP_CORE_0}°C")
(box :class "hardware_text"
"CORE 1: ${EWW_TEMPS.CORETEMP_CORE_1}°C")))

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,16 +0,0 @@
(defwidget notification_controls []
(box :orientation "h"
(eventbox
:onclick "dunstctl set-paused toggle && ${bell_toggle ? "${update_bell_toggle}false" : "${update_bell_toggle}true"}"
(image
:image-width 32
:path {bell_toggle ? muted_icon : normal_icon}))
(button
:onclick "dunstctl history-clear"
"Clear")
))
(defvar bell_toggle false)
(defvar update_bell_toggle "eww update bell_toggle=")
(defvar muted_icon "widgets/notification-draw/notification-controls/muted-icon.png")
(defvar normal_icon "widgets/notification-draw/notification-controls/normal-icon.png")

View File

@ -1,4 +0,0 @@
.draw {
background: $notification_draw_background;
padding: 1em;
}

View File

@ -1,18 +0,0 @@
(include "widgets/notification-draw/notification-controls/notification-controls.yuck")
(include "widgets/notification-draw/notifications.yuck")
(defwidget notification_draw []
(revealer
:reveal notification_reveal
:transition "slideleft"
:duration "500ms"
(box :class "draw"
:orientation "v"
:space-evenly false
(box "Notifications")
(notification_controls)
{notification_history == "[]" ? "All Caught Up!" : "" }
(notifications :json notification_history))))
(defvar notification_reveal false)
(defpoll notification_history :interval "1s" "dunstctl history | jq '.data[]'")

View File

@ -1,4 +0,0 @@
(defwidget notification [id text]
(box
text))

View File

@ -1,8 +0,0 @@
(include "widgets/notification-draw/notification.yuck")
(defwidget notifications [json]
(box :orientation "v"
(for entry in json
(notification
:id {entry.id,data}
:text {entry.summary.data}))))

View File

@ -1,5 +0,0 @@
if [ $(eww get notification_reveal) == true ]; then
eww update notification_reveal=false
else
eww update notification_reveal=true
fi

View File

@ -1,27 +0,0 @@
(defwidget volume_button []
(eventbox
:onscroll "widgets/volume/setvolume {}"
:onclick "amixer sset Master ${mute_save} && ${muted ? '${update_mute_save}\'0%\' && ${update_muted}false' : '${update_mute_save}${volume_percent} && ${update_muted}true' }"
(box :class "volume_button"
(circular-progress :class "scale"
:value {replace(volume_percent, "%", "")}
:start-at 75
:thickness 2.5
:clockwise true
:width 24
(image
:image-width 16
:path {replace(volume_percent, "%", "") == 100 ? vol_high_icon : replace(volume_percent, "%", "") <= 0 ? vol_mute_icon : replace(volume_percent, "%", "") <= 25 ? vol_low_icon : replace(volume_percent, "%", "") <= 75 ? vol_mid_icon : vol_high_icon})))))
(defpoll volume_percent :interval "0.1s" "awk -F\"[][]\" '/Mono:/ { print $2 }' <(amixer sget Master)")
(defvar mute_save "0%")
(defvar muted false)
(defvar update_mute_save "eww update mute_save=")
(defvar update_muted "eww update muted=")
(defvar vol_high_icon "widgets/volume/high-icon.png")
(defvar vol_mute_icon "widgets/volume/mute-icon.png")
(defvar vol_low_icon "widgets/volume/low-icon.png")
(defvar vol_mid_icon "widgets/volume/mid-icon.png")

View File

@ -1,2 +0,0 @@
preload = ~/.config/hypr/wallpapers/bg.jpg
wallpaper = ,~/.config/hypr/wallpapers/bg.jpg

View File

@ -1,7 +0,0 @@
$wallpaper_manager=hyprpaper
$authentication_agent=/usr/lib/polkit-kde-authentication-agent-1
$notification_manager=dunst -c ~/.config/dunst/dunstrc
$widgets=eww --restart open bar && eww open hardware_stats && eww open notification_draw

View File

@ -60,4 +60,4 @@ GRUB_THEME="/boot/grub/themes/GradientGuy/theme.txt"
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this # documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other # functionality install os-prober and uncomment to detect and include other
# operating systems. # operating systems.
#GRUB_DISABLE_OS_PROBER=false GRUB_DISABLE_OS_PROBER=false

View File

@ -1,41 +1,112 @@
alsa-utils
ark
attica
base base
base-devel base-devel
beautyline beautyline
blackarch-keyring
breeze breeze
btop
chatgpt-desktop-bin
cliphist
colordiff
discord
docker
docker-compose
docker-credential-lastpass
dolphin dolphin
dotnet-sdk-preview-bin
dragon
dunst dunst
eww-wayland eww-wayland
filelight
firefox firefox
firefox-extension-arch-search
geckodriver
gimp
git git
goverlay-bin
gping
gradle
grim
grimblast-git
grub grub
gwenview
h-m-m-git
hyprland-nvidia-git hyprland-nvidia-git
hyprpaper hyprpaper
hyprpicker
iwd iwd
javafx-scenebuilder
jq jq
kdf
kitty kitty
ksshaskpass
kwalletmanager
lastpass-cli
layan-cursor-theme-git layan-cursor-theme-git
lazydocker
lazygit
lib32-nvidia-utils lib32-nvidia-utils
linux libreoffice-fresh
linux-firmware linux-firmware
linux-headers linux-zen
linux-zen-headers
lutris-git
man-db
maven
minecraft-launcher
mongodb-compass
mysql-workbench
networkmanager networkmanager
notify-send-py notify-send-py
nvidia ntfs-3g
nvidia-dkms
nwg-look-bin nwg-look-bin
okular
openrazer-meta
openssh
os-prober-git
otf-opendyslexic-nerd otf-opendyslexic-nerd
parsec-bin
partitionmanager
php
pipewire pipewire
pipewire-alsa
pipewire-audio
pipewire-pulse
playerctl
polkit-kde-agent polkit-kde-agent
postman-bin
python-pyclip
qt5ct-kde qt5ct-kde
qt6-wayland qt6-wayland
qt6ct qt6ct
rofi replay-sorcery-git
rofi-lbonn-wayland-git
slurp
so-git
sof-firmware sof-firmware
spotify-tui
spotifyd
steam
sudo sudo
swaylock swaylock
sweet-gtk-theme-dark sweet-gtk-theme-dark
sweet-kde-git sweet-kde-git
tea
udiskie
ufw
unzip
vim vim
visual-studio-code-bin
vkbasalt
waydroid-image-gapps
wev-git
wireplumber wireplumber
wl-clip-persist-git
wl-clipboard
xdg-desktop-portal-wlr xdg-desktop-portal-wlr
xwaylandvideobridge-cursor-mode-2-git
yay-bin yay-bin
zsh zsh

View File

@ -95,3 +95,5 @@ Include = /etc/pacman.d/mirrorlist
#[custom] #[custom]
#SigLevel = Optional TrustAll #SigLevel = Optional TrustAll
#Server = file:///home/custompkgs #Server = file:///home/custompkgs
[blackarch]
Include = /etc/pacman.d/blackarch-mirrorlist

View File

@ -0,0 +1,12 @@
[Trigger]
Operation = Upgrade
Type = Package
Target = archlinux-keyring
[Action]
Description = Reinstate Black Arch keyring
Depends = pacman
Depends = blackarch-keyring
When = PostTransaction
Exec = /usr/bin/pacman-key --populate blackarch

View File

@ -0,0 +1,9 @@
[Trigger]
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/pacman -Qqe > /etc/installList.txt'

View File

@ -0,0 +1,16 @@
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia-dkms
Target=linux-zen
# Change the linux part above and in the Exec line if a different kernel is used
[Action]
Description=Update NVIDIA module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux-zen) exit 0; esac; done; /usr/bin/mkinitcpio -P'

View File

@ -0,0 +1,212 @@
#? Config file for btop v. 1.2.13
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "/usr/share/btop/themes/adapta.theme"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = True
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "tty"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
shown_boxes = "mem net proc cpu"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "total"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "total"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* Show battery stats in top right if battery is present.
show_battery = False
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"

View File

@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

View File

@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

View File

@ -8,6 +8,8 @@ $volume_scale_color: rgba(247,121,125);
$hardware_background: linear-gradient(0deg, rgba(255,226,89,1) 0%, rgba(255,167,81,1) 100%); $hardware_background: linear-gradient(0deg, rgba(255,226,89,1) 0%, rgba(255,167,81,1) 100%);
$player_background: linear-gradient(0deg, rgba(113, 178, 128,1) 0%, rgba(19, 78, 94,1) 100%);
$ram_scale_color: #C6FFDD; $ram_scale_color: #C6FFDD;
$disk_scale_color: #12C2E9; $disk_scale_color: #12C2E9;
$battery_scale_color: #FF0099; $battery_scale_color: #FF0099;

View File

@ -4,7 +4,9 @@
@import "widgets/active_window/active_window.scss"; @import "widgets/active_window/active_window.scss";
@import "widgets/workspaces/workspaces.scss"; @import "widgets/workspaces/workspaces.scss";
@import "widgets/volume/volume.scss"; @import "widgets/volume/volume.scss";
@import "widgets/notification-draw/notification-draw.scss"; @import "widgets/color/color.scss";
@import "widgets/player/player.scss";
* { * {
all: unset; all: unset;

View File

@ -1,6 +1,9 @@
(include "widgets/hardware_stats/hardware-tab/hardware_tab.yuck") (include "widgets/hardware_stats/hardware-tab/hardware_tab.yuck")
(include "widgets/hardware_stats/battery/battery.yuck")
(include "widgets/bar/bar.yuck") (include "widgets/bar/bar.yuck")
(include "widgets/active_window/active_window.yuck") (include "widgets/active_window/active_window.yuck")
(include "widgets/player/player.yuck")
(include "widgets/player/metadata/metadata.yuck")
(defwindow bar (defwindow bar
:monitor 0 :monitor 0
@ -14,8 +17,9 @@
:wm-ignore false :wm-ignore false
:exclusive true :exclusive true
(box (box
(player)
(active_window) (active_window)
(bar))) (bar :desktop desktop)))
(defwindow hardware_stats (defwindow hardware_stats
:monitor 0 :monitor 0
@ -28,16 +32,19 @@
:focusable false :focusable false
:wm-ignore false :wm-ignore false
(box (box
(hardware_tab))) (literal :content {desktop ? "(hardware_tab :desktop desktop)" : "(hardware_tab_laptop)"})))
(defwindow notification_draw (defwindow player_stats
:monitor 0 :monitor 0
:geometry (geometry :x "0%" :geometry (geometry :x "0%"
:y "0px" :y "0px"
:width "0px" :width "0px"
:height "100%" :height "100px"
:anchor "top right") :anchor "left top")
:stacking "fg" :stacking "fg"
:focusable false :focusable false
:wm-ignore false :wm-ignore false
(box)) (box
(player_metadata)))
(defvar desktop true)

View File

@ -2,13 +2,15 @@
(include "widgets/hardware_stats/hardware-tab/hardware_button.yuck") (include "widgets/hardware_stats/hardware-tab/hardware_button.yuck")
(include "widgets/volume/volume.yuck") (include "widgets/volume/volume.yuck")
(include "widgets/workspaces/workspaces.yuck") (include "widgets/workspaces/workspaces.yuck")
(include "widgets/color/color.yuck")
(defwidget bar [] (defwidget bar [desktop]
(box :orientation "h" (box :orientation "h"
:class "bar" :class "bar"
:halign "end" :halign "end"
:space-evenly "false" :space-evenly "false"
(volume_button) (color)
(volume_button :desktop desktop)
(hardware_button) (hardware_button)
(workspaces_button) (workspaces_button)
(clock))) (clock)))

View File

@ -2,13 +2,12 @@
(eventbox :halign "end" (eventbox :halign "end"
:onhover "eww update clock_hover=true" :onhover "eww update clock_hover=true"
:onhoverlost "eww update clock_hover=false" :onhoverlost "eww update clock_hover=false"
:onclick notification_cmd :onclick "/home/$USER/.config/rofi/notidraw"
(box :class "clock" (box :class "clock"
{clock_hover ? clock_time_s : clock_time_ns}))) {clock_hover ? clock_time_s : clock_time_ns})))
(defvar clock_hover false) (defvar clock_hover false)
(defvar notification_cmd "widgets/notification-draw/toggle-notification-draw")
(defpoll clock_time_ns :interval "1s" "date '+\%H:\%M'") (defpoll clock_time_ns :interval "1s" "date '+\%H:\%M'")
(defpoll clock_time_s :interval "1s" "date '+\%H:\%M:\%S'") (defpoll clock_time_s :interval "1s" "date '+\%H:\%M:\%S'")

View File

@ -0,0 +1,10 @@
hex=$(hyprpicker)
r=$(printf "%d" 0x${hex:1:2})
g=$(printf "%d" 0x${hex:3:2})
b=$(printf "%d" 0x${hex:5:2})
r=$(expr 255 - $r)
g=$(expr 255 - $g)
b=$(expr 255 - $b)
eww update chosen_text_color="rgb($r,$g,$b)"
eww update color_code=$hex
wl-copy $hex

View File

@ -0,0 +1,5 @@
.color_pill {
border-radius: 10em;
margin-right: 0.25em;
margin-top: 0.25em;
}

View File

@ -0,0 +1,10 @@
(defwidget color []
(eventbox :style "background-color: ${color_code};"
:onclick "wl-copy '${color_code}'"
:onmiddleclick "eww update color_code=#000000 && eww update chosen_text_color=#FFFFFF"
:class "color_pill"
(box :style "color: ${chosen_text_color};"
color_code)))
(defvar color_code "#000000")
(defvar chosen_text_color "#FFFFFF")

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -2,9 +2,8 @@
(include "widgets/hardware_stats/disk-used/disk-used.yuck") (include "widgets/hardware_stats/disk-used/disk-used.yuck")
(include "widgets/hardware_stats//temps/temps.yuck") (include "widgets/hardware_stats//temps/temps.yuck")
(include "widgets/hardware_stats/network-used/network-used.yuck") (include "widgets/hardware_stats/network-used/network-used.yuck")
(include "widgets/hardware_stats/battery/battery.yuck")
(defwidget hardware_tab [] (defwidget hardware_tab [desktop]
(revealer (revealer
:reveal hardware_reveal :reveal hardware_reveal
:transition "slideleft" :transition "slideleft"
@ -14,8 +13,21 @@
(ram_used) (ram_used)
(disk_used)) (disk_used))
(box :orientation "h" (box :orientation "h"
(battery) (temps :desktop desktop))
(temps)) (network_used :desktop desktop))))
(network_used))))
(defwidget hardware_tab_laptop []
(revealer
:reveal hardware_reveal
:transition "slideleft"
:duration "500ms"
(box :class "hardware_tab" :orientation "v"
(box :orientation "h"
(ram_used)
(disk_used))
(box :orientation "h"
(battery)
(temps :desktop false))
(network_used :desktop false))))
(defvar hardware_reveal false) (defvar hardware_reveal false)

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,15 +1,15 @@
(defwidget network_used [] (defwidget network_used [desktop]
(box :orientation "h" (box :orientation "h"
(box :class "hardware_text" (box :class "hardware_text"
(image (image
:path net_up_icon :path net_up_icon
:image-width 16) :image-width 16)
"${EWW_NET["wlan0"].NET_UP / 1000} kB/s") "${desktop ? EWW_NET["enp4s0"].NET_UP / 1000 : EWW_NET["wlan0"].NET_UP / 1000} kB/s")
(box :class "hardware_text" (box :class "hardware_text"
(image (image
:path net_down_icon :path net_down_icon
:image-width 16) :image-width 16)
"${EWW_NET["wlan0"].NET_DOWN / 1000 } kB/s"))) "${desktop ? EWW_NET["enp4s0"].NET_DOWN / 1000 : EWW_NET["wlan0"].NET_DOWN / 1000 } kB/s")))
(defvar net_up_icon "widgets/hardware_stats/network-used/up-icon.png") (defvar net_up_icon "widgets/hardware_stats/network-used/up-icon.png")
(defvar net_down_icon "widgets/hardware_stats/network-used/down-icon.png") (defvar net_down_icon "widgets/hardware_stats/network-used/down-icon.png")

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,6 @@
(defwidget temps [desktop]
(box :orientation {desktop ? "h" : "v"}
(box :class "hardware_text"
{desktop ? "Processor: ${EWW_TEMPS.K10TEMP_TCTL}°C" : "CORE 0: ${EWW_TEMPS.CORETEMP_CORE_0}°C"})
(box :class "hardware_text"
{desktop ? "Storage: ${EWW_TEMPS.NVME_COMPOSITE_WD_BLUE_SN570_1TB_TEMP1}°C" : "CORE 1: ${EWW_TEMPS.CORETEMP_CORE_1}°C"})))

View File

@ -0,0 +1,3 @@
[ ] GPT rofi script?
[!] player details tab revealer
[!] icons for music player

View File

@ -0,0 +1,4 @@
total=$(playerctl metadata | grep length | awk -v n=1000000 '{ printf "%.2f\n", $3/n }')
len=$(playerctl position)
perc=$( echo $len | awk -v total=$total '{ printf "%d\n", ($1 / total) * 100 }')
echo $perc

View File

@ -0,0 +1,8 @@
(defwidget duration []
(circular-progress
:value duration_perc
:start-at 75
:thickness 2.5
:clockwise true))
(defpoll duration_perc :interval "0.1s" "~/.config/eww/widgets/player/duration/duration")

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,16 @@
(defwidget loop_button []
(eventbox
:onclick "playerctl -a loop Playlist && eww update loop_playlist_flag=true &"
:onrightclick "playerctl -a loop Track && eww update loop_track_flag=true &"
:onmiddleclick "playerctl -a loop None && eww update loop_track_flag=false && eww update loop_playlist_flag=false &"
(box
(image
:image-width 46
:path {loop_playlist_flag ? loop_playlist_icon : loop_track_flag ? loop_track_icon : loop_icon}))))
(defvar loop_icon "widgets/player/loop/loop-icon.png")
(defvar loop_track_icon "widgets/player/loop/loop-track-icon.png")
(defvar loop_playlist_icon "widgets/player/loop/loop-playlisy-icon.png")
(defvar loop_track_flag false)
(defvar loop_playlist_flag false)

View File

@ -0,0 +1,21 @@
(defwidget player_metadata []
(revealer
:reveal player_reveal
:transition "slideright"
:duration "500ms"
(box :orientation "v"
:class "metadata"
:space-evenly false
(image
:image-width 250
:path music_image)
music_title
music_album
music_artist)))
(defvar player_reveal false)
(defpoll music_image :interval "1s" "echo widgets/player/playing-image.jpg")
(defpoll music_title :interval "1s" "playerctl metadata | grep title | awk '{ print $3 }'")
(defpoll music_album :interval "1s" "playerctl metadata | grep 'album ' | awk '{ print $3 }'")
(defpoll music_artist :interval "1s" "playerctl metadata | grep :artist | awk '{ print $3 }'")

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

View File

@ -0,0 +1,9 @@
(defwidget next_button []
(eventbox
:onclick "playerctl -a next &"
(box
(image
:image-width 46
:path next_icon))))
(defvar next_icon "widgets/player/next/next-icon.png")

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

View File

@ -0,0 +1,21 @@
(defwidget play_pause_button []
(eventbox
:onclick "playerctl -a ${matches(playing, "Playing") ? "pause && eww update playing_flag=false &" : "play && eww update playing_flag=true &"}"
(box
(image
:image-width 46
:path {matches(playing, "Playing") ? pause_icon : play_icon} ))))
(defwidget now_playing []
(eventbox
:onclick "${player_reveal ? "eww update player_reveal=false" : "eww update player_reveal=true"}"
:class "playing_image"
(image
:path playing_image
:image-width 46)))
(defpoll playing :interval "1s" "playerctl status")
(defvar play_icon "widgets/player/play-pause/play-icon.png")
(defvar pause_icon "widgets/player/play-pause/pause-icon.png")
(defvar playing_flag false)
(defpoll playing_image :run-while playing_flag :interval "0.1s" "echo widgets/player/playing-image.jpg")

View File

@ -0,0 +1,5 @@
path="/home/$USER/.config/eww/widgets/player/playing-image.jpg"
rm $path 2> /dev/null
opt=$(playerctl metadata | grep artUrl | awk '{ print $3 }')
wget $opt -O $path

View File

@ -0,0 +1,16 @@
.playing_image {
margin-left: 0.5em;
margin-top: 0.5em;
}
.controls {
margin-top: 0.5em;
margin-left: 0.5em;
}
.metadata {
padding: 2em;
background: $player_background;
color: $text_color;
border-radius: 5em;
}

View File

@ -0,0 +1,17 @@
(include "widgets/player/shuffle/shuffle.yuck")
(include "widgets/player/previous/previous.yuck")
(include "widgets/player/play-pause/play-pause.yuck")
(include "widgets/player/next/next.yuck")
(include "widgets/player/loop/loop.yuck")
(include "widgets/player/duration/duration.yuck")
(defwidget player []
(box :space-evenly false
(now_playing :class "now_playing")
(box :class "controls"
(duration)
(previous_button)
(play_pause_button)
(next_button)
(shuffle_button)
(loop_button))))

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 B

View File

@ -0,0 +1,8 @@
(defwidget previous_button []
(eventbox
:onclick "playerctl -a previous &"
(box
(image
:image-width 46
:path "widgets/player/previous/previous-icon.png"
))))

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,11 @@
(defwidget shuffle_button []
(eventbox
:onclick "playerctl -a shuffle ${shuffle_status ? "off && eww update shuffle_status=false &" : "on && eww update shuffle_status=true &"}"
(box
(image
:image-width 46
:path {shuffle_status ? shuffle_on_icon : shuffle_icon}))))
(defvar shuffle_status false)
(defvar shuffle_icon "widgets/player/shuffle/shuffle-icon.png")
(defvar shuffle_on_icon "widgets/player/shuffle/shuffle-on-icon.png")

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,28 @@
(defwidget volume_button [desktop]
(eventbox
:onscroll "widgets/volume/setvolume {}"
:onclick "amixer sset Master ${mute_save} && ${muted ? '${update_mute_save}\'0%\' && ${update_muted}false' : '${update_mute_save}${desktop ? volume_percent_desktop : volume_percent_laptop} && ${update_muted}true' }"
(box :class "volume_button"
(circular-progress :class "scale"
:value {replace(desktop ? volume_percent_desktop : volume_percent_laptop, "%", "")}
:start-at 75
:thickness 2.5
:clockwise true
:width 24
(image
:image-width 16
:path {replace(desktop ? volume_percent_desktop : volume_percent_laptop, "%", "") == 100 ? vol_high_icon : replace(desktop ? volume_percent_desktop : volume_percent_laptop, "%", "") <= 0 ? vol_mute_icon : replace(desktop ? volume_percent_desktop : volume_percent_laptop, "%", "") <= 25 ? vol_low_icon : replace(desktop ? volume_percent_desktop : volume_percent_laptop, "%", "") <= 75 ? vol_mid_icon : vol_high_icon})))))
(defpoll volume_percent_laptop :interval "0.1s" "awk -F\"[][]\" '/Mono:/ { print $2 }' <(amixer sget Master)")
(defpoll volume_percent_desktop :interval "0.1s" "awk -F\"[][]\" '/Left:/ { print $2 }' <(amixer sget Master)")
(defvar mute_save "0%")
(defvar muted false)
(defvar update_mute_save "eww update mute_save=")
(defvar update_muted "eww update muted=")
(defvar vol_high_icon "widgets/volume/high-icon.png")
(defvar vol_mute_icon "widgets/volume/mute-icon.png")
(defvar vol_low_icon "widgets/volume/low-icon.png")
(defvar vol_mid_icon "widgets/volume/mid-icon.png")

View File

@ -7,13 +7,16 @@ source = ~/.config/hypr/prefs/shortcuts.conf
source = ~/.config/hypr/prefs/startup.conf source = ~/.config/hypr/prefs/startup.conf
# Execute your favorite apps at launch # Execute your favorite apps at launch
exec-once = $authentication_agent & $wallpaper_manager & $notification_manager & $widgets exec-once = $authentication_agent & $wallpaper_manager & $notification_manager & $widgets &widgets_desktop_mode & $env_access & $clipboard_manager & $keyring & $auto_mounting $spotify
# Environment Variables # Environment Variables
env = XCURSOR_SIZE,24 env = XCURSOR_SIZE,24
env = WLR_NO_HARDWARE_CURSORS,1 env = WLR_NO_HARDWARE_CURSORS,1
env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_QPA_PLATFORM,wayland env = QT_QPA_PLATFORM,wayland
env = GRIMBLAST_EDITOR,gwenview
env = MOZ_ENABLE_WAYLAND,1
env = SSH_ASKPASS=ksshaskpass
input { input {
kb_layout = $keyboard_layout kb_layout = $keyboard_layout
@ -84,7 +87,9 @@ gestures {
workspace_swipe = off workspace_swipe = off
} }
windowrulev2 = float,class:^(chat-gpt)$
windowrulev2 = stayfocused,class:^(Rofi)$ windowrulev2 = stayfocused,class:^(Rofi)$
windowrulev2 = fakefullscreen,class:^(firefox)$
bind = $open_terminal, exec, $terminal_emulator bind = $open_terminal, exec, $terminal_emulator
bind = $close_window, killactive, bind = $close_window, killactive,
@ -100,6 +105,15 @@ bind = $cycle_workspace, exec, $cycle_workspaces
bind = $maximise_window, fullscreen bind = $maximise_window, fullscreen
bind = $fake_maximise, fakefullscreen bind = $fake_maximise, fakefullscreen
bind = $toggle_notifications, exec, $toggle_notification_draw bind = $toggle_notifications, exec, $toggle_notification_draw
bind = $sys_monitor, exec, $sys_monitor_app
bind = $color_picker, exec, $color_picker_app
bind = $chat_gpt, exec, $chat_gpt_app
bind = $pass_mgr, exec, $lastpass
bind = $clipboard_history, exec, $clipboard_history_menu
bind = $screenshot_area, exec, $screenshot_area_cmd
bind = $screenshot_screen, exec, $screenshot_screen_cmd
binde = $volume_down, exec, $volume_down_percent binde = $volume_down, exec, $volume_down_percent
binde = $volume_up, exec, $volume_up_percent binde = $volume_up, exec, $volume_up_percent

View File

@ -0,0 +1,2 @@
preload = ~/.config/hypr/wallpapers/bg.jpg
wallpaper =,~/.config/hypr/wallpapers/bg.jpg

View File

@ -4,10 +4,23 @@ $file_explorer=dolphin
$browser=firefox $browser=firefox
$app_launcher=rofi -config ~/.config/rofi/runner.rasi -show $chat_gpt_app=chat-gpt
$sys_monitor_app=kitty sh -c btop
$lastpass=~/.config/rofi/passmgr-menu/passmgr
$color_picker_app=~/.config/eww/widgets/color/color
$app_launcher=rofi -config ~/.config/rofi/runner-menu/runner.rasi -show
$lockscreen_manager=swaylock -C ~/.config/swaylock/lock.conf $lockscreen_manager=swaylock -C ~/.config/swaylock/lock.conf
$clipboard_history_menu=~/.config/rofi/clipboard-menu/clipboard
$screenshot_area_cmd=grimblast --freeze edit area
$screenshot_screen_cmd=grimblast edit screen
$volume_percent=amixer sset Master $volume_percent=amixer sset Master
$volume_up_percent=$volume_percent 5%+ $volume_up_percent=$volume_percent 5%+
$volume_down_percent=$volume_percent 5%- $volume_down_percent=$volume_percent 5%-
@ -19,4 +32,4 @@ $brightness_down_percent=$brightness_percent 10%-
$move_to_new_workspace=movetoworkspacesilent ,empty $move_to_new_workspace=movetoworkspacesilent ,empty
$cycle_workspaces=~/.config/eww/widgets/workspaces/setworkspace up $(eww get workspace_active) $(eww get workspace_total) $cycle_workspaces=~/.config/eww/widgets/workspaces/setworkspace up $(eww get workspace_active) $(eww get workspace_total)
$toggle_notification_draw=~/.config/eww/widgets/notification-draw/toggle-notification-draw $toggle_notification_draw=~/.config/rofi/notidraw-menu/notidraw

View File

@ -1,6 +1,5 @@
$keyboard_layout=gb $keyboard_layout=us
$monitor_name=HDMI-A-1
$outside_gaps=10 $outside_gaps=10
$inside_gaps=5 $inside_gaps=5

View File

@ -1,6 +1,6 @@
$mainMod= SUPER $mainMod= SUPER
$open_terminal= $mainMod, T $open_terminal=, code:148
$close_window= $mainMod, Q $close_window= $mainMod, Q
@ -18,9 +18,24 @@ $open_browser= $mainMod, B
$lock_screen= $mainMod, L $lock_screen= $mainMod, L
$color_picker= $mainMod, K
$maximise_window= $mainMod, M $maximise_window= $mainMod, M
$fake_maximise= SUPER_SHIFT, M $fake_maximise= SUPER_SHIFT, M
$clipboard_history= $mainMod, V
$copy= CONTROL, C
$paste= CONTROL, V
$chat_gpt= $mainMod, C
$pass_mgr= $mainMod, P
$sys_monitor= $mainMod, Escape
$screenshot_area=,PRINT
$screenshot_screen= SHIFT_L, PRINT
$volume_up=, code:123 $volume_up=, code:123
$volume_down=, code:122 $volume_down=, code:122
$volume_mute=, code:121 $volume_mute=, code:121

View File

@ -0,0 +1,19 @@
$wallpaper_manager=hyprpaper
$authentication_agent=/usr/lib/polkit-kde-authentication-agent-1
$keyring=kwalletd5
$notification_manager=dunst -c ~/.config/dunst/dunstrc
$widgets=eww --restart open bar && eww open hardware_stats && eww open player_stats
$env_access=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
$clipboard_manager=wl-paste --watch cliphist store
$auto_mounting=udiskie &
$widgets_desktop_mode=eww update desktop=false
$spotify=spotifyd --config-path ~/.config/spotifyd

View File

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@ -0,0 +1,11 @@
set -o pipefail
opt=$(cliphist list | rofi -config ~/.config/rofi/clipboard-menu/clipboard.rasi -dmenu -p ">>> " | cliphist decode)
ret=$?
echo $ret
if [ "$ret" == "0" ]; then
wl-copy "$opt"
elif [ "$ret" == "10" ]; then
cliphist delete-query "$opt"
fi

View File

@ -0,0 +1,10 @@
configuration {
kb-custom-1: "Delete";
kb-remove-char-forward: "Control+d";
}
entry {
placeholder: "{Copied Text}";
}
@import "theme"

View File

@ -0,0 +1,6 @@
opt=$(dunstctl history | jq '.data[][].message.data' | sed -ne 's/^"//' -ne 's/"//' -ne 's/\\n/ > /p' | rofi -config ~/.config/rofi/notidraw-menu/notidraw.rasi -p ">>> " -dmenu -markup-rows)
ret=$?
if [ "$ret" == "10" ]; then
dunstctl history-clear
fi

View File

@ -0,0 +1,9 @@
configuration {
kb-custom-1: "Delete";
kb-remove-char-forward: "Control+d";
}
entry {
placeholder: "{Notifications}";
}
@import "theme"

Some files were not shown because too many files have changed in this diff Show More