Improve Hyprland tooling and ignore Jellyfin secrets
This commit is contained in:
@@ -78,13 +78,10 @@ bind = $mainMod, A, exec, $nothide
|
|||||||
bind = $mainMod SHIFT, A, exec, $notclose
|
bind = $mainMod SHIFT, A, exec, $notclose
|
||||||
bind = $mainMod CTRL, A, exec, $notcloseall
|
bind = $mainMod CTRL, A, exec, $notcloseall
|
||||||
|
|
||||||
# Screenshot
|
# Screenshot & picking
|
||||||
#bind = ALT SHIFT, 3, exec, GRIMBLAST_EDITOR="satty -f" grimblast --notify edit output
|
bind = ALT SHIFT, 3, exec, ~/.config/hypr/scripts/hyprshot-wrapper.sh output active
|
||||||
#bind = ALT SHIFT, 4, exec, GRIMBLAST_EDITOR="satty -f" grimblast --notify edit area
|
bind = ALT SHIFT, 4, exec, ~/.config/hypr/scripts/hyprshot-wrapper.sh region
|
||||||
|
bind = ALT SHIFT, C, exec, hyprpicker --autocopy --format=hex
|
||||||
#testing stuff
|
|
||||||
bind = ALT SHIFT, 3, exec, GRIMBLAST_EDITOR="/home/cnachtigall/data/git/clone/Satty/target/debug/satty -f" grimblast --notify edit output
|
|
||||||
bind = ALT SHIFT, 4, exec, GRIMBLAST_EDITOR="/home/cnachtigall/data/git/clone/Satty/target/debug/satty -f" grimblast --notify edit area
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
# Move focus with mainMod + arrow keys
|
||||||
bind = $mainMod, left, movefocus, l
|
bind = $mainMod, left, movefocus, l
|
||||||
@@ -140,6 +137,11 @@ bindl = , XF86AudioNext, exec, playerctl next
|
|||||||
|
|
||||||
# SwayOSD
|
# SwayOSD
|
||||||
# Sink volume change
|
# Sink volume change
|
||||||
|
|
||||||
|
# Hyprshade
|
||||||
|
bind = $mainMod, F6, exec, bash -lc 'command -v hyprshade >/dev/null && hyprshade toggle dim'
|
||||||
|
bind = $mainMod, F7, exec, bash -lc 'command -v hyprshade >/dev/null && hyprshade toggle reading'
|
||||||
|
|
||||||
bindel = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
|
bindel = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
|
||||||
bindel = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
|
bindel = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
|
||||||
# Sink volume toggle mute
|
# Sink volume toggle mute
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
# ~/.config/hypr/conf.d/50-autostart.conf
|
# ~/.config/hypr/conf.d/50-autostart.conf
|
||||||
|
|
||||||
exec-once = dbus-update-activation-environment --all
|
exec-once = dbus-update-activation-environment --all
|
||||||
exec-once = uwsm app -- polkit-gnome-authentication-agent-1
|
exec-once = uwsm app -- /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
exec-once = uwsm app -- swaync
|
exec-once = uwsm app -- swaync
|
||||||
exec-once = uwsm app -- waybar
|
exec-once = uwsm app -- waybar
|
||||||
exec-once = uwsm app -- xdg-desktop-portal-hyprland
|
exec-once = uwsm app -- /usr/lib/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland
|
||||||
exec-once = xsettingsd
|
exec-once = xsettingsd
|
||||||
exec-once = ~/.config/waybar/scripts/hyprsunset_daemon.sh
|
exec-once = ~/.config/waybar/scripts/hyprsunset_daemon.sh
|
||||||
|
|
||||||
|
@@ -6,6 +6,13 @@ general {
|
|||||||
after_sleep_cmd = hyprctl dispatch dpms on
|
after_sleep_cmd = hyprctl dispatch dpms on
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Pre-lock dimming
|
||||||
|
listener {
|
||||||
|
timeout = 480
|
||||||
|
on-timeout = bash -lc 'command -v hyprshade >/dev/null && hyprshade on dim'
|
||||||
|
on-resume = bash -lc 'command -v hyprshade >/dev/null && hyprshade off dim'
|
||||||
|
}
|
||||||
|
|
||||||
# Lock after 10 minutes
|
# Lock after 10 minutes
|
||||||
listener {
|
listener {
|
||||||
timeout = 600
|
timeout = 600
|
||||||
|
38
.config/hypr/scripts/hyprshot-wrapper.sh
Executable file
38
.config/hypr/scripts/hyprshot-wrapper.sh
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
if [[ $# -eq 0 ]]; then
|
||||||
|
echo "Usage: hyprshot-wrapper.sh MODE [MODE ...]" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
modes=()
|
||||||
|
for mode in "$@"; do
|
||||||
|
modes+=("-m" "$mode")
|
||||||
|
done
|
||||||
|
|
||||||
|
screens_dir="${XDG_PICTURES_DIR:-$HOME/Pictures}/Screenshots"
|
||||||
|
mkdir -p "$screens_dir"
|
||||||
|
|
||||||
|
stamp=$(date +'%Y-%m-%d_%H-%M-%S')
|
||||||
|
filename="Screenshot_${stamp}.png"
|
||||||
|
filepath="$screens_dir/$filename"
|
||||||
|
|
||||||
|
if ! hyprshot --freeze "${modes[@]}" --output-folder "$screens_dir" --filename "$filename"; then
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "$filepath" ]]; then
|
||||||
|
if command -v wl-copy >/dev/null 2>&1; then
|
||||||
|
wl-copy < "$filepath" || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
satty_bin="${SATTY_BIN:-$HOME/data/git/clone/Satty/target/debug/satty}"
|
||||||
|
if [[ -x "$satty_bin" ]]; then
|
||||||
|
if command -v uwsm >/dev/null 2>&1; then
|
||||||
|
uwsm app -- "$satty_bin" -f "$filepath" &
|
||||||
|
else
|
||||||
|
"$satty_bin" -f "$filepath" &
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
@@ -1,114 +0,0 @@
|
|||||||
{
|
|
||||||
"allow_transcode_to_h265": true,
|
|
||||||
"always_transcode": false,
|
|
||||||
"audio_output": "hdmi",
|
|
||||||
"auto_play": false,
|
|
||||||
"check_updates": true,
|
|
||||||
"client_uuid": "a39904c0-f818-41d4-ab53-d72cb01bee16",
|
|
||||||
"connect_retry_mins": 0,
|
|
||||||
"direct_paths": false,
|
|
||||||
"discord_presence": false,
|
|
||||||
"display_mirroring": false,
|
|
||||||
"enable_gui": true,
|
|
||||||
"enable_osc": true,
|
|
||||||
"force_audio_codec": null,
|
|
||||||
"force_set_played": false,
|
|
||||||
"force_video_codec": "['av1', 'h265', 'h264']",
|
|
||||||
"fullscreen": true,
|
|
||||||
"health_check_interval": 300,
|
|
||||||
"idle_cmd": null,
|
|
||||||
"idle_cmd_delay": 60,
|
|
||||||
"idle_ended_cmd": null,
|
|
||||||
"idle_when_paused": false,
|
|
||||||
"ignore_ssl_cert": false,
|
|
||||||
"kb_debug": "~",
|
|
||||||
"kb_fullscreen": "f",
|
|
||||||
"kb_kill_shader": "k",
|
|
||||||
"kb_menu": "c",
|
|
||||||
"kb_menu_down": "down",
|
|
||||||
"kb_menu_esc": "esc",
|
|
||||||
"kb_menu_left": "left",
|
|
||||||
"kb_menu_ok": "enter",
|
|
||||||
"kb_menu_right": "right",
|
|
||||||
"kb_menu_up": "up",
|
|
||||||
"kb_next": ">",
|
|
||||||
"kb_pause": "space",
|
|
||||||
"kb_prev": "<",
|
|
||||||
"kb_stop": "q",
|
|
||||||
"kb_unwatched": "u",
|
|
||||||
"kb_watched": "w",
|
|
||||||
"lang": null,
|
|
||||||
"lang_filter": "und,eng,jpn,mis,mul,zxx",
|
|
||||||
"lang_filter_audio": false,
|
|
||||||
"lang_filter_sub": false,
|
|
||||||
"local_kbps": 2147483,
|
|
||||||
"log_decisions": false,
|
|
||||||
"media_ended_cmd": null,
|
|
||||||
"media_key_seek": false,
|
|
||||||
"media_keys": true,
|
|
||||||
"menu_mouse": true,
|
|
||||||
"mpv_ext": false,
|
|
||||||
"mpv_ext_ipc": null,
|
|
||||||
"mpv_ext_no_ovr": false,
|
|
||||||
"mpv_ext_path": null,
|
|
||||||
"mpv_ext_start": true,
|
|
||||||
"mpv_log_level": "info",
|
|
||||||
"notify_updates": true,
|
|
||||||
"play_cmd": null,
|
|
||||||
"playback_timeout": 30,
|
|
||||||
"player_name": "cn-arch",
|
|
||||||
"pre_media_cmd": null,
|
|
||||||
"prefer_transcode_to_h265": true,
|
|
||||||
"raise_mpv": true,
|
|
||||||
"remote_direct_paths": false,
|
|
||||||
"remote_kbps": 25000,
|
|
||||||
"sanitize_output": true,
|
|
||||||
"screenshot_dir": null,
|
|
||||||
"screenshot_menu": true,
|
|
||||||
"seek_down": -60,
|
|
||||||
"seek_h_exact": false,
|
|
||||||
"seek_left": -5,
|
|
||||||
"seek_right": 5,
|
|
||||||
"seek_up": 60,
|
|
||||||
"seek_v_exact": false,
|
|
||||||
"shader_pack_custom": false,
|
|
||||||
"shader_pack_enable": true,
|
|
||||||
"shader_pack_profile": null,
|
|
||||||
"shader_pack_remember": true,
|
|
||||||
"shader_pack_subtype": "lq",
|
|
||||||
"skip_credits_always": false,
|
|
||||||
"skip_credits_enable": true,
|
|
||||||
"skip_intro_always": true,
|
|
||||||
"skip_intro_enable": true,
|
|
||||||
"stop_cmd": null,
|
|
||||||
"stop_idle": false,
|
|
||||||
"subtitle_color": "#FFFFFFFF",
|
|
||||||
"subtitle_position": "bottom",
|
|
||||||
"subtitle_size": 100,
|
|
||||||
"svp_enable": false,
|
|
||||||
"svp_socket": null,
|
|
||||||
"svp_url": "http://127.0.0.1:9901/",
|
|
||||||
"sync_attempts": 5,
|
|
||||||
"sync_max_delay_skip": 300,
|
|
||||||
"sync_max_delay_speed": 50,
|
|
||||||
"sync_method_thresh": 2000,
|
|
||||||
"sync_osd_message": true,
|
|
||||||
"sync_revert_seek": true,
|
|
||||||
"sync_speed_attempts": 3,
|
|
||||||
"sync_speed_time": 1000,
|
|
||||||
"thumbnail_enable": true,
|
|
||||||
"thumbnail_osc_builtin": true,
|
|
||||||
"thumbnail_preferred_size": 320,
|
|
||||||
"tls_client_cert": null,
|
|
||||||
"tls_client_key": null,
|
|
||||||
"tls_server_ca": null,
|
|
||||||
"transcode_4k": false,
|
|
||||||
"transcode_av1": false,
|
|
||||||
"transcode_dolby_vision": true,
|
|
||||||
"transcode_hdr": true,
|
|
||||||
"transcode_hevc": false,
|
|
||||||
"transcode_hi10p": false,
|
|
||||||
"transcode_warning": true,
|
|
||||||
"use_web_seek": false,
|
|
||||||
"write_logs": false
|
|
||||||
}
|
|
@@ -1 +0,0 @@
|
|||||||
[{"address": "https://j.someho.me", "Name": "IdleJelly", "Id": "cef99817a4124734937e2fb674ce2065", "Version": "10.10.7", "DateLastAccessed": "2025-05-10T01:31:14Z", "UserId": "0eb92b7cdbeb489b9ea54be1757579b8", "AccessToken": "1ebec612c3a64a61889fc4926a057cfd", "Users": [{"Id": "0eb92b7cdbeb489b9ea54be1757579b8", "IsSignedInOffline": true}], "uuid": "72aeed57-a0eb-4cf3-bf1f-3601b70036ce", "username": "vikingowl", "connected": true}]
|
|
8
.config/waybar/.idea/.gitignore
generated
vendored
Normal file
8
.config/waybar/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
434
.config/waybar/.idea/dbnavigator.xml
generated
Normal file
434
.config/waybar/.idea/dbnavigator.xml
generated
Normal file
@@ -0,0 +1,434 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DBNavigator.Project.DatabaseAssistantManager">
|
||||||
|
<assistants />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||||
|
<open-files />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.Settings">
|
||||||
|
<connections />
|
||||||
|
<browser-settings>
|
||||||
|
<general>
|
||||||
|
<display-mode value="TABBED" />
|
||||||
|
<navigation-history-size value="100" />
|
||||||
|
<show-object-details value="false" />
|
||||||
|
<enable-sticky-paths value="true" />
|
||||||
|
<enable-quick-filters value="false" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<object-type-filter>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="true" />
|
||||||
|
<object-type name="ROLE" enabled="true" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="true" />
|
||||||
|
<object-type name="CHARSET" enabled="true" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="JSON_VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||||
|
<object-type name="NESTED_TABLE" enabled="true" />
|
||||||
|
<object-type name="COLUMN" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="true" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||||
|
<object-type name="ARGUMENT" enabled="true" />
|
||||||
|
<object-type name="JAVA_CLASS" enabled="true" />
|
||||||
|
<object-type name="JAVA_FIELD" enabled="true" />
|
||||||
|
<object-type name="JAVA_METHOD" enabled="true" />
|
||||||
|
<object-type name="JAVA_RESOURCE" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="true" />
|
||||||
|
<object-type name="CLUSTER" enabled="true" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
<object-type name="CREDENTIAL" enabled="true" />
|
||||||
|
<object-type name="AI_PROFILE" enabled="true" />
|
||||||
|
</object-type-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting>
|
||||||
|
<object-type name="COLUMN" sorting-type="NAME" />
|
||||||
|
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||||
|
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||||
|
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||||
|
<object-type name="TYPE ATTRIBUTE" sorting-type="POSITION" />
|
||||||
|
</sorting>
|
||||||
|
<default-editors>
|
||||||
|
<object-type name="VIEW" editor-type="SELECTION" />
|
||||||
|
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||||
|
<object-type name="TYPE" editor-type="SELECTION" />
|
||||||
|
</default-editors>
|
||||||
|
</browser-settings>
|
||||||
|
<navigation-settings>
|
||||||
|
<lookup-filters>
|
||||||
|
<lookup-objects>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="false" />
|
||||||
|
<object-type name="ROLE" enabled="false" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="false" />
|
||||||
|
<object-type name="CHARSET" enabled="false" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="JSON VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="false" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="JAVA CLASS" enabled="true" />
|
||||||
|
<object-type name="INNER CLASS" enabled="true" />
|
||||||
|
<object-type name="JAVA FIELD" enabled="true" />
|
||||||
|
<object-type name="JAVA METHOD" enabled="true" />
|
||||||
|
<object-type name="JAVA PARAMETER" enabled="true" />
|
||||||
|
<object-type name="JAVA RESOURCE" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="false" />
|
||||||
|
<object-type name="CLUSTER" enabled="false" />
|
||||||
|
<object-type name="DBLINK" enabled="false" />
|
||||||
|
<object-type name="CREDENTIAL" enabled="false" />
|
||||||
|
</lookup-objects>
|
||||||
|
<force-database-load value="false" />
|
||||||
|
<prompt-connection-selection value="true" />
|
||||||
|
<prompt-schema-selection value="true" />
|
||||||
|
</lookup-filters>
|
||||||
|
</navigation-settings>
|
||||||
|
<dataset-grid-settings>
|
||||||
|
<general>
|
||||||
|
<enable-zooming value="true" />
|
||||||
|
<enable-column-tooltip value="true" />
|
||||||
|
</general>
|
||||||
|
<sorting>
|
||||||
|
<nulls-first value="true" />
|
||||||
|
<max-sorting-columns value="4" />
|
||||||
|
</sorting>
|
||||||
|
<audit-columns>
|
||||||
|
<column-names value="" />
|
||||||
|
<visible value="true" />
|
||||||
|
<editable value="false" />
|
||||||
|
</audit-columns>
|
||||||
|
</dataset-grid-settings>
|
||||||
|
<dataset-editor-settings>
|
||||||
|
<text-editor-popup>
|
||||||
|
<active value="false" />
|
||||||
|
<active-if-empty value="false" />
|
||||||
|
<data-length-threshold value="100" />
|
||||||
|
<popup-delay value="1000" />
|
||||||
|
</text-editor-popup>
|
||||||
|
<values-actions-popup>
|
||||||
|
<show-popup-button value="true" />
|
||||||
|
<element-count-threshold value="1000" />
|
||||||
|
<data-length-threshold value="250" />
|
||||||
|
</values-actions-popup>
|
||||||
|
<general>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<fetch-timeout value="30" />
|
||||||
|
<trim-whitespaces value="true" />
|
||||||
|
<convert-empty-strings-to-null value="true" />
|
||||||
|
<select-content-on-cell-edit value="true" />
|
||||||
|
<large-value-preview-active value="true" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<prompt-filter-dialog value="true" />
|
||||||
|
<default-filter-type value="BASIC" />
|
||||||
|
</filters>
|
||||||
|
<qualified-text-editor text-length-threshold="300">
|
||||||
|
<content-types>
|
||||||
|
<content-type name="Text" enabled="true" />
|
||||||
|
<content-type name="Properties" enabled="true" />
|
||||||
|
<content-type name="XML" enabled="true" />
|
||||||
|
<content-type name="DTD" enabled="true" />
|
||||||
|
<content-type name="HTML" enabled="true" />
|
||||||
|
<content-type name="XHTML" enabled="true" />
|
||||||
|
<content-type name="CSS" enabled="true" />
|
||||||
|
<content-type name="SQL" enabled="true" />
|
||||||
|
<content-type name="PL/SQL" enabled="true" />
|
||||||
|
<content-type name="JavaScript" enabled="true" />
|
||||||
|
<content-type name="JSON" enabled="true" />
|
||||||
|
<content-type name="JSON5" enabled="true" />
|
||||||
|
<content-type name="YAML" enabled="true" />
|
||||||
|
</content-types>
|
||||||
|
</qualified-text-editor>
|
||||||
|
<record-navigation>
|
||||||
|
<navigation-target value="VIEWER" />
|
||||||
|
</record-navigation>
|
||||||
|
</dataset-editor-settings>
|
||||||
|
<code-editor-settings>
|
||||||
|
<general>
|
||||||
|
<show-object-navigation-gutter value="false" />
|
||||||
|
<show-spec-declaration-navigation-gutter value="true" />
|
||||||
|
<enable-spellchecking value="true" />
|
||||||
|
<enable-reference-spellchecking value="false" />
|
||||||
|
</general>
|
||||||
|
<confirmations>
|
||||||
|
<save-changes value="false" />
|
||||||
|
<revert-changes value="true" />
|
||||||
|
<exit-on-changes value="ASK" />
|
||||||
|
</confirmations>
|
||||||
|
</code-editor-settings>
|
||||||
|
<code-completion-settings>
|
||||||
|
<filters>
|
||||||
|
<basic-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="json view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="json view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="json view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</basic-filter>
|
||||||
|
<extended-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="json view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="json view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="json view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</extended-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting enabled="true">
|
||||||
|
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||||
|
<sorting-element type="OBJECT" id="column" />
|
||||||
|
<sorting-element type="OBJECT" id="table" />
|
||||||
|
<sorting-element type="OBJECT" id="view" />
|
||||||
|
<sorting-element type="OBJECT" id="json view" />
|
||||||
|
<sorting-element type="OBJECT" id="materialized view" />
|
||||||
|
<sorting-element type="OBJECT" id="index" />
|
||||||
|
<sorting-element type="OBJECT" id="constraint" />
|
||||||
|
<sorting-element type="OBJECT" id="trigger" />
|
||||||
|
<sorting-element type="OBJECT" id="synonym" />
|
||||||
|
<sorting-element type="OBJECT" id="sequence" />
|
||||||
|
<sorting-element type="OBJECT" id="procedure" />
|
||||||
|
<sorting-element type="OBJECT" id="function" />
|
||||||
|
<sorting-element type="OBJECT" id="package" />
|
||||||
|
<sorting-element type="OBJECT" id="type" />
|
||||||
|
<sorting-element type="OBJECT" id="dimension" />
|
||||||
|
<sorting-element type="OBJECT" id="cluster" />
|
||||||
|
<sorting-element type="OBJECT" id="dblink" />
|
||||||
|
<sorting-element type="OBJECT" id="schema" />
|
||||||
|
<sorting-element type="OBJECT" id="role" />
|
||||||
|
<sorting-element type="OBJECT" id="user" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="function" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||||
|
</sorting>
|
||||||
|
<format>
|
||||||
|
<enforce-code-style-case value="true" />
|
||||||
|
</format>
|
||||||
|
</code-completion-settings>
|
||||||
|
<execution-engine-settings>
|
||||||
|
<statement-execution>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<execution-timeout value="20" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<focus-result value="false" />
|
||||||
|
<prompt-execution value="false" />
|
||||||
|
</statement-execution>
|
||||||
|
<script-execution>
|
||||||
|
<command-line-interfaces />
|
||||||
|
<execution-timeout value="300" />
|
||||||
|
</script-execution>
|
||||||
|
<method-execution>
|
||||||
|
<execution-timeout value="30" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<parameter-history-size value="10" />
|
||||||
|
</method-execution>
|
||||||
|
</execution-engine-settings>
|
||||||
|
<operation-settings>
|
||||||
|
<transactions>
|
||||||
|
<uncommitted-changes>
|
||||||
|
<on-project-close value="ASK" />
|
||||||
|
<on-disconnect value="ASK" />
|
||||||
|
<on-autocommit-toggle value="ASK" />
|
||||||
|
</uncommitted-changes>
|
||||||
|
<multiple-uncommitted-changes>
|
||||||
|
<on-commit value="ASK" />
|
||||||
|
<on-rollback value="ASK" />
|
||||||
|
</multiple-uncommitted-changes>
|
||||||
|
</transactions>
|
||||||
|
<session-browser>
|
||||||
|
<disconnect-session value="ASK" />
|
||||||
|
<kill-session value="ASK" />
|
||||||
|
<reload-on-filter-change value="false" />
|
||||||
|
</session-browser>
|
||||||
|
<compiler>
|
||||||
|
<compile-type value="KEEP" />
|
||||||
|
<compile-dependencies value="ASK" />
|
||||||
|
<always-show-controls value="false" />
|
||||||
|
</compiler>
|
||||||
|
</operation-settings>
|
||||||
|
<ddl-file-settings>
|
||||||
|
<extensions>
|
||||||
|
<mapping file-type-id="VIEW" extensions="vw" />
|
||||||
|
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||||
|
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||||
|
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||||
|
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||||
|
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||||
|
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||||
|
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||||
|
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||||
|
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||||
|
<mapping file-type-id="JAVA_SOURCE" extensions="sql" />
|
||||||
|
</extensions>
|
||||||
|
<general>
|
||||||
|
<lookup-ddl-files value="true" />
|
||||||
|
<create-ddl-files value="false" />
|
||||||
|
<synchronize-ddl-files value="true" />
|
||||||
|
<use-qualified-names value="false" />
|
||||||
|
<make-scripts-rerunnable value="true" />
|
||||||
|
</general>
|
||||||
|
</ddl-file-settings>
|
||||||
|
<assistant-settings>
|
||||||
|
<credential-settings>
|
||||||
|
<credentials />
|
||||||
|
</credential-settings>
|
||||||
|
</assistant-settings>
|
||||||
|
<general-settings>
|
||||||
|
<regional-settings>
|
||||||
|
<date-format value="MEDIUM" />
|
||||||
|
<number-format value="UNGROUPED" />
|
||||||
|
<locale value="SYSTEM_DEFAULT" />
|
||||||
|
<use-custom-formats value="false" />
|
||||||
|
</regional-settings>
|
||||||
|
<environment>
|
||||||
|
<environment-types>
|
||||||
|
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||||
|
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||||
|
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||||
|
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||||
|
</environment-types>
|
||||||
|
<visibility-settings>
|
||||||
|
<connection-tabs value="true" />
|
||||||
|
<dialog-headers value="true" />
|
||||||
|
<object-editor-tabs value="true" />
|
||||||
|
<script-editor-tabs value="false" />
|
||||||
|
<execution-result-tabs value="true" />
|
||||||
|
</visibility-settings>
|
||||||
|
</environment>
|
||||||
|
</general-settings>
|
||||||
|
</component>
|
||||||
|
</project>
|
13
.config/waybar/.idea/misc.xml
generated
Normal file
13
.config/waybar/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="MaterialThemeProjectNewConfig">
|
||||||
|
<option name="metadata">
|
||||||
|
<MTProjectMetadataState>
|
||||||
|
<option name="migrated" value="true" />
|
||||||
|
<option name="pristineConfig" value="false" />
|
||||||
|
<option name="userId" value="57cc01c7:18b18b7db14:-8000" />
|
||||||
|
<option name="version" value="8.13.2" />
|
||||||
|
</MTProjectMetadataState>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
8
.config/waybar/.idea/modules.xml
generated
Normal file
8
.config/waybar/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/waybar.iml" filepath="$PROJECT_DIR$/.idea/waybar.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
12
.config/waybar/.idea/waybar.iml
generated
Normal file
12
.config/waybar/.idea/waybar.iml
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
@@ -154,6 +154,14 @@
|
|||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
"on-click": "alacritty -e watch -n 1 sensors",
|
"on-click": "alacritty -e watch -n 1 sensors",
|
||||||
},
|
},
|
||||||
|
"custom/hyprsysteminfo": {
|
||||||
|
"exec-if": "[ -x $HOME/.config/waybar/scripts/hyprsysteminfo.sh ]",
|
||||||
|
"exec": "$HOME/.config/waybar/scripts/hyprsysteminfo.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 5,
|
||||||
|
"tooltip": true,
|
||||||
|
"on-click": "bash -lc 'command -v hyprsysteminfo >/dev/null && uwsm app -- hyprsysteminfo'",
|
||||||
|
},
|
||||||
"custom/hyprsunset": {
|
"custom/hyprsunset": {
|
||||||
"exec-if": "[ -x $HOME/.config/waybar/scripts/hyprsunset_toggle.sh ]",
|
"exec-if": "[ -x $HOME/.config/waybar/scripts/hyprsunset_toggle.sh ]",
|
||||||
"exec": "$HOME/.config/waybar/scripts/hyprsunset_toggle.sh --print",
|
"exec": "$HOME/.config/waybar/scripts/hyprsunset_toggle.sh --print",
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
"bluetooth",
|
"bluetooth",
|
||||||
"battery",
|
"battery",
|
||||||
"power-profiles-daemon",
|
"power-profiles-daemon",
|
||||||
|
"custom/hyprsysteminfo",
|
||||||
"custom/hyprsunset",
|
"custom/hyprsunset",
|
||||||
"tray",
|
"tray",
|
||||||
"clock",
|
"clock",
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
"custom/alhp",
|
"custom/alhp",
|
||||||
"custom/razer-mouse-battery",
|
"custom/razer-mouse-battery",
|
||||||
"custom/temps",
|
"custom/temps",
|
||||||
|
"custom/hyprsysteminfo",
|
||||||
"custom/hyprsunset",
|
"custom/hyprsunset",
|
||||||
"tray",
|
"tray",
|
||||||
"clock",
|
"clock",
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
"pulseaudio",
|
"pulseaudio",
|
||||||
"bluetooth",
|
"bluetooth",
|
||||||
"battery",
|
"battery",
|
||||||
|
"custom/hyprsysteminfo",
|
||||||
"custom/hyprsunset",
|
"custom/hyprsunset",
|
||||||
"tray",
|
"tray",
|
||||||
"clock",
|
"clock",
|
||||||
|
88
.config/waybar/scripts/hyprsysteminfo.sh
Executable file
88
.config/waybar/scripts/hyprsysteminfo.sh
Executable file
@@ -0,0 +1,88 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
ICON = "Hypr"
|
||||||
|
|
||||||
|
def run_json(cmd):
|
||||||
|
try:
|
||||||
|
out = subprocess.run(cmd, capture_output=True, text=True, check=True).stdout.strip()
|
||||||
|
except (FileNotFoundError, subprocess.CalledProcessError):
|
||||||
|
return None
|
||||||
|
if not out:
|
||||||
|
return None
|
||||||
|
try:
|
||||||
|
return json.loads(out)
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def run_text(cmd):
|
||||||
|
try:
|
||||||
|
return subprocess.run(cmd, capture_output=True, text=True, check=True).stdout.strip()
|
||||||
|
except (FileNotFoundError, subprocess.CalledProcessError):
|
||||||
|
return ""
|
||||||
|
|
||||||
|
hypr_info = {}
|
||||||
|
if shutil.which("hyprsysteminfo"):
|
||||||
|
proc = subprocess.run(["hyprsysteminfo", "--json"], capture_output=True, text=True)
|
||||||
|
if proc.returncode == 0 and proc.stdout.strip():
|
||||||
|
try:
|
||||||
|
hypr_info = json.loads(proc.stdout)
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
hypr_info = {}
|
||||||
|
|
||||||
|
active_window = run_json(["hyprctl", "-j", "activewindow"]) or {}
|
||||||
|
monitors = run_json(["hyprctl", "-j", "monitors"]) or []
|
||||||
|
clients = run_json(["hyprctl", "-j", "clients"]) or []
|
||||||
|
|
||||||
|
focused_monitor = next((m for m in monitors if m.get("focused")), {})
|
||||||
|
monitor_name = focused_monitor.get("name") or active_window.get("monitor") or "?"
|
||||||
|
workspace = ""
|
||||||
|
ws_data = active_window.get("workspace") or focused_monitor.get("activeWorkspace")
|
||||||
|
if isinstance(ws_data, dict):
|
||||||
|
workspace = ws_data.get("name") or ""
|
||||||
|
active_title = active_window.get("title") or active_window.get("class") or ""
|
||||||
|
layout = focused_monitor.get("layout") or ""
|
||||||
|
windows_on_monitor = sum(1 for c in clients if c.get("monitor") == monitor_name)
|
||||||
|
|
||||||
|
hypr_version = ""
|
||||||
|
if hypr_info:
|
||||||
|
for key in ("Hyprland", "hyprland"):
|
||||||
|
section = hypr_info.get(key)
|
||||||
|
if isinstance(section, dict):
|
||||||
|
hypr_version = section.get("version") or section.get("git") or ""
|
||||||
|
if hypr_version:
|
||||||
|
break
|
||||||
|
|
||||||
|
uptime = run_text(["uptime", "-p"]).replace("up ", "")
|
||||||
|
|
||||||
|
text_parts = ["", monitor_name]
|
||||||
|
if workspace:
|
||||||
|
text_parts.append(f"[{workspace}]")
|
||||||
|
text = " ".join(part for part in text_parts if part)
|
||||||
|
|
||||||
|
tooltip_lines = []
|
||||||
|
if hypr_version:
|
||||||
|
tooltip_lines.append(f"Hyprland: {hypr_version}")
|
||||||
|
if layout:
|
||||||
|
tooltip_lines.append(f"Layout: {layout}")
|
||||||
|
if workspace:
|
||||||
|
tooltip_lines.append(f"Workspace: {workspace}")
|
||||||
|
if active_title:
|
||||||
|
tooltip_lines.append(f"Window: {active_title}")
|
||||||
|
if uptime:
|
||||||
|
tooltip_lines.append(f"System uptime: {uptime}")
|
||||||
|
if windows_on_monitor:
|
||||||
|
tooltip_lines.append(f"Windows on monitor: {windows_on_monitor}")
|
||||||
|
if not tooltip_lines:
|
||||||
|
tooltip_lines.append("Hyprland ready")
|
||||||
|
|
||||||
|
print(json.dumps({
|
||||||
|
"text": text,
|
||||||
|
"tooltip": "\n".join(tooltip_lines),
|
||||||
|
"class": ["hypr", f"workspace-{workspace}" if workspace else "hypr-no-ws"]
|
||||||
|
}))
|
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
style.css
|
||||||
|
|
||||||
|
.config/jellyfin-mpv-shim/cred.json
|
||||||
|
.config/jellyfin-mpv-shim/conf.json
|
Reference in New Issue
Block a user