forked from Shinonome/dots-hyprland
188 lines
13 KiB
Plaintext
188 lines
13 KiB
Plaintext
; Const vars
|
|
; I know it looks like a joke but look at the interval
|
|
(defpoll RES_WIDTH :initial 1920 :interval "69h" `xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1`)
|
|
(defpoll RES_HEIGHT :initial 1080 :interval "69h" `xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2`)
|
|
; (defvar RES_WIDTH 1920)
|
|
; (defvar RES_HEIGHT 1080)
|
|
(defvar BAR_HEIGHT 50)
|
|
(defvar GAPS 5)
|
|
(defvar BG_ZOOM 1.2)
|
|
(defvar BG_ROUNDING 18)
|
|
(defvar OVERVIEW_SCALE 0.18)
|
|
(defvar TASKVIEW_SCALE 0.12)
|
|
(defvar weekdays '[{"day":"Mo","today":"0"},{"day":"Tu","today":"0"},{"day":"We","today":"0"},{"day":"Th","today":"0"},{"day":"Fr","today":"0"},{"day":"Sa","today":"0"},{"day":"Su","today":"0"}]')
|
|
(defvar wsnums `[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`)
|
|
(defvar ws-icons '["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]')
|
|
(deflisten ICON_GET `scripts/get_open_icons`)
|
|
(defvar MIN_ROW_HEIGHT 100)
|
|
(defvar WAIFU_TAG_ID `[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]`) ; Note: change $total and $shown in scripts/scroll-waifu too
|
|
(defvar WAIFU_CATEGORIES `["waifu", "maid", "uniform", "nekos.life", "oppai", "ero", "ecchi", "hentai", "paizuri", "selfies", "raiden-shogun", "megumin", "marin-kitagawa", "mori-calliope", "ass", ".pics:waifu", ".pics:waifu segs", ".pics:neko", ".pics:neko segs", "oral"]`)
|
|
(defvar WAIFU_CATEGORIES_ARGS `["waifu", "maid", "uniform", "--neko", "oppai", "ero", "ecchi", "hentai", "paizuri", "selfies", "raiden-shogun", "--pics megumin", "marin-kitagawa", "mori-calliope", "ass", "--pics waifu", "--pics waifu --segs", "--pics neko", "--pics neko --segs", "oral"]`)
|
|
|
|
; (defvar WAIFU_TAG_ID `[0,1,2,3,4,5,6,7,8,9,10]`) ; Note: change $total and $shown in scripts/scroll-waifu too
|
|
; (defvar WAIFU_CATEGORIES `["waifu", "maid", "uniform", "nekos.life", "selfies", "raiden-shogun", "megumin", "marin-kitagawa", "mori-calliope", ".pics:waifu", ".pics:neko"]`)
|
|
; (defvar WAIFU_CATEGORIES_ARGS `["waifu", "maid", "uniform", "--neko", , "selfies", "raiden-shogun", "--pics megumin", "marin-kitagawa", "mori-calliope", "--pics waifu", "--pics neko"]`)
|
|
|
|
(defvar username_default "username")
|
|
(defvar WORKSPACE_SIDE_PAD 15)
|
|
(defvar WIFI_ICONS `["", "", "", "", ""]`) ; Levels 0 1 2 3 4 ; Material icons
|
|
(defvar VOLUME_ICONS `["", "", "", ""]`) ; Levels 0 1 2 3 ; Material icons
|
|
(defvar DYNMODULE_LEFT_PAGES 2)
|
|
(defvar DYNMODULE_RIGHT_PAGES 3)
|
|
(defvar SIDELEFT_FAVOURITE_TITLES `["Favourite settings", "Culture"]`)
|
|
(defvar SCROLL_MULTIPLIER_WAIFUTAGS 36) ; Number of pixels to scroll each mouse scroll
|
|
(defvar SCROLL_TOSHOW_WAIFUTAGS 7) ; Edit scroll-waifu script too. I have to hard code or it'll be very slow
|
|
(defvar SCROLL_MULTIPLIER_SETTINGS 427) ; Number of pixels to scroll each mouse scroll
|
|
(defvar DASHBOARD_SETTINGS_PAGES 4)
|
|
(defvar SUPERCONTEXT_DIAMETER 320)
|
|
(defvar SUPERCONTEXT_RADIUS 160) ; Half of diameter obviously
|
|
(defvar SUPERCONTEXT_DIST_FROM_CENTER 124)
|
|
(defvar SUPERCONTEXT_BUTTON_DIAMETER 88)
|
|
(defvar SUPERCONTEXT_BUTTON_RADIUS 44) ; Half of diameter obviously
|
|
(defvar SUPERCONTEXT_ROTATIONS `[22.5, 67.5, 112.5, 157.5, 202.5]`) ; in degrees, clockwise, starts from 12 o'clock
|
|
|
|
; Const: animation curves
|
|
(defvar ANIM_NAMES `["Material","Fluent"]`)
|
|
(defvar ANIM_ENTER `["transition: 250ms cubic-bezier(0.05,0.7,0.1,1);","transition: 250ms cubic-bezier(0,0,0,1);"]`)
|
|
(defvar ANIM_EXIT `["transition: 180ms cubic-bezier(0.3,0,0.8,0.15);","transition: 180ms cubic-bezier(1,0,1,1);"]`)
|
|
(defvar ANIM_VERYLONG `["transition: 600ms cubic-bezier(0.05,0.7,0.1,1);","transition: 600ms cubic-bezier(0,0,0,1);"]`)
|
|
(defvar anim_set 0) ; Index of main animation set
|
|
|
|
; Vars
|
|
(defvar scroll_offset_waifu 0)
|
|
(defvar bar_offset 0)
|
|
(defvar osd_vol false)
|
|
(defvar osd_bright false)
|
|
(defvar compact false)
|
|
(defvar selected '')
|
|
(defvar overview_hover_name `{"class": "LMB: Focus | MMB: Close | RMB: Select/Move","title":"Powerview","workspace":{"id":0,"name":"0"},"icon": "/usr/share/icons/breeze-dark/actions/16/window.svg", "size": [0,0], "at": [0,0]}`)
|
|
(defvar overview_query "")
|
|
(defvar overview_results "[]")
|
|
(defvar dynamicleft_module_page 1) ; 1-base
|
|
(defvar dynamicright_module_page 1) ; 1-base
|
|
(defvar sideleft_favourite_page 1) ; 1-base
|
|
(defvar calendartitle "")
|
|
(defvar monthshift 0)
|
|
(defvar quote_index 0)
|
|
(defvar rev_waifustatus false)
|
|
(defvar settings_section -1)
|
|
(defvar scroll_offset_settings -1)
|
|
(defvar scrolldir 'a')
|
|
(defvar supercontext_pos_x 960)
|
|
(defvar supercontext_pos_y 540)
|
|
(defvar ws_to_swap 0)
|
|
(defvar ws_to_dump 0)
|
|
(defvar flash_notif false)
|
|
(defvar show_waifu false)
|
|
(defvar waifu_status "")
|
|
|
|
; Open/close/hover state
|
|
(defvar hover_music false)
|
|
(defvar rev_power false)
|
|
(defvar open_overview false)
|
|
(defvar open_powerview false)
|
|
(defvar open_sideleft false)
|
|
(defvar open_sideright false)
|
|
(defvar open_bottomsheet false)
|
|
(defvar pinned_bottomsheet false)
|
|
(defvar open_dashboard 0)
|
|
(defvar rev_session_1 false)
|
|
(defvar rev_session_2 false)
|
|
(defvar rev_session_3 false)
|
|
(defvar open_supercontext 0)
|
|
|
|
; Time
|
|
(defpoll time
|
|
:initial `{"date": "6/9", "hour": "0", "minute": "0", "monthname": "Month", "day": "Not monday", "year": "2077"}`
|
|
:interval "5s"
|
|
`date +'{"date": "%d/%m", "hour": "%H", "minute": "%M", "monthname": "%B", "day": "%A", "year": "%Y"}'`
|
|
)
|
|
(defpoll day_only :interval "1m" "date '+%e' | sed 's/ //g'")
|
|
(defpoll time12 :interval "10s" `date '+%l:%M %^P' | sed 's/am/AM/g' | sed 's/pm/PM/g'`)
|
|
|
|
; Listeners
|
|
(deflisten airplane "scripts/airplane")
|
|
(deflisten battery :initial "{\"bgcolor\":\"transparent\",\"cirbgcolor\":\"transparent\",\"circolor\":\"#ffd9de\",\"color\":\"white\",\"icon\":\"\",\"percentage\":54,\"quickicon\":\"\",\"status\":\"00:06hleft\",\"wattage\":\"11.9W\"}" "scripts/battery")
|
|
(deflisten bluetooth :initial `{"icon": "","batt_icon":"","text":"Bluetooth off"}` "scripts/bluetooth")
|
|
(deflisten brightness :initial `{"level": 38.43,"icon": ""}` "scripts/brightness")
|
|
(deflisten memory :initial `{ "total": "8G", "used": "4G", "free": "4G", "swaptotal": "8G", "swapused": "0M", "swappercentage": 0, "swapfree": "8G", "percentage": 50 }` "scripts/memory")
|
|
(deflisten music :initial `{"artist" :"","length":"00:00","position":"0","position_time":"00:00","status":"","title":"Music"}` "scripts/music")
|
|
(deflisten mcover
|
|
:initial '{"image": "null", "color": {"alpha":"100","colors":{"color0":"null","color1":"null","color10":"null","color11":"null","color12":"null","color13":"null","color14":"null","color15":"null","color2":"null","color3":"null","color4":"null","color5":"null","color6":"null","color7":"null","color8":"null","color9":"null"},"special":{"background":"null","cursor":"null","foreground":"null"},"wallpaper":"~/.config/eww/eww_covers/cover_art","source":""},"materialcolor":{"onPrimary":"null","onPrimaryContainer":"null","onSecondaryContainer":"null","primary":"null","primaryContainer":"null","secondaryContainer":"null"}}'
|
|
"scripts/music cover"
|
|
)
|
|
(deflisten notifications :initial '[]' "scripts/notify-receive | gojq -c -M 'reverse'")
|
|
(deflisten notif_icons :initial `{"icon": "", "paused": false, "toggle_icon": ""}` "scripts/notifications icons")
|
|
(deflisten net :initial `{ "essid": "lo", "icon": "", "level": "0" }` "scripts/net")
|
|
(deflisten volume :initial `{"icon":"","audio":"1","device":"Headphones","percent":"32","microphone":"100"}` "scripts/volume")
|
|
(deflisten workspace :initial `[{"num":"1","clr":"rgba(106,105,105,0.6)"},{"num":"2","clr":"rgba(106,105,105,0.6)"},{"num":"3","clr":"rgba(106,105,105,0.6)"},{"num":"4","clr":"rgba(106,105,105,0.6)"},{"num":"5","clr":"rgba(106,105,105,0.6)"},{"num":"6","clr":"rgba(106,105,105,0.6)"},{"num":"7","clr":"rgba(106,105,105,0.6)"},{"num":"8","clr":"rgba(106,105,105,0.6)"},{"num":"9","clr":"rgba(106,105,105,0.6)"},{"num":"10","clr":"rgba(106,105,105,0.6)"}]` "scripts/workspaces")
|
|
(deflisten hyprjson :initial `{"rounding":15,"gaps_in":4,"gaps_out":4,"border_size":2,"force_no_accel":0,"input_sensitivity":0,"touchpad_disable_while_typing":1,"touchpad_clickfinger_behavior":1,"blur":1,"blur_size":7,"blur_passes":4,"blur_xray":1,"nightlight":false,"dummy":0}` "scripts/hyprsettings")
|
|
(deflisten awin "scripts/activewin")
|
|
(deflisten audiojson :initial "[]" "scripts/audiolevels")
|
|
(deflisten mname :initial "{\"artist\":\"\",\"title\":\"Music\"}" "scripts/music name 999") ; The number is the length limit of the title
|
|
(deflisten mplay "playerctl -F metadata -f '{{status}}'")
|
|
(deflisten wsjsona
|
|
:initial `[[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"1","workspace":{"id":1,"name":"1"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"2","workspace":{"id":2,"name":"2"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"3","workspace":{"id":3,"name":"3"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"4","workspace":{"id":4,"name":"4"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"5","workspace":{"id":5,"name":"5"}}]]`
|
|
"scripts/overview-wrapper1"
|
|
)
|
|
(deflisten wsjsonb
|
|
:initial `[[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"6","workspace":{"id":6,"name":"6"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"7","workspace":{"id":7,"name":"7"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"8","workspace":{"id":8,"name":"8"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"9","workspace":{"id":9,"name":"9"}}],[{"address":"_none","at":[0,0],"class":"workspace","size":[1920,1080],"title":"10","workspace":{"id":10,"name":"10"}}]]`
|
|
"scripts/overview-wrapper2"
|
|
)
|
|
(deflisten activews :initial 1 "scripts/activews")
|
|
(deflisten tasks "scripts/taskbarloop")
|
|
(deflisten todolist :initial "[]" "cat json/todo.json | gojq -c -M")
|
|
(deflisten directories :initial "[]" "cat json/directories.json | gojq -c -M")
|
|
(deflisten websites :initial "[]" "cat json/websites.json | gojq -c -M")
|
|
(deflisten audiodevice `pactl --format=json list sinks | gojq -c -r '.[0]["description"]'`)
|
|
(deflisten cavajson :initial "[[0,0]]" `scripts/cavajson`)
|
|
(deflisten mousepos `scripts/mousetrack`)
|
|
(deflisten taskviewlayout `scripts/taskviewlayout-wrapper`)
|
|
(deflisten lang_ibus :initial "{\"name\":\"English (xkb)\",\"name_abbr\":\"ENG\",\"name_ibus\":\"xkb:us::eng\"}" `scripts/language`)
|
|
(defpoll langs :initial "[]" :interval "5m" `cat json/langs.json | gojq -c -M`)
|
|
(defpoll colormode :interval "5m" "cat scripts/workdir/__mode_colors.txt")
|
|
(defpoll coloraccent :initial "#E22369" :interval "5m" "cat css/_iconcolor.txt | head -1")
|
|
(defpoll mousemode :interval "1m" "lsusb.py -i | grep -i mouse > /dev/null && echo 1 || echo 0")
|
|
|
|
; Fetch stuff
|
|
(defpoll distro :initial "EndeavourOS" :interval "5m" "grep -w NAME /etc/os-release | cut -d\\\" -f2")
|
|
; (defpoll uptime :interval "1m" "uptime -p | sed -e 's/up //;s/ hours,/h/;s/ minutes/m/'")
|
|
(defpoll packages :interval "10m" `pacman -Q | wc -l`)
|
|
(defpoll kernel :interval "69h" `uname -r`)
|
|
(defpoll username :interval "69h" :initial "username" `whoami`)
|
|
(defpoll realname :interval "69h" :initial "username" `awk -F':' -v uid=1000 '$3 == uid { print $5 }' /etc/passwd`)
|
|
(defpoll hostname :interval "69h" :initial "distro" `uname -n`)
|
|
(defpoll wm :interval "69h" :initial "Hyprland" `echo $XDG_CURRENT_DESKTOP`)
|
|
(defpoll diskfreepercent :initial "0" :interval "10m" `echo $(df --output=pcent / | tr -dc '0-9')`)
|
|
(defpoll diskused :interval "10m" `df -h --output=used / | awk 'NR==2{print $1}'`)
|
|
(defpoll diskfree :interval "10m" `df -h --output=avail / | awk 'NR==2{print $1}'`)
|
|
(defpoll disksize :interval "10m" `df -h --output=size / | awk 'NR==2{print $1}'`)
|
|
(deflisten cpuname `cat /proc/cpuinfo | grep 'model name' | awk -F: '{print $2}' | head -n 1`)
|
|
(defpoll waifu :initial `{"path": "eww_covers/waifu", "size": [1080, 1080]}` :interval "5m" `python3 scripts/waifu-get.py waifu`)
|
|
(defpoll calendar :initial "[]" :interval "15m" `eww update monthshift=0 && eww update calendartitle="$(date '+%B %Y')" && scripts/calendarlayout`)
|
|
|
|
|
|
; Quote
|
|
(defvar quote_content `[
|
|
"arch is like rick astley to me\\\nnever gonna let you down",
|
|
"BRO FRANCE BANNED MS OFFICE AND GOOGLE DOCS IN SCHOOLS LMAO L L L L L L L L L L L L L L L L",
|
|
"you have any cool ones?\\\nI'm always open for new wallpapers\\\npreferably anime tiddies ofc but yknow",
|
|
"haha pointers hee hee i love pointe-\\\nProcess Vaxry exited with signal SIGSEGV",
|
|
"doki doki waku waku",
|
|
"that was good enough I guess\\\nI have a penis",
|
|
"...so Nvidia, fuck you",
|
|
"you cant spell circumference without cum",
|
|
"sEX"
|
|
]`)
|
|
(defvar quote_author `[
|
|
"- vaxry-chan",
|
|
"- vaxry",
|
|
"- vaxry",
|
|
"- vaxry",
|
|
"- Hyprland community, 2023",
|
|
"- vaxry",
|
|
"- Linus Torvalds",
|
|
"- vaxer",
|
|
"- vaxer"
|
|
]`)
|