refresh dotfiles
This commit is contained in:
parent
f2684e3cc3
commit
a54e94bbb0
26 changed files with 506 additions and 552 deletions
16
README.md
16
README.md
|
|
@ -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
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
--enable-features=UseOzonePlatform,WaylandWindowDecorations
|
||||
--ozone-platform=wayland
|
||||
147
eww/eww.scss
147
eww/eww.scss
|
|
@ -484,3 +484,150 @@ color: #bfc9db;
|
|||
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;
|
||||
}
|
||||
|
|
|
|||
85
eww/eww.yuck
85
eww/eww.yuck
|
|
@ -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 '%'")
|
||||
|
||||
;; battery definitions ;;
|
||||
(defpoll battery_status :interval "1m" "./scripts/battery stat")
|
||||
(defpoll battery-capacity :interval "1m" "scripts/battery percent")
|
||||
(defpoll battery :interval "1m" "scripts/battery icon")
|
||||
(defpoll battery_status :interval "5s" "./scripts/battery stat")
|
||||
(defpoll battery-capacity :interval "5s" "scripts/battery percent")
|
||||
(defpoll battery :interval "5s" "scripts/battery icon")
|
||||
|
||||
;; memory definitions ;;
|
||||
(defpoll memory :interval "15s" "scripts/memory")
|
||||
|
|
@ -25,11 +25,8 @@
|
|||
(defpoll WLAN_ICON :interval "1m" "~/.config/eww/scripts/wifi --ICON")
|
||||
|
||||
;; music definitions ;;
|
||||
;;(defpoll song :interval "2s" "~/.config/eww/scripts/music_info --song")
|
||||
;;(defpoll song_artist :interval "2s" "~/.config/eww/scripts/music_info --artist")
|
||||
;;(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")
|
||||
(defpoll Song_info :interval "2s" "scripts/music_control")
|
||||
(defpoll Thumbnail :interval "2s" "scripts/music_control2")
|
||||
|
||||
;; current window ;;
|
||||
;;(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_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 ;;
|
||||
(defvar eww "$HOME/.local/bin/eww -c $HOME/.config/eww")
|
||||
|
|
@ -327,6 +332,56 @@
|
|||
:show_truncated 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? ;;
|
||||
(defwidget left []
|
||||
(box :orientation "h"
|
||||
|
|
@ -423,7 +478,19 @@
|
|||
:width "99%"
|
||||
:height "20px"
|
||||
:anchor "top center")
|
||||
:stacking "fg"
|
||||
:stacking "bg"
|
||||
:wm-ignore false
|
||||
:exclusive true
|
||||
(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
31
eww/scripts/audio_devices
Executable 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
8
eww/scripts/cockpit_toggle
Executable 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
5
eww/scripts/firefox_control.sh
Executable 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
2
eww/scripts/getwethquote
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
echo -e $(cat $HOME/.cache/weather/weather-quote) | head -n1
|
||||
2
eww/scripts/getwethquote2
Executable file
2
eww/scripts/getwethquote2
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
echo -e $(cat $HOME/.cache/weather/weather-quote) | tail -n1
|
||||
2
eww/scripts/music_control
Executable file
2
eww/scripts/music_control
Executable 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
3
eww/scripts/music_control2
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
echo $(playerctl -p ncspot,%any metadata mpris:artUrl)
|
||||
|
||||
5
eww/scripts/ncspot_control.sh
Executable file
5
eww/scripts/ncspot_control.sh
Executable 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
10
eww/scripts/spotifyd
Executable 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
10
eww/scripts/spotifyd.sh
Executable 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
12
eww/scripts/toggle-mute
Executable 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
125
eww/scripts/weather
Executable 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
9
eww/scripts/weather-trimmer
Executable 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
|
||||
11
gtk-2.0/gtkfilechooser.ini
Normal file
11
gtk-2.0/gtkfilechooser.ini
Normal 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
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
#
|
||||
#fix the fucking portal
|
||||
exec-once=systemctl --user import-environment
|
||||
exec-once=dbus-update-activation-environment --all
|
||||
#
|
||||
#
|
||||
|
||||
|
|
@ -76,8 +77,6 @@ misc {
|
|||
|
||||
# example window rules
|
||||
# for windows named/classed as abc and xyz
|
||||
windowrule=tile,^(.*)(Spotify)(.*)$
|
||||
windowrule=center,^(.*)$
|
||||
windowrule=opacity 80,^(.*)(dunst)(.*)$
|
||||
#windowrule=tile,xyz
|
||||
#windowrule=float,abc
|
||||
|
|
@ -92,18 +91,21 @@ bind=SUPER,Q,killactive,
|
|||
bind=SUPER,M,exit,
|
||||
bind=SUPER,E,exec,nautilus --new-window
|
||||
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=SUPERSHIFT,L,exec, playerctl -a pause & swaylock -c 000000 & systemctl suspend
|
||||
bind=,XF86AudioMute,exec,pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bind=SUPER,B,fullscreen
|
||||
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=,XF86AudioRaiseVolume,exec, $HOME/.config/eww/scripts/change-volume sink +5%
|
||||
bind=,XF86AudioPlay,exec, playerctl play-pause
|
||||
bind=,XF86AudioNext,exec, playerctl next
|
||||
bind=,XF86AudioPrev,exec, playerctl previous
|
||||
bind=,XF86AudioPlay,exec, playerctl --player=ncspot,firefox play-pause
|
||||
bind=,XF86AudioNext,exec, playerctl --player=ncspot,firefox next
|
||||
bind=,XF86AudioPrev,exec, playerctl --player=ncspot,firefox previous
|
||||
bind=,XF86MonBrightnessDown,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,bracketright,movefocus,r
|
||||
|
|
@ -126,24 +128,24 @@ bind=SUPER,8,workspace,8
|
|||
bind=SUPER,9,workspace,9
|
||||
bind=SUPER,0,workspace,10
|
||||
|
||||
bind=ALT,1,movetoworkspace,1
|
||||
bind=ALT,2,movetoworkspace,2
|
||||
bind=ALT,3,movetoworkspace,3
|
||||
bind=ALT,4,movetoworkspace,4
|
||||
bind=ALT,5,movetoworkspace,5
|
||||
bind=ALT,6,movetoworkspace,6
|
||||
bind=ALT,7,movetoworkspace,7
|
||||
bind=ALT,8,movetoworkspace,8
|
||||
bind=ALT,9,movetoworkspace,9
|
||||
bind=ALT,0,movetoworkspace,10
|
||||
bind=SUPERSHIFT,1,movetoworkspace,1
|
||||
bind=SUPERSHIFT,2,movetoworkspace,2
|
||||
bind=SUPERSHIFT,3,movetoworkspace,3
|
||||
bind=SUPERSHIFT,4,movetoworkspace,4
|
||||
bind=SUPERSHIFT,5,movetoworkspace,5
|
||||
bind=SUPERSHIFT,6,movetoworkspace,6
|
||||
bind=SUPERSHIFT,7,movetoworkspace,7
|
||||
bind=SUPERSHIFT,8,movetoworkspace,8
|
||||
bind=SUPERSHIFT,9,movetoworkspace,9
|
||||
bind=SUPERSHIFT,0,movetoworkspace,10
|
||||
|
||||
bind=SUPER,mouse_down,workspace,e+1
|
||||
bind=SUPER,mouse_up,workspace,e-1
|
||||
|
||||
bind=SUPER,O,resizeactive,-20 0
|
||||
bind=SUPER,P,resizeactive,20 0
|
||||
bind=SUPER,K,resizeactive,0 -20
|
||||
bind=SUPER,L,resizeactive,0 20
|
||||
binde=SUPER,O,resizeactive,-20 0
|
||||
binde=SUPER,P,resizeactive,20 0
|
||||
binde=SUPER,K,resizeactive,0 -20
|
||||
binde=SUPER,L,resizeactive,0 20
|
||||
|
||||
#autostart programs
|
||||
#exec=~/Documents/scripts/hyprstart.sh
|
||||
|
|
@ -151,5 +153,7 @@ bind=SUPER,L,resizeactive,0 20
|
|||
exec-once=hyprpaper
|
||||
exec-once=eww daemon
|
||||
exec-once=eww open bar
|
||||
exec-once=element-desktop
|
||||
exec-once=flatpak run chat.schildi.desktop
|
||||
exec-once=firefox
|
||||
#exec-once=nextcloud
|
||||
exec-once=alacritty -e ncspot
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
# wallpaper
|
||||
preload = /home/dashie/Pictures/backgrounds/birblux.png
|
||||
wallpaper = eDP-1,/home/dashie/Pictures/backgrounds/birblux.png
|
||||
preload = /home/dashie/Pictures/backgrounds/Monitor3.jpg
|
||||
wallpaper = eDP-1,/home/dashie/Pictures/backgrounds/Monitor3.jpg
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
},
|
||||
);
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
#version 450
|
||||
|
||||
layout(location = 0) in vec4 fragColor;
|
||||
layout(location = 0) out vec4 outColor;
|
||||
|
||||
void main() {
|
||||
outColor = fragColor;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
18
wofi/style.css
Normal 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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue