refresh dotfiles

This commit is contained in:
Fabio Lenherr 2022-09-19 15:06:41 +02:00
parent f2684e3cc3
commit a54e94bbb0
No known key found for this signature in database
GPG key ID: 868FFD689D878939
26 changed files with 506 additions and 552 deletions

View file

@ -1,16 +0,0 @@
# dotFiles
My personal dotfiles for my hyprland/eww config.
Programs used for the general environment:
- hyprland
- eww
- blueman
- blueman-manager
- Network-Manager -> nmtui
- nvim
- alacritty
- dunst
- swaylock
- brightnessctl
- playerctl

View file

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

View file

@ -484,3 +484,150 @@ color: #bfc9db;
margin : 0px 0px 0px 0px; margin : 0px 0px 0px 0px;
} }
//cockpit stuff
.cockpit_class {
all: unset;
}
.cockpit_clock {
padding: 0px 30px 0px 30px;
}
.cockpit_box {
background-color: #06060b;
border-radius: 10px;
margin: 5px;
padding: 0px 5px 0px 5px;
opacity: 0.85;
}
.cockpit_button_shutdown {
color: red;
font-size: 40px;
margin: 0px 5px -30px 5px;
}
.cockpit_button_sleep {
color: blue;
font-size: 40px;
margin: 0px 5px -30px 5px;
}
.cockpit_button_restart {
color: green;
font-size: 40px;
margin: 0px 5px -30px 5px;
}
.song_info {
margin: -50px 0px 0px 0px;
font-size: 20px;
color: grey;
}
.album_cover {
margin: -60px 10px 20px 10px;
padding: 0px;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
border-radius: 10px;
}
.cockpit_button_settings {
color: #D35D6E;
font-size: 35px;
margin: -30px 5px 0px 5px;
}
.weather-icon {
font-size: 80px;
margin: 10px 0px 35px 25px;
font-family: Iosevka;
}
.weather-stat {
font-size: 30px;
font-weight: bold;
color: #D35D6E;
margin: -20px 0px 10px 0px;
}
.temperature {
color: grey;
font-size: 48px;
font-weight: 900;
margin: 0px 0px 0px 20px;
}
.weather-quote {
margin: 30px -5px 0px 20px;
font-size: 20px;
}
.weather-quote-head, .weather-quote-tail {
color: grey;
font-size: 18px;
margin: 10px 0px 10px 10px;
}
.cockpit_clock_left {
font-size: 50px;
font-weight: bold;
color: #D35D6E;
margin: 5px -20px -30px 0px;
}
.cockpit_clock_right {
font-size: 50px;
font-weight: bold;
color: #D35D6E;
margin: 5px 0px -30px -20px;
}
.cockpit_date {
font-size: 50px;
font-weight: bold;
color: #D35D6E;
margin: -30px -20px 0px -20px;
}
.cockpit_clock_sep {
font-size: 40px;
font-weight: bold;
color: #D35D6E;
margin: 0px -20px -30px -20px;
}
.cockpit_docs {
color: red;
font-size: 30px;
margin: 10px 0px -10px 0px;
}
.cockpit_pics {
color: green;
font-size: 30px;
margin: 0px 0px 0px 0px;
padding: 0px;
}
.cockpit_gits {
color: blue;
font-size: 30px;
margin: -20px 0px 10px 0px;
}
.cockpit_sep_bottom {
color: #38384d;
font-size: 18;
margin : -10px 0px 0px 0px;
padding: 0px;
}
.cockpit_sep_top {
color: #38384d;
font-size: 18;
margin : 0px 0px -10px 0px;
padding: 0px;
}

View file

@ -9,9 +9,9 @@
(defpoll brightness_percent :interval "5s" "brightnessctl -m -d intel_backlight | awk -F, '{print substr($4, 0, length($4)-1)}' | tr -d '%'") (defpoll brightness_percent :interval "5s" "brightnessctl -m -d intel_backlight | awk -F, '{print substr($4, 0, length($4)-1)}' | tr -d '%'")
;; battery definitions ;; ;; battery definitions ;;
(defpoll battery_status :interval "1m" "./scripts/battery stat") (defpoll battery_status :interval "5s" "./scripts/battery stat")
(defpoll battery-capacity :interval "1m" "scripts/battery percent") (defpoll battery-capacity :interval "5s" "scripts/battery percent")
(defpoll battery :interval "1m" "scripts/battery icon") (defpoll battery :interval "5s" "scripts/battery icon")
;; memory definitions ;; ;; memory definitions ;;
(defpoll memory :interval "15s" "scripts/memory") (defpoll memory :interval "15s" "scripts/memory")
@ -25,11 +25,8 @@
(defpoll WLAN_ICON :interval "1m" "~/.config/eww/scripts/wifi --ICON") (defpoll WLAN_ICON :interval "1m" "~/.config/eww/scripts/wifi --ICON")
;; music definitions ;; ;; music definitions ;;
;;(defpoll song :interval "2s" "~/.config/eww/scripts/music_info --song") (defpoll Song_info :interval "2s" "scripts/music_control")
;;(defpoll song_artist :interval "2s" "~/.config/eww/scripts/music_info --artist") (defpoll Thumbnail :interval "2s" "scripts/music_control2")
;;(defpoll current_status :interval "1s" "~/.config/eww/scripts/music_info --time")
;;(defpoll song_status :interval "2s" "~/.config/eww/scripts/music_info --status")
;;(defpoll cover_art :interval "2s" "~/.config/eww/scripts/music_info --cover")
;; current window ;; ;; current window ;;
;;(defpoll currentWindow :interval "100ms" "hyprctl activewindow | grep class | awk -F ':' '{ print $2 }'") ;;(defpoll currentWindow :interval "100ms" "hyprctl activewindow | grep class | awk -F ':' '{ print $2 }'")
@ -38,6 +35,14 @@
(defpoll calendar_day :interval "20h" "date '+%d'") (defpoll calendar_day :interval "20h" "date '+%d'")
(defpoll calendar_year :interval "20h" "date '+%Y'") (defpoll calendar_year :interval "20h" "date '+%Y'")
;; Weather vars
(defpoll weather-interval :interval "20m" "scripts/weather")
(defpoll weather-icon :interval "20m" "cat ~/.cache/weather/weather-icon")
(defpoll temperature :interval "20m" "cat ~/.cache/weather/weather-degree")
(defpoll weather-hex :interval "20m" "cat ~/.cache/weather/weather-hex")
(defpoll weather-stat :interval "20m" "cat ~/.cache/weather/weather-stat")
(defpoll weather-stat-side :interval "20m" "~/.config/eww/scripts/weather-trimmer")
(defpoll weather-quote :interval "20m" "~/.config/eww/scripts/getwethquote")
;; simple variables ;; ;; simple variables ;;
(defvar eww "$HOME/.local/bin/eww -c $HOME/.config/eww") (defvar eww "$HOME/.local/bin/eww -c $HOME/.config/eww")
@ -327,6 +332,56 @@
:show_truncated false :show_truncated false
:wrap false)))))) :wrap false))))))
;; cockpit widget ;;
(defwidget cockpit []
(box :orientation "h"
(box :class "cockpit_class"
:orientation "h"
(box :orientation "v"
(box :class "cockpit_box" :orientation "v"
(box
(button :class "cockpit_button_shutdown" :onclick "hyprctl dispatch exec 'shutdown now'" "")
(button :class "cockpit_button_restart" :onclick "hyprctl dispatch exec reboot" "")
(button :class "cockpit_button_sleep" :onclick "hyprctl dispatch exec 'playerctl -a pause & swaylock -c 000000 & systemctl suspend'" ""))
(label :text "" :class "audio_sep" :halign "center")
(box
(button :class "cockpit_button_settings" :onclick "hyprctl dispatch exec 'pavucontrol'" "")
(button :class "cockpit_button_settings" :onclick "scripts/change-audio bluetooth" "")))
(box :class "cockpit_box" :orientation "v"
(button :class "cockpit_docs" :onclick "hyprctl dispatch exec nautilus $HOME/Documents" "Documents ")
(label :text "" :class "cockpit_sep_top" :halign "center")
(button :class "cockpit_pics" :onclick "hyprctl dispatch exec nautilus $HOME/Pictures" "Pictures ")
(label :text "" :class "cockpit_sep_bottom" :halign "center")
(button :class "cockpit_gits" :onclick "hyprctl dispatch exec 'alacritty --working-directory $HOME/gits'" "gits ")))
(box :orientation "v"
(box :class "cockpit_box" :orientation "v"
(box :class "cockpit_clock"
(label :text clock_time :class "cockpit_clock_left" )
(label :text "" :class "cockpit_clock_sep" )
(label :text clock_minute :class "cockpit_clock_right"))
(label :text "" :class "audio_sep" :halign "center")
(box :class "cockpit_clock"
(label :text clock_date :class "cockpit_date")
))
(box :class "cockpit_box" (weather)))
(box :width 300 :height 200 :class "cockpit_box" :orientation "v"
(box :class "song_info"
(label :wrap true :text "${Song_info}"))
(box :class "album_cover" :style 'background-image: url("${Thumbnail}")')
)))
)
;; weather ;;
(defwidget weather []
(box :orientation "v" :space-evenly "false"
(box :orientation "h" :space-evenly "false"
(box :class "weather-icon" :style "color: ${weather-hex}" {weather-icon})
(box :class "temperature" "${temperature}"))
(box :orientation "v" :space-evenly "false"
(box :class "weather-stat" {weather-stat}))
(box :class "weather-quote-head"
(label :wrap true :text {weather-quote}))))
;; left side but displayed right? ;; ;; left side but displayed right? ;;
(defwidget left [] (defwidget left []
(box :orientation "h" (box :orientation "h"
@ -423,7 +478,19 @@
:width "99%" :width "99%"
:height "20px" :height "20px"
:anchor "top center") :anchor "top center")
:stacking "fg" :stacking "bg"
:wm-ignore false :wm-ignore false
:exclusive true :exclusive true
(bar_1)) (bar_1))
;; draw the bar ;;
(defwindow cockpit_window
:monitor 0
:geometry (geometry
:width "600px"
:height "500px"
:anchor "center")
:stacking "overlay"
:wm-ignore false
:exclusive true
(cockpit))

31
eww/scripts/audio_devices Executable file
View file

@ -0,0 +1,31 @@
#!/bin/bash
CLIENTS=$(pactl list sink-inputs | grep "application.process.binary" | awk -F '= ' ' { print $2 } ' | tr -d '"')
readarray -t lines <<<"$CLIENTS"
printf "%s\n" "${lines[@]}"
echo ${lines[2]}
#echo "(box :class \"works\" :orientation \"h\" :spacing 5 :space-evenly \"false\" (button :onclick \"hyprctl dispatch workspace 1\" :class \"$un$o1$f1\" \"$ic_1\") (button :onclick \"hyprctl dispatch workspace 2\" :class \"$un$o2$f2\" \"$ic_2\") (button :onclick \"hyprctl dispatch workspace 3\" :class \"$un$o3$f3\" \"$ic_3\") (button :onclick \"hyprctl dispatch workspace 4\" :class \"$un$o4$f4\" \"$ic_4\") (button :onclick \"hyprctl dispatch workspace 5\" :class \"$un$o5$f5\" \"$ic_5\") (button :onclick \"hyprctl dispatch workspace 6\" :class \"$un$o6$f6\" \"$ic_6\") (button :onclick \"hyprctl dispatch workspace 7\" :class \"$un$o7$f7\" \"$ic_7\") (button :onclick \"hyprctl dispatch workspace 8\" :class \"$un$o8$f8\" \"$ic_8\"))"
# (eventbox :onhover "scripts/pop hoverCreate"
# :onhoverlost "scripts/pop hoverGet audio_ctl"
# (box :class "audio-box" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false"
# (box :halign "center" :space-evenly "false" :hexpand "false" :vexpand "false"
# (box :class "speaker_icon" :orientation "v")
# (box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
# (label :class "speaker_text" :text "speaker" :valign "center" :halign "left" )
# (box :class "speaker_bar" :halign "center" :vexpand "false" :hexpand "false"
# (scale :value volume_percent
# :space-evenly "false"
# :orientation "h"
# :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%"
# :tooltip "volume on ${volume_percent}%"
# :max 100
# :min 0))))
# (label :text "" :class "audio_sep" :halign "center")
# ))))

8
eww/scripts/cockpit_toggle Executable file
View file

@ -0,0 +1,8 @@
#! /bin/bash
ISOPEN=$(eww windows | grep "*cockpit")
if [ "$ISOPEN" = "" ]; then
eww open cockpit_window
else
eww close cockpit_window
fi

5
eww/scripts/firefox_control.sh Executable file
View file

@ -0,0 +1,5 @@
#! /bin/bash
NUM=$(pactl list clients short | grep "firefox" | awk -F 'PipeWire' ' { print $1 } ' | tr -d ' \t\n')
CLIENT=$(pactl list sink-inputs short | grep "$NUM" | awk -F ' ' ' { print $1 }' | tr -d ' \t\n')
pactl set-sink-input-volume "$CLIENT" "$1"

2
eww/scripts/getwethquote Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash
echo -e $(cat $HOME/.cache/weather/weather-quote) | head -n1

2
eww/scripts/getwethquote2 Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash
echo -e $(cat $HOME/.cache/weather/weather-quote) | tail -n1

2
eww/scripts/music_control Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash
echo $(playerctl metadata -p ncspot,%any --format "{{ artist }}\n{{ album }}\n{{ title }}")

3
eww/scripts/music_control2 Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
echo $(playerctl -p ncspot,%any metadata mpris:artUrl)

5
eww/scripts/ncspot_control.sh Executable file
View file

@ -0,0 +1,5 @@
#! /bin/bash
NUM=$(pactl list clients short | grep "ncspot" | awk -F 'PipeWire' ' { print $1 } ' | tr -d ' \t\n')
CLIENT=$(pactl list sink-inputs short | grep "$NUM" | awk -F ' ' ' { print $1 }' | tr -d ' \t\n')
pactl set-sink-input-volume "$CLIENT" "$1"

10
eww/scripts/spotifyd Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
#if [ "$PLAYER_EVENT" = "start" ] || [ "$PLAYER_EVENT" = "change" ];
#then
trackName=$(playerctl -p spotifyd,%any metadata title)
artistAndAlbumName=$(playerctl -p spotifyd,%any metadata --format "{{ artist }} ({{ album }})")
Thumbnail_url=$(playerctl -p spotifyd,%any metadata mpris:artUrl)
Thumbnail=$(curl "$Thumbnail_url")
notify-send -u low "$trackName" "$artistAndAlbumName " -i "$Thumbnail"
#fi

10
eww/scripts/spotifyd.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
if [ "$PLAYER_EVENT" = "start" ] || [ "$PLAYER_EVENT" = "change" ];
then
song=$(playerctl metadata -p spotifyd --format "{{ title }}\n{{ artist }}\n{{ album }}")
if [ ! -f "/home/dashie/.cache/icons/$song" ]; then
thumb=$(playerctl metadata -p spotifyd --format '{{lc(mpris:artUrl)}}')
convert "$thumb" -flatten -thumbnail 256x256 /home/dashie/.cache/icons/"$song"
fi
dunstify -I /home/dashie/.cache/icons/"$song" -t 3000 "Spotify" "$song"
fi

12
eww/scripts/toggle-mute Executable file
View file

@ -0,0 +1,12 @@
#! /bin/bash
SINK=$(pactl info | grep "Default Sink"| awk -F 'Default Sink: ' ' { print $2 } ')
pactl set-sink-mute $SINK toggle
MUTE=$(pactl list sinks | grep -A 6 "$SINK" | grep "Mute: yes" | tr -d '\t')
if [ "$MUTE" = "Mute: yes" ]; then
dunstify -a "toggleMute" -r 2 -u low "Muted"
else
dunstify -a "toggleMute" -r 2 -u low "Unmuted"
fi

125
eww/scripts/weather Executable file
View file

@ -0,0 +1,125 @@
#!/bin/bash
tmp_weather="$HOME/.cache/weather"
tmp_weather_stat=$tmp_weather/weather-stat
tmp_weather_degree=$tmp_weather/weather-degree
tmp_weather_quote=$tmp_weather/weather-quote
tmp_weather_hex=$tmp_weather/weather-hex
tmp_weather_icon=$tmp_weather/weather-icon
if [ ! -d $tmp_weather ]; then
mkdir -p $tmp_weather
fi
# Put in your api and stuff link here
# If you dunno, head to openweathermap.org, and make and account
#(completely free I swear, and then get your API Key and your City ID)
# I wish I was smart enough to do it like Elena, but this is the top I could do lol
KEY="{your key}"
ID="{your city id}"
UNIT="{metric}" #Options are 'metric' and 'imperial'
weather=$(curl -sf "http://api.openweathermap.org/data/2.5/weather?APPID="$KEY"&id="$ID"&units="$UNIT"")
echo $weather
if [ ! -z "$weather" ]; then
weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
weather_icon_code=$(echo "$weather" | jq -r ".weather[].icon" | head -1)
weather_description=$(echo "$weather" | jq -r ".weather[].description" | head -1 | sed -e "s/\b\(.\)/\u\1/g")
#Big long if statement of doom
if [ "$weather_icon_code" == "50d" ]; then
weather_icon=" "
weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
weather_hex="#84afdb" #a7b8b2
elif [ "$weather_icon_code" == "50n" ]; then
weather_icon=" "
weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
weather_hex="#84afdb"
elif [ "$weather_icon_code" == "01d" ]; then
weather_icon=" "
weather_quote="It's a sunny day, gonna be fun! \nDon't go wandering all by yourself though..."
weather_hex="#ffd86b"
elif [ "$weather_icon_code" == "01n" ]; then
weather_icon=" "
weather_quote="It's a clear night \nYou might want to take a evening stroll to relax..."
weather_hex="#fcdcf6"
elif [ "$weather_icon_code" == "02d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#adadff"
elif [ "$weather_icon_code" == "02n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#adadff"
elif [ "$weather_icon_code" == "03d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#adadff"
elif [ "$weather_icon_code" == "03n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#adadff"
elif [ "$weather_icon_code" == "04d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#adadff"
elif [ "$weather_icon_code" == "04n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#adadff"
elif [ "$weather_icon_code" == "09d" ]; then
weather_icon=" "
weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "09n" ]; then
weather_icon=" "
weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "10d" ]; then
weather_icon=" "
weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "10n" ]; then
weather_icon=" "
weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "11d" ]; then
weather_icon=""
weather_quote="There's storm for forecast today \nMake sure you don't get blown away..."
weather_hex="#ffeb57"
elif [ "$weather_icon_code" == "11n" ]; then
weather_icon=""
weather_quote="There's gonna be storms tonight \nMake sure you're warm in bed and the windows are shut..."
weather_hex="#ffeb57"
elif [ "$weather_icon_code" == "13d" ]; then
weather_icon=" "
weather_quote="It's gonna snow today \nYou'd better wear thick clothes and make a snowman as well!"
weather_hex="#e3e6fc"
elif [ "$weather_icon_code" == "13n" ]; then
weather_icon=" "
weather_quote="It's gonna snow tonight \nMake sure you get up early tomorrow to see the sights..."
weather_hex="#e3e6fc"
elif [ "$weather_icon_code" == "40d" ]; then
weather_icon=" "
weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
weather_hex="#84afdb"
elif [ "$weather_icon_code" == "40n" ]; then
weather_icon=" "
weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
weather_hex="#84afdb"
else
weather_icon=" "
weather_quote="Sort of odd, I don't know what to forecast \nMake sure you have a good time!"
weather_hex="#adadff"
fi
echo "$weather_icon" > $tmp_weather_icon
echo "$weather_description" > $tmp_weather_stat
echo "$weather_temp""°C" > $tmp_weather_degree
echo "$weather_quote" > $tmp_weather_quote
echo "$weather_hex" > $tmp_weather_hex
else
echo "Weather Unavailable" > $tmp_weather_stat
echo " " > $tmp_weather_icon
echo "Ah well, no weather huh? \nEven if there's no weather, it's gonna be a great day!" > $tmp_weather_quote
echo "-" > $tmp_weather_degree
echo "#adadff" > $tmp_weather_hex
fi

9
eww/scripts/weather-trimmer Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
weather=$(cat $HOME/.cache/weather/weather-stat)
weather_count=$(cat $HOME/.cache/weather/weather-stat | wc -c)
if [ "$weather_count" -lt 10 ]; then
echo $weather;
else
echo $(cat $HOME/.cache/weather/weather-stat | cut -c1-6)...
fi

View file

@ -0,0 +1,11 @@
[Filechooser Settings]
LocationMode=path-bar
ShowHidden=false
ShowSizeColumn=true
GeometryX=912
GeometryY=199
GeometryWidth=1008
GeometryHeight=692
SortColumn=name
SortOrder=ascending
StartupMode=recent

View file

@ -2,6 +2,7 @@
# #
#fix the fucking portal #fix the fucking portal
exec-once=systemctl --user import-environment exec-once=systemctl --user import-environment
exec-once=dbus-update-activation-environment --all
# #
# #
@ -76,8 +77,6 @@ misc {
# example window rules # example window rules
# for windows named/classed as abc and xyz # for windows named/classed as abc and xyz
windowrule=tile,^(.*)(Spotify)(.*)$
windowrule=center,^(.*)$
windowrule=opacity 80,^(.*)(dunst)(.*)$ windowrule=opacity 80,^(.*)(dunst)(.*)$
#windowrule=tile,xyz #windowrule=tile,xyz
#windowrule=float,abc #windowrule=float,abc
@ -92,18 +91,21 @@ bind=SUPER,Q,killactive,
bind=SUPER,M,exit, bind=SUPER,M,exit,
bind=SUPER,E,exec,nautilus --new-window bind=SUPER,E,exec,nautilus --new-window
bind=SUPER,V,togglefloating, bind=SUPER,V,togglefloating,
bind=SUPER,R,exec,wofi --show drun -o DP-3 bind=SUPER,R,exec,wofi -I -m -s $HOME/.config/wofi/style.css -t alacritty --show drun -o DP-3
bind=SUPER,C,togglesplit bind=SUPER,C,togglesplit
bind=SUPERSHIFT,L,exec, playerctl -a pause & swaylock -c 000000 & systemctl suspend bind=SUPER,B,fullscreen
bind=,XF86AudioMute,exec,pactl set-sink-mute @DEFAULT_SINK@ toggle bind=SUPERSHIFT,L,exec, playerctl --player=ncspot,firefox -a pause & swaylock -c 000000 & systemctl suspend
bind=,XF86AudioMute,exec, $HOME/.config/eww/scripts/toggle-mute
bind=,XF86AudioLowerVolume,exec, $HOME/.config/eww/scripts/change-volume sink -5% bind=,XF86AudioLowerVolume,exec, $HOME/.config/eww/scripts/change-volume sink -5%
bind=,XF86AudioRaiseVolume,exec, $HOME/.config/eww/scripts/change-volume sink +5% bind=,XF86AudioRaiseVolume,exec, $HOME/.config/eww/scripts/change-volume sink +5%
bind=,XF86AudioPlay,exec, playerctl play-pause bind=,XF86AudioPlay,exec, playerctl --player=ncspot,firefox play-pause
bind=,XF86AudioNext,exec, playerctl next bind=,XF86AudioNext,exec, playerctl --player=ncspot,firefox next
bind=,XF86AudioPrev,exec, playerctl previous bind=,XF86AudioPrev,exec, playerctl --player=ncspot,firefox previous
bind=,XF86MonBrightnessDown,exec, $HOME/.config/eww/scripts/change-brightness brightness 10%- bind=,XF86MonBrightnessDown,exec, $HOME/.config/eww/scripts/change-brightness brightness 10%-
bind=,XF86MonBrightnessUp,exec, $HOME/.config/eww/scripts/change-brightness brightness +10% bind=,XF86MonBrightnessUp,exec, $HOME/.config/eww/scripts/change-brightness brightness +10%
bind=SUPERSHIFTALT,S,exec, grim -o eDP-1 - | swappy -f -
bind=SUPER,D,exec, $HOME/.config/eww/scripts/cockpit_toggle
bind=,Print,exec, grim - | wl-copy
bind=SUPER,bracketleft,movefocus,l bind=SUPER,bracketleft,movefocus,l
bind=SUPER,bracketright,movefocus,r bind=SUPER,bracketright,movefocus,r
@ -126,24 +128,24 @@ bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9 bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10 bind=SUPER,0,workspace,10
bind=ALT,1,movetoworkspace,1 bind=SUPERSHIFT,1,movetoworkspace,1
bind=ALT,2,movetoworkspace,2 bind=SUPERSHIFT,2,movetoworkspace,2
bind=ALT,3,movetoworkspace,3 bind=SUPERSHIFT,3,movetoworkspace,3
bind=ALT,4,movetoworkspace,4 bind=SUPERSHIFT,4,movetoworkspace,4
bind=ALT,5,movetoworkspace,5 bind=SUPERSHIFT,5,movetoworkspace,5
bind=ALT,6,movetoworkspace,6 bind=SUPERSHIFT,6,movetoworkspace,6
bind=ALT,7,movetoworkspace,7 bind=SUPERSHIFT,7,movetoworkspace,7
bind=ALT,8,movetoworkspace,8 bind=SUPERSHIFT,8,movetoworkspace,8
bind=ALT,9,movetoworkspace,9 bind=SUPERSHIFT,9,movetoworkspace,9
bind=ALT,0,movetoworkspace,10 bind=SUPERSHIFT,0,movetoworkspace,10
bind=SUPER,mouse_down,workspace,e+1 bind=SUPER,mouse_down,workspace,e+1
bind=SUPER,mouse_up,workspace,e-1 bind=SUPER,mouse_up,workspace,e-1
bind=SUPER,O,resizeactive,-20 0 binde=SUPER,O,resizeactive,-20 0
bind=SUPER,P,resizeactive,20 0 binde=SUPER,P,resizeactive,20 0
bind=SUPER,K,resizeactive,0 -20 binde=SUPER,K,resizeactive,0 -20
bind=SUPER,L,resizeactive,0 20 binde=SUPER,L,resizeactive,0 20
#autostart programs #autostart programs
#exec=~/Documents/scripts/hyprstart.sh #exec=~/Documents/scripts/hyprstart.sh
@ -151,5 +153,7 @@ bind=SUPER,L,resizeactive,0 20
exec-once=hyprpaper exec-once=hyprpaper
exec-once=eww daemon exec-once=eww daemon
exec-once=eww open bar exec-once=eww open bar
exec-once=element-desktop exec-once=flatpak run chat.schildi.desktop
exec-once=firefox exec-once=firefox
#exec-once=nextcloud
exec-once=alacritty -e ncspot

View file

@ -1,4 +1,4 @@
# wallpaper # wallpaper
preload = /home/dashie/Pictures/backgrounds/birblux.png preload = /home/dashie/Pictures/backgrounds/Monitor3.jpg
wallpaper = eDP-1,/home/dashie/Pictures/backgrounds/birblux.png wallpaper = eDP-1,/home/dashie/Pictures/backgrounds/Monitor3.jpg

View file

@ -1,283 +0,0 @@
// Directories this file can be located, in order:
// 1. Same dir as executable
// 2. Same dir as executable, but 1 step back
// 3. ~/.config/recidia/
// 4. /etc/recidia/
// Notes:
// Pay attention to the number boundary range "[?]-[?]" for each setting
// The GUI and terminal settings are separate besides "shared_settings"
// Key bindings/controls must only be 1 letter/char
// And only settings that have a "Controls" section can have keybindings
// DO NOT CHANGE THE "name" parameter
// Convenient bindings:
// Scroll(mouse) - Adjust "Data Height Cap"
version = "0.4";
gui_settings = (
{
// Hide/Show Settings Menu
name = "Settings Menu";
default = true;
// Controls
toggle_key = "[";
},
{
// Frameless window to remove borders
name = "Frameless";
default = false;
// Controls
toggle_key = "]";
},
{
// Draw X position [-1.0]-[1.0]
name = "Draw X";
default = -1.0;
},
{
// Draw Y position [-1.0]-[1.0]
name = "Draw Y";
default = -1.0;
},
{
// Draw width area size [0.0]-[1.0]
name = "Draw Width";
default = 1.0;
},
{
// Draw height area size [0.0]-[1.0]
name = "Draw Height";
default = 1.0;
},
{
// Minium amount drawn of a plot [0.0]-[1.0]
name = "Min Plot Height";
default = 0.0;
},
{
// Size of the plots/bars width in pixels [1]-[max]
name = "Plot Width";
max = 100;
default = 14;
// Controls
decrease_key = "e";
increase_key = "r";
},
{
// Size of the gap width between plots in pixels [0]-[max]
name = "Gap Width";
max = 100;
default = 6;
// Controls
decrease_key = "d";
increase_key = "f";
},
{
// Mode of how plots are drawn
name = "Draw Mode";
// Mode are "Bars"=0 and "Points"=1
mode = 0;
// Controls
toggle_key = "b";
},
{
// Color of the plots/bars colors [0]-[255]
name = "Main Color";
red = 255;
green = 255;
blue = 255;
alpha = 255;
},
{
// Color of the plain background [0]-[255]
name = "Background Color";
red = 50;
green = 50;
blue = 50;
alpha = 150;
},
{
// Shaders
name = "Shaders";
// Plots Shader files in "/shaders"
main_vertex = "default.vert";
main_frag = "default.frag";
// Modifiers (If in shader code)
main_loop_time = 1500; // Seconds until reset
main_power = 1.0; // [0.0]-[1.0]
// Plots range that effects power setting [0.0]-[1.0]
main_power_mod_range = [0.0, 0.5];
// Background shader files in "/shaders"
back_vertex = "default.vert";
back_frag = "default.frag";
// Modifiers (If in shader code)
back_loop_time = 1500; // Seconds until reset
back_power = 1.0; // [0.0]-[1.0]
// Plots range that effects power setting [0.0]-[1.0]
back_power_mod_range = [0.0, 0.5];
},
);
terminal_settings = (
{
// Size of the plots/bars width by char [1]-[max]
name = "Plot Width";
max = 25;
default = 1;
// Controls
decrease_key = "e";
increase_key = "r";
},
{
// Size of the gap width between plots/bars by char [0]-[max]
name = "Gap Width";
max = 25;
default = 1;
// Controls
decrease_key = "d";
increase_key = "f";
},
{
// Color of the plots/bars colors [0]-[255]
// Use "alpha" to toggle color
name = "Main Color";
red = 255;
green = 255;
blue = 255;
alpha = 0; // 1 or 0
},
{
// Color of the plain background [0]-[255]
// Use "alpha" to toggle color
name = "Background Color";
red = 50;
green = 50;
blue = 50;
alpha = 0; // 1 or 0
},
{
// Characters for drawing plots, ordered from low/empty to high/fill
name = "Plot Chars";
// At least 2 chars in array or recidia will resort to defaults
chars = [" ","▁","▂","▃","▄","▅","▆","▇","█"];
},
);
shared_settings = (
{
// Increasing the cap will lower the plot's height and vice versa [1.0]-[max]
name = "Data Height Cap";
max = 32768.0;
default = 500.0;
// Controls
decrease_key = "t"; // or Mouse wheel up
increase_key = "g"; // or Mouse wheel down
},
{
// Smooths the plots to a curve based on the window_size
name = "SavGol Filter";
// Relative window_size size [0.0]-[1.0]
// The real window size will scale with the amount of plots
// But at a minium the real window size will be poly_order+2
window_size = 0.0;
// NOT CONTROLLABLE, but playable at your own risk
poly_order = 3;
// Controls
decrease_key = "q";
increase_key = "w";
},
{
// Removes the audio/fft jitter by averaging past data of ?x times [0]-[max]
name = "Interpolation";
// note that max will multiply memory usage based on "Audio Buffer Size"'s max
max = 32;
default = 8;
// Controls
decrease_key = "a";
increase_key = "s";
},
{
// The amount of audio data that is collected for fft processing [2^?]-[max]
// The higher the number, the higher the accuracy.
// But that also means less responsiveness because of old data.
// Values MUST be a power of 2
name = "Audio Buffer Size";
max = 16384;
default = 4096;
// Controls
decrease_key = "z";
increase_key = "x";
},
{
// This is the layout or "chart" of the plots using 2 bézier curves
name = "Plot Chart Guide";
// Frequency at the start
start_freq = 0.0;
// Control point of the first bézier curve
start_ctrl = 1.0;
// Frequency at the middle
mid_freq = 1000.0;
// Position of the frequency at the middle [0.0]-[1.0]
mid_pos = 0.66;
// Control point of the second bézier curve
end_ctrl = 1.0;
// Frequency at the end
end_freq = 12000.0
},
{
// The rate of polling for new audio data [1]-[max]
name = "Poll Rate";
max = 100; // ms
default = 10;
// Controls
decrease_key = "j";
increase_key = "u";
},
{
// Frames Per Second Cap
// FPS will not go beyond your refresh rate [1]-[max]
name = "FPS Cap";
max = 1000;
default = 150;
// Controls
decrease_key = "h";
increase_key = "y";
},
{
// Show stats
name = "Stats";
enabled = false;
// Controls
toggle_key = "i";
},
);

View file

@ -1,25 +0,0 @@
#version 450
layout(location = 0) in vec3 inPosition;
layout(location = 1) in vec4 inColor;
layout(location = 0) out vec4 fragColor;
layout(push_constant) uniform PushConstants {
float time;
float power;
} constants;
// Reduced init size of vertex to allow for room to bounce
#define INIT_SIZE 0.75
// Separate power modifier
#define POWER 0.35
void main() {
vec3 pos = inPosition;
pos *= INIT_SIZE;
pos *= 1.0 + (constants.power * POWER);
gl_Position = vec4(pos, 1.0);
fragColor = inColor;
}

View file

@ -1,8 +0,0 @@
#version 450
layout(location = 0) in vec4 fragColor;
layout(location = 0) out vec4 outColor;
void main() {
outColor = fragColor;
}

View file

@ -1,11 +0,0 @@
#version 450
layout(location = 0) in vec3 inPosition;
layout(location = 1) in vec4 inColor;
layout(location = 0) out vec4 fragColor;
void main() {
gl_Position = vec4(inPosition, 1.0);
fragColor = inColor;
}

View file

@ -1,172 +0,0 @@
#version 450
layout(location = 0) in vec4 fragColor;
layout(location = 0) out vec4 outColor;
layout(push_constant) uniform PushConstants {
float time;
float power;
} constants;
#define iterations 12
#define formuparam2 0.79
#define volsteps 7
#define stepsize 0.290
#define zoom 0.75
#define tile 0.850
#define speed2 0.2
#define brightness 0.0015
#define darkmatter 0.010
#define distfading 0.560
#define saturation 0.90
#define transverseSpeed zoom
#define cloud 0.25
float field(in vec3 p) {
float strength = 7. + .03 * log(1.e-6 + fract(sin(constants.time) * 373.11));
float accum = 0.;
float prev = 0.;
float tw = 0.;
for (int i = 0; i < 10; ++i) {
float mag = dot(p, p);
p = abs(p) / mag + vec3(-.5, -.8 + 0.1*sin(-constants.time*0.1 + 2.0), -1.1+0.3*cos(constants.time*0.3));
float w = exp(-float(i) / 7.);
accum += w * exp(-strength * pow(abs(mag - prev), 2.3));
tw += w;
prev = mag;
}
return max(0., 5. * accum / tw - .7);
}
void main() {
vec2 uv2 = 2. * gl_FragCoord.xy / vec2(512) - 1.;
vec2 uvs = uv2 * vec2(512) / 512.;
float time2 = constants.time;
float speed = -speed2;
speed = .005 * cos(time2*0.02 + 3.1415926/4.0);
//speed = 0.0;
float formuparam = formuparam2;
//get coords and direction
vec2 uv = uvs;
//mouse rotation
float a_xz = 0.9;
float a_yz = -.6;
float a_xy = 0.9 + constants.time*0.08;
mat2 rot_xz = mat2(cos(a_xz),sin(a_xz),-sin(a_xz),cos(a_xz));
mat2 rot_yz = mat2(cos(a_yz),sin(a_yz),-sin(a_yz),cos(a_yz));
mat2 rot_xy = mat2(cos(a_xy),sin(a_xy),-sin(a_xy),cos(a_xy));
float v2 =1.0;
vec3 dir=vec3(uv*zoom,1.);
vec3 from=vec3(0.0, 0.0,0.0);
vec3 forward = vec3(0.,0.,1.);
from.x += transverseSpeed*(1.0)*cos(0.01*constants.time) + 0.001*constants.time;
from.y += transverseSpeed*(1.0)*sin(0.01*constants.time) +0.001*constants.time;
from.z += 0.003*constants.time;
dir.xy*=rot_xy;
forward.xy *= rot_xy;
dir.xz*=rot_xz;
forward.xz *= rot_xz;
dir.yz*= rot_yz;
forward.yz *= rot_yz;
from.xy*=-rot_xy;
from.xz*=rot_xz;
from.yz*= rot_yz;
//zoom
float zooom = (time2-3311.)*speed;
from += forward* zooom;
float sampleShift = mod( zooom, stepsize );
float zoffset = -sampleShift;
sampleShift /= stepsize; // make from 0 to 1
//volumetric rendering
float s=0.24;
float s3 = s + stepsize/2.0;
vec3 v=vec3(0.);
float t3 = 0.0;
vec3 backCol2 = vec3(0.);
for (int r=0; r<volsteps; r++) {
vec3 p2=from+(s+zoffset)*dir;// + vec3(0.,0.,zoffset);
vec3 p3=from+(s3+zoffset)*dir;// + vec3(0.,0.,zoffset);
p2 = abs(vec3(tile)-mod(p2,vec3(tile*2.))); // tiling fold
p3 = abs(vec3(tile)-mod(p3,vec3(tile*2.))); // tiling fold
#ifdef cloud
t3 = field(p3);
#endif
float pa,a=pa=0.;
for (int i=0; i<iterations; i++) {
p2=abs(p2)/dot(p2,p2)-formuparam; // the magic formula
//p=abs(p)/max(dot(p,p),0.005)-formuparam; // another interesting way to reduce noise
float D = abs(length(p2)-pa); // absolute sum of average change
a += i > 7 ? min( 12., D) : D;
pa=length(p2);
}
float dm=max(0.,darkmatter-a*a*.001); //dark matter
a*=a*a; // add contrast
//if (r>3) fade*=1.-dm; // dark matter, don't render near
// brightens stuff up a bit
float s1 = s+zoffset;
// need closed form expression for this, now that we shift samples
float fade = pow(distfading,max(0.,float(r)-sampleShift));
//t3 += fade;
v+=fade;
//backCol2 -= fade;
// fade out samples as they approach the camera
if( r == 0 )
fade *= (1. - (sampleShift));
// fade in samples as they approach from the distance
if( r == volsteps-1 )
fade *= sampleShift;
v+=vec3(s1,s1*s1,s1*s1*s1*s1)*a*brightness*fade; // coloring based on distance
backCol2 += mix(.4, 1., v2) * vec3(1.8 * t3 * t3 * t3, 1.4 * t3 * t3, t3) * fade;
s+=stepsize;
s3 += stepsize;
}//фор
v=mix(vec3(length(v)),v,saturation); //color adjust
vec4 forCol2 = vec4(v*.01,1.);
#ifdef cloud
backCol2 *= cloud;
#endif
backCol2.b *= 1.8;
backCol2.r *= 0.05;
backCol2.b = 0.5*mix(backCol2.g, backCol2.b, 0.8);
backCol2.g = 0.0;
backCol2.bg = mix(backCol2.gb, backCol2.bg, 0.5*(cos(constants.time*0.01) + 1.0));
// Mix in input
backCol2 *= vec3(fragColor[0], fragColor[1], fragColor[2]);
outColor = forCol2 + vec4(backCol2, fragColor.a);
}

18
wofi/style.css Normal file
View file

@ -0,0 +1,18 @@
window {
margin: 5px;
background-color: #0f0f17;
border-radius: 10px;
opacity: 0.95;
}
#inner-box {
margin: 5px;
background-color: #0f0f17;
border-radius: 10px;
}
#outer-box {
margin: 5px;
background-color: #0f0f17;
border-radius: 10px;
}