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 CTRL, A, exec, $notcloseall
|
||||
|
||||
# Screenshot
|
||||
#bind = ALT SHIFT, 3, exec, GRIMBLAST_EDITOR="satty -f" grimblast --notify edit output
|
||||
#bind = ALT SHIFT, 4, exec, GRIMBLAST_EDITOR="satty -f" grimblast --notify edit area
|
||||
|
||||
#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
|
||||
# Screenshot & picking
|
||||
bind = ALT SHIFT, 3, exec, ~/.config/hypr/scripts/hyprshot-wrapper.sh output active
|
||||
bind = ALT SHIFT, 4, exec, ~/.config/hypr/scripts/hyprshot-wrapper.sh region
|
||||
bind = ALT SHIFT, C, exec, hyprpicker --autocopy --format=hex
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
@@ -140,6 +137,11 @@ bindl = , XF86AudioNext, exec, playerctl next
|
||||
|
||||
# SwayOSD
|
||||
# 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 = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
|
||||
# Sink volume toggle mute
|
||||
|
@@ -1,10 +1,10 @@
|
||||
# ~/.config/hypr/conf.d/50-autostart.conf
|
||||
|
||||
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 -- 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 = ~/.config/waybar/scripts/hyprsunset_daemon.sh
|
||||
|
||||
|
@@ -6,6 +6,13 @@ general {
|
||||
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
|
||||
listener {
|
||||
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,
|
||||
"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": {
|
||||
"exec-if": "[ -x $HOME/.config/waybar/scripts/hyprsunset_toggle.sh ]",
|
||||
"exec": "$HOME/.config/waybar/scripts/hyprsunset_toggle.sh --print",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"bluetooth",
|
||||
"battery",
|
||||
"power-profiles-daemon",
|
||||
"custom/hyprsysteminfo",
|
||||
"custom/hyprsunset",
|
||||
"tray",
|
||||
"clock",
|
||||
|
@@ -17,6 +17,7 @@
|
||||
"custom/alhp",
|
||||
"custom/razer-mouse-battery",
|
||||
"custom/temps",
|
||||
"custom/hyprsysteminfo",
|
||||
"custom/hyprsunset",
|
||||
"tray",
|
||||
"clock",
|
||||
|
@@ -10,6 +10,7 @@
|
||||
"pulseaudio",
|
||||
"bluetooth",
|
||||
"battery",
|
||||
"custom/hyprsysteminfo",
|
||||
"custom/hyprsunset",
|
||||
"tray",
|
||||
"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"]
|
||||
}))
|
Reference in New Issue
Block a user