#!/usr/bin/env -S guile -s !# (use-modules (ice-9 rdelim) (ice-9 string-fun)) (define hypr-sig (getenv "HYPRLAND_INSTANCE_SIGNATURE")) (define sock (socket 1 1 0)) (connect sock AF_UNIX (string-concatenate `("/tmp/hypr/" ,hypr-sig "/.socket.sock"))) (define get-zoom-cmd "/getoption misc:cursor_zoom_factor") (define (send msg) (display msg sock)) (define (set-zoom amount) (send (string-concatenate `("/keyword misc:cursor_zoom_factor " ,(number->string amount))))) (send get-zoom-cmd) (define zoom (do ((line (read-line sock) (read-line sock))) ((eof-object? line)) (when (string-contains line "float") (+ (string->number (string-trim (string-replace-substring line "float: " " "))) 0.1)))) (display zoom) (do ((line (read-line sock) (read-line sock))) ((eof-object? line)) (display line) (newline)) (close sock)