Compare commits
24
Commits
a5e11395ee
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b3b3f9825b | ||
|
|
48fb1e6a19 | ||
|
|
d07e185ddf | ||
|
|
630634ca4e | ||
|
|
22cf5c8b86 | ||
|
|
6a1fec6c3d | ||
|
|
382762c60e | ||
|
|
559d814b61 | ||
|
|
ae94b7c449 | ||
|
|
f904ee817e | ||
|
|
f8d3983603 | ||
|
|
50e7c7a9aa | ||
|
|
8deb311047 | ||
|
|
c7db3bc09d | ||
|
|
704df2f325 | ||
|
|
0db513c848 | ||
|
|
f3ae3073ee | ||
|
|
f5fea497c9 | ||
|
|
bac0151865 | ||
|
|
4e40d20092 | ||
|
|
da16f88ec3 | ||
|
|
512e3285dd | ||
|
|
6a2a3ce6dd | ||
|
|
b5ce934840 |
@@ -3,3 +3,6 @@
|
||||
hyprlock.conf
|
||||
hyprpaper.conf
|
||||
scripts/autostart/workspace
|
||||
config/color.lua
|
||||
scripts/hypridle/screen_off.sh
|
||||
scripts/hypridle/screen_on.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
# Readme of the repository
|
||||
## If hypridle screen turning off breaks
|
||||
Remove scripts/hypridle/screen_off.sh and scripts/hypridle/screen_on.sh
|
||||
@@ -6,13 +6,15 @@ hl.on("hyprland.start", function ()
|
||||
hl.exec_cmd("systemctl --user start hyprpolkitagent")
|
||||
hl.exec_cmd("tmux new-session -d -s keyring '/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg'")
|
||||
|
||||
hl.exec_cmd("hypridle")
|
||||
hl.exec_cmd("hyprpaper")
|
||||
hl.exec_cmd("tmux new-session -d -s hypridle 'hypridle'")
|
||||
hl.exec_cmd("tmux new-session -d -s hyprpaper 'hyprpaper'")
|
||||
hl.exec_cmd("tmux new-session -d -s qs 'env QT_QPA_PLATFORMTHEME=qt6ct quickshell'")
|
||||
if HOSTNAME == "honney-main" then
|
||||
hl.exec_cmd("tmux new-session -d -s ydotool 'ydotoold'")
|
||||
hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'")
|
||||
hl.exec_cmd("tmux new-session -d -s fah 'cd ~/.local/share/fah && fah-client'")
|
||||
hl.exec_cmd("tmux new-session -d -s carla 'carla -n /home/honney/Music/1Player.carxp'")
|
||||
hl.exec_cmd("bash -c '~/.config/hypr/scripts/audio/1player.sh'")
|
||||
hl.exec_cmd("bash -c '~/.config/hypr/scripts/goxlr/goxlr-start.sh > ~/.config/hypr/scripts/goxlr/goxlr-start.log'")
|
||||
hl.exec_cmd("bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'")
|
||||
|
||||
@@ -26,8 +28,6 @@ hl.on("hyprland.start", function ()
|
||||
hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'")
|
||||
hl.exec_cmd("nextcloud")
|
||||
hl.exec_cmd("discord")
|
||||
elseif HOSTNAME == "honney-opencode" then
|
||||
hl.exec_cmd("tmux new-session -d -s oc 'cd ~/Projects && opencode web --hostname 0.0.0.0 --port 4096'")
|
||||
end
|
||||
|
||||
hl.exec_cmd("bash -c '~/.config/hypr/scripts/autostart/autostart.sh > ~/.config/hypr/scripts/autostart/autostart.log'")
|
||||
|
||||
@@ -70,11 +70,15 @@ hl.bind("SUPER+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot
|
||||
hl.bind("SUPER+ALT+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_monitor.sh"))
|
||||
hl.bind("SUPER+SHIFT+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_area.sh"))
|
||||
hl.bind("SUPER+SHIFT+S", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_area_2.sh"))
|
||||
hl.bind("SUPER+CTRL+O", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_ocr.sh"))
|
||||
|
||||
-- Audio Control
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"))
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"))
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))
|
||||
hl.bind("ALT+XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 0; wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+"))
|
||||
hl.bind("ALT+XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 0; wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-"))
|
||||
hl.bind("ALT+XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
|
||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
|
||||
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause || playerctl play-pause"))
|
||||
@@ -117,3 +121,5 @@ end
|
||||
hl.bind("SUPER + SHIFT + W", hl.dsp.global("quickshell:Wallpaper"))
|
||||
hl.bind("SUPER + SHIFT + J", hl.dsp.global("quickshell:JLearner"))
|
||||
hl.bind("SUPER + SHIFT + L", hl.dsp.global("quickshell:WLogout"))
|
||||
hl.bind("SUPER + SHIFT + R", hl.dsp.global("quickshell:QsReload"))
|
||||
hl.bind("SUPER + SHIFT + N", hl.dsp.global("quickshell:NotificationHistory"))
|
||||
@@ -32,3 +32,16 @@ if HOSTNAME == "honney-main" then
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- To find the device names: hyprctl devices -j
|
||||
|
||||
hl.device({
|
||||
name = "evision-rgb-keyboard",
|
||||
kb_layout = "us"
|
||||
})
|
||||
for i = 1, 9 do
|
||||
hl.device({
|
||||
name = "evision-rgb-keyboard-" .. tostring(i),
|
||||
kb_layout = "us"
|
||||
})
|
||||
end
|
||||
+71
-37
@@ -5,16 +5,16 @@ if HOSTNAME == "honney-main" then
|
||||
position = "0x0",
|
||||
scale = 1,
|
||||
transform = 0,
|
||||
bitdepth = 10,
|
||||
cm = "srgb",
|
||||
sdr_eotf = "default",
|
||||
sdrbrightness = 1.0,
|
||||
sdrsaturation = 1.0,
|
||||
vrr = 0,
|
||||
supports_wide_color = 1,
|
||||
supports_hdr = 1,
|
||||
sdr_min_luminance = 0.2,
|
||||
sdr_max_luminance = 600,
|
||||
-- bitdepth = 10,
|
||||
-- cm = "srgb",
|
||||
-- sdr_eotf = "default",
|
||||
-- sdrbrightness = 1.0,
|
||||
-- sdrsaturation = 1.0,
|
||||
-- vrr = 0,
|
||||
-- supports_wide_color = 1,
|
||||
-- supports_hdr = 1,
|
||||
-- sdr_min_luminance = 0.2,
|
||||
-- sdr_max_luminance = 600,
|
||||
})
|
||||
hl.monitor({
|
||||
output = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
||||
@@ -22,16 +22,16 @@ if HOSTNAME == "honney-main" then
|
||||
position = "-3840x0",
|
||||
scale = 1,
|
||||
transform = 0,
|
||||
bitdepth = 10,
|
||||
cm = "srgb",
|
||||
sdr_eotf = "default",
|
||||
sdrbrightness = 1.0,
|
||||
sdrsaturation = 1.0,
|
||||
vrr = 0,
|
||||
supports_wide_color = 1,
|
||||
supports_hdr = 1,
|
||||
sdr_min_luminance = 0.2,
|
||||
sdr_max_luminance = 400,
|
||||
-- bitdepth = 10,
|
||||
-- cm = "srgb",
|
||||
-- sdr_eotf = "default",
|
||||
-- sdrbrightness = 1.0,
|
||||
-- sdrsaturation = 1.0,
|
||||
-- vrr = 0,
|
||||
-- supports_wide_color = 1,
|
||||
-- supports_hdr = 1,
|
||||
-- sdr_min_luminance = 0.2,
|
||||
-- sdr_max_luminance = 400,
|
||||
})
|
||||
hl.monitor({
|
||||
output = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
|
||||
@@ -39,16 +39,16 @@ if HOSTNAME == "honney-main" then
|
||||
position = "0x-2160",
|
||||
scale = 1,
|
||||
transform = 2,
|
||||
bitdepth = 10,
|
||||
cm = "srgb",
|
||||
sdr_eotf = "default",
|
||||
sdrbrightness = 1.0,
|
||||
sdrsaturation = 1.0,
|
||||
vrr = 0,
|
||||
supports_wide_color = 1,
|
||||
supports_hdr = 1,
|
||||
sdr_min_luminance = 0.2,
|
||||
sdr_max_luminance = 400,
|
||||
-- bitdepth = 10,
|
||||
-- cm = "srgb",
|
||||
-- sdr_eotf = "default",
|
||||
-- sdrbrightness = 1.0,
|
||||
-- sdrsaturation = 1.0,
|
||||
-- vrr = 0,
|
||||
-- supports_wide_color = 1,
|
||||
-- supports_hdr = 1,
|
||||
-- sdr_min_luminance = 0.2,
|
||||
-- sdr_max_luminance = 400,
|
||||
})
|
||||
hl.monitor({
|
||||
output = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
|
||||
@@ -66,6 +66,40 @@ if HOSTNAME == "honney-main" then
|
||||
transform = 0,
|
||||
})
|
||||
elseif HOSTNAME == "hp-laptop" then
|
||||
hl.monitor({
|
||||
output = "desc:BNQ BenQ EX2710U 0000000000001",
|
||||
mode = "3840x2160@120",
|
||||
position = "960x-2160",
|
||||
scale = 1,
|
||||
transform = 0,
|
||||
-- bitdepth = 10,
|
||||
-- cm = "srgb",
|
||||
-- sdr_eotf = "default",
|
||||
-- sdrbrightness = 1.0,
|
||||
-- sdrsaturation = 1.0,
|
||||
-- vrr = 0,
|
||||
-- supports_wide_color = 1,
|
||||
-- supports_hdr = 1,
|
||||
-- sdr_min_luminance = 0.2,
|
||||
-- sdr_max_luminance = 600,
|
||||
})
|
||||
hl.monitor({
|
||||
output = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
||||
mode = "1920x1080@60",
|
||||
position = "-960x-1080",
|
||||
scale = 1,
|
||||
transform = 0,
|
||||
-- bitdepth = 10,
|
||||
-- cm = "srgb",
|
||||
-- sdr_eotf = "default",
|
||||
-- sdrbrightness = 1.0,
|
||||
-- sdrsaturation = 1.0,
|
||||
-- vrr = 0,
|
||||
-- supports_wide_color = 1,
|
||||
-- supports_hdr = 1,
|
||||
-- sdr_min_luminance = 0.2,
|
||||
-- sdr_max_luminance = 400,
|
||||
})
|
||||
hl.monitor({
|
||||
output = "desc:BOE 0x08A8",
|
||||
mode = "1920x1080@60",
|
||||
@@ -73,13 +107,13 @@ elseif HOSTNAME == "hp-laptop" then
|
||||
scale = 1,
|
||||
transform = 0,
|
||||
})
|
||||
hl.monitor({
|
||||
output = "desc:AOC 24B3HA2 AVKS29A004767",
|
||||
mode = "1920x1080@120",
|
||||
position = "-1920x0",
|
||||
scale = 1,
|
||||
transform = 0,
|
||||
})
|
||||
-- hl.monitor({
|
||||
-- output = "desc:AOC 24B3HA2 AVKS29A004767",
|
||||
-- mode = "1920x1080@120",
|
||||
-- position = "-1920x0",
|
||||
-- scale = 1,
|
||||
-- transform = 0,
|
||||
-- })
|
||||
elseif HOSTNAME == "arch" then
|
||||
hl.monitor({
|
||||
output = "desc:AOC CU34G2XP 1Q1R4HA002436",
|
||||
|
||||
+7
-4
@@ -6,8 +6,9 @@ hl.config({
|
||||
float_gaps = 0,
|
||||
gaps_workspaces = 0,
|
||||
col = {
|
||||
inactive_border = 0xff00B7EB,
|
||||
active_border = { colors = { "rgba(ff0000ff)", "rgba(ffff00ff)", "rgba(00ff00ff)", "rgba(00ffffff)", "rgba(0000ffff)", "rgba(ff00ffff)" }, angle = 45 },
|
||||
inactive_border = INACTIVE_COLOR,
|
||||
-- active_border = { colors = { "rgba(ff0000ff)", "rgba(ffff00ff)", "rgba(00ff00ff)", "rgba(00ffffff)", "rgba(0000ffff)", "rgba(ff00ffff)" }, angle = 45 },
|
||||
active_border = ACTIVE_COLOR,
|
||||
nogroup_border = 0xffffaaff,
|
||||
nogroup_border_active = 0xffff00ff,
|
||||
},
|
||||
@@ -72,7 +73,7 @@ if USER == "honney" then
|
||||
render = {
|
||||
direct_scanout = 2,
|
||||
cm_enabled = true,
|
||||
cm_auto_hdr = 1,
|
||||
cm_auto_hdr = 0,
|
||||
}
|
||||
})
|
||||
elseif USER == "teo" then
|
||||
@@ -134,6 +135,8 @@ hl.config({
|
||||
background_color = 0x000000,
|
||||
on_focus_under_fullscreen = 0,
|
||||
middle_click_paste = false,
|
||||
key_press_enables_dpms = true,
|
||||
mouse_move_enables_dpms = true
|
||||
}
|
||||
})
|
||||
|
||||
@@ -154,7 +157,7 @@ end
|
||||
if USER == "honney" then
|
||||
hl.config({
|
||||
quirks ={
|
||||
prefer_hdr = 1,
|
||||
prefer_hdr = 0,
|
||||
}
|
||||
})
|
||||
else
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
ACTIVE_COLOR = 0xFFFF0000
|
||||
INACTIVE_COLOR = 0xFF0000FF
|
||||
+10
-12
@@ -1,22 +1,20 @@
|
||||
# listener {
|
||||
# timeout = 200
|
||||
# on-timeout = notify-send -u low "You are idle!"
|
||||
# on-resume = notify-send -u low "Welcome back!"
|
||||
# ignore_inhibit = true
|
||||
# }
|
||||
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = hyprlock
|
||||
}
|
||||
|
||||
# listener {
|
||||
# timeout = 360
|
||||
# on-timeout = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --off "$o"; done'
|
||||
# on-resume = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --on "$o"; done'
|
||||
# }
|
||||
|
||||
listener {
|
||||
timeout = 360
|
||||
on-timeout = hyprctl dispatch "hl.dsp.dpms({action = 'off'})"
|
||||
on-resume = hyprctl dispatch "hl.dsp.dpms({action = 'on'})"
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 250 # in seconds.
|
||||
on-timeout = notify-send "You are idle!" # command to run when timeout has passed.
|
||||
on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired.
|
||||
# alternative:
|
||||
# on-timeout = wlopm --off '*'
|
||||
# on-resume = wlopm --on '*'
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
require("config/hostname")
|
||||
require("config/color")
|
||||
require("config/bind")
|
||||
require("config/env")
|
||||
require("config/theme")
|
||||
|
||||
+20
-1
@@ -23,6 +23,9 @@ REQUIRED_PKGS=(
|
||||
jq
|
||||
inetutils
|
||||
tmux
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
)
|
||||
|
||||
OPTIONAL_PKGS=(
|
||||
@@ -38,7 +41,8 @@ OPTIONAL_PKGS=(
|
||||
imagemagick "Image tools" OFF
|
||||
playerctl "Media control" OFF
|
||||
wlopm "Monitor power" OFF
|
||||
hyprshot "Screenshot tool" OFF
|
||||
satty "Screenshot editor" OFF
|
||||
oxipng "PNG compressor" OFF
|
||||
matugen "Theme generator" OFF
|
||||
)
|
||||
|
||||
@@ -86,6 +90,21 @@ mkdir -p "$SCRIPT_DIR/scripts/autostart"
|
||||
ok "hyprpaper config created"
|
||||
}
|
||||
|
||||
[[ ! -f "$SCRIPT_DIR/config/color.lua" ]] && {
|
||||
cp "$SCRIPT_DIR/examples/color.lua.example" "$SCRIPT_DIR/config/color.lua"
|
||||
ok "color config created"
|
||||
}
|
||||
|
||||
[[ ! -f "$SCRIPT_DIR/config/color.lua" ]] && {
|
||||
cp "$SCRIPT_DIR/examples/color.lua.example" "$SCRIPT_DIR/config/color.lua"
|
||||
ok "color config created"
|
||||
}
|
||||
|
||||
[[ ! -f "$SCRIPT_DIR/config/color.lua" ]] && {
|
||||
cp "$SCRIPT_DIR/examples/color.lua.example" "$SCRIPT_DIR/config/color.lua"
|
||||
ok "color config created"
|
||||
}
|
||||
|
||||
# ----------------------------
|
||||
# Install
|
||||
# ----------------------------
|
||||
|
||||
+99
-644
@@ -14,518 +14,26 @@
|
||||
<BeatsPerMinute>120</BeatsPerMinute>
|
||||
</Transport>
|
||||
|
||||
<!-- LSP Mixer x8 Stereo -->
|
||||
<!-- Simple Low Pass Filter -->
|
||||
<Plugin>
|
||||
<Info>
|
||||
<Type>LV2</Type>
|
||||
<Name>LSP Mixer x8 Stereo</Name>
|
||||
<URI>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo</URI>
|
||||
<Type>LADSPA</Type>
|
||||
<Name>Simple Low Pass Filter</Name>
|
||||
<Binary>/usr/lib/ladspa/filter.so</Binary>
|
||||
<Label>lpf</Label>
|
||||
<UniqueID>1041</UniqueID>
|
||||
</Info>
|
||||
|
||||
<Data>
|
||||
<Active>Yes</Active>
|
||||
<ControlChannel>1</ControlChannel>
|
||||
<Options>0x1</Options>
|
||||
<Options>0x0</Options>
|
||||
|
||||
<Parameter>
|
||||
<Index>0</Index>
|
||||
<Name>Enabled</Name>
|
||||
<Symbol>enabled</Symbol>
|
||||
<Value>1</Value>
|
||||
<Name>Cutoff Frequency</Name>
|
||||
<Value>0.00916666630655527</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>1</Index>
|
||||
<Name>Mono output</Name>
|
||||
<Symbol>mono</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>2</Index>
|
||||
<Name>Output balance</Name>
|
||||
<Symbol>bal</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>3</Index>
|
||||
<Name>Dry amount</Name>
|
||||
<Symbol>dry</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>4</Index>
|
||||
<Name>Wet amount</Name>
|
||||
<Symbol>wet</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>5</Index>
|
||||
<Name>Output gain</Name>
|
||||
<Symbol>g_out</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>10</Index>
|
||||
<Name>Channel solo 1</Name>
|
||||
<Symbol>cs_1</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>11</Index>
|
||||
<Name>Channel mute 1</Name>
|
||||
<Symbol>cm_1</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>12</Index>
|
||||
<Name>Channel phase invert 1</Name>
|
||||
<Symbol>ci_1</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>13</Index>
|
||||
<Name>Channel pan left 1</Name>
|
||||
<Symbol>cp_1l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>14</Index>
|
||||
<Name>Channel pan right 1</Name>
|
||||
<Symbol>cp_1r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>15</Index>
|
||||
<Name>Channel output balance 1</Name>
|
||||
<Symbol>cb_1</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>16</Index>
|
||||
<Name>Channel gain 1</Name>
|
||||
<Symbol>cg_1</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>19</Index>
|
||||
<Name>Channel solo 2</Name>
|
||||
<Symbol>cs_2</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>20</Index>
|
||||
<Name>Channel mute 2</Name>
|
||||
<Symbol>cm_2</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>21</Index>
|
||||
<Name>Channel phase invert 2</Name>
|
||||
<Symbol>ci_2</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>22</Index>
|
||||
<Name>Channel pan left 2</Name>
|
||||
<Symbol>cp_2l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>23</Index>
|
||||
<Name>Channel pan right 2</Name>
|
||||
<Symbol>cp_2r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>24</Index>
|
||||
<Name>Channel output balance 2</Name>
|
||||
<Symbol>cb_2</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>25</Index>
|
||||
<Name>Channel gain 2</Name>
|
||||
<Symbol>cg_2</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>28</Index>
|
||||
<Name>Channel solo 3</Name>
|
||||
<Symbol>cs_3</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>29</Index>
|
||||
<Name>Channel mute 3</Name>
|
||||
<Symbol>cm_3</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>30</Index>
|
||||
<Name>Channel phase invert 3</Name>
|
||||
<Symbol>ci_3</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>31</Index>
|
||||
<Name>Channel pan left 3</Name>
|
||||
<Symbol>cp_3l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>32</Index>
|
||||
<Name>Channel pan right 3</Name>
|
||||
<Symbol>cp_3r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>33</Index>
|
||||
<Name>Channel output balance 3</Name>
|
||||
<Symbol>cb_3</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>34</Index>
|
||||
<Name>Channel gain 3</Name>
|
||||
<Symbol>cg_3</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>37</Index>
|
||||
<Name>Channel solo 4</Name>
|
||||
<Symbol>cs_4</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>38</Index>
|
||||
<Name>Channel mute 4</Name>
|
||||
<Symbol>cm_4</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>39</Index>
|
||||
<Name>Channel phase invert 4</Name>
|
||||
<Symbol>ci_4</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>40</Index>
|
||||
<Name>Channel pan left 4</Name>
|
||||
<Symbol>cp_4l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>41</Index>
|
||||
<Name>Channel pan right 4</Name>
|
||||
<Symbol>cp_4r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>42</Index>
|
||||
<Name>Channel output balance 4</Name>
|
||||
<Symbol>cb_4</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>43</Index>
|
||||
<Name>Channel gain 4</Name>
|
||||
<Symbol>cg_4</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>46</Index>
|
||||
<Name>Channel solo 5</Name>
|
||||
<Symbol>cs_5</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>47</Index>
|
||||
<Name>Channel mute 5</Name>
|
||||
<Symbol>cm_5</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>48</Index>
|
||||
<Name>Channel phase invert 5</Name>
|
||||
<Symbol>ci_5</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>49</Index>
|
||||
<Name>Channel pan left 5</Name>
|
||||
<Symbol>cp_5l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>50</Index>
|
||||
<Name>Channel pan right 5</Name>
|
||||
<Symbol>cp_5r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>51</Index>
|
||||
<Name>Channel output balance 5</Name>
|
||||
<Symbol>cb_5</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>52</Index>
|
||||
<Name>Channel gain 5</Name>
|
||||
<Symbol>cg_5</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>55</Index>
|
||||
<Name>Channel solo 6</Name>
|
||||
<Symbol>cs_6</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>56</Index>
|
||||
<Name>Channel mute 6</Name>
|
||||
<Symbol>cm_6</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>57</Index>
|
||||
<Name>Channel phase invert 6</Name>
|
||||
<Symbol>ci_6</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>58</Index>
|
||||
<Name>Channel pan left 6</Name>
|
||||
<Symbol>cp_6l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>59</Index>
|
||||
<Name>Channel pan right 6</Name>
|
||||
<Symbol>cp_6r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>60</Index>
|
||||
<Name>Channel output balance 6</Name>
|
||||
<Symbol>cb_6</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>61</Index>
|
||||
<Name>Channel gain 6</Name>
|
||||
<Symbol>cg_6</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>64</Index>
|
||||
<Name>Channel solo 7</Name>
|
||||
<Symbol>cs_7</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>65</Index>
|
||||
<Name>Channel mute 7</Name>
|
||||
<Symbol>cm_7</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>66</Index>
|
||||
<Name>Channel phase invert 7</Name>
|
||||
<Symbol>ci_7</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>67</Index>
|
||||
<Name>Channel pan left 7</Name>
|
||||
<Symbol>cp_7l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>68</Index>
|
||||
<Name>Channel pan right 7</Name>
|
||||
<Symbol>cp_7r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>69</Index>
|
||||
<Name>Channel output balance 7</Name>
|
||||
<Symbol>cb_7</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>70</Index>
|
||||
<Name>Channel gain 7</Name>
|
||||
<Symbol>cg_7</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>73</Index>
|
||||
<Name>Channel solo 8</Name>
|
||||
<Symbol>cs_8</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>74</Index>
|
||||
<Name>Channel mute 8</Name>
|
||||
<Symbol>cm_8</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>75</Index>
|
||||
<Name>Channel phase invert 8</Name>
|
||||
<Symbol>ci_8</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>76</Index>
|
||||
<Name>Channel pan left 8</Name>
|
||||
<Symbol>cp_8l</Symbol>
|
||||
<Value>-100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>77</Index>
|
||||
<Name>Channel pan right 8</Name>
|
||||
<Symbol>cp_8r</Symbol>
|
||||
<Value>100</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>78</Index>
|
||||
<Name>Channel output balance 8</Name>
|
||||
<Symbol>cb_8</Symbol>
|
||||
<Value>0</Value>
|
||||
</Parameter>
|
||||
|
||||
<Parameter>
|
||||
<Index>79</Index>
|
||||
<Name>Channel gain 8</Name>
|
||||
<Symbol>cg_8</Symbol>
|
||||
<Value>1</Value>
|
||||
</Parameter>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#send</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#return</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_1</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_2</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_3</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_4</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_5</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_6</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_7</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_8</Key>
|
||||
<Value></Value>
|
||||
</CustomData>
|
||||
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#Object</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/preset_state</Key>
|
||||
<Value>AAAAAFMAAABUAAAAAAAAAAEAAAARAAAAAAAAAAAAAABVAAAAAAAAAAQAAAAHAAAAAAAAAAAAAABWAAAAAAAAAAQAAAAHAAAAAAAAAAAAAAA=</Value>
|
||||
</CustomData>
|
||||
</Data>
|
||||
</Plugin>
|
||||
|
||||
@@ -721,50 +229,43 @@
|
||||
<CustomData>
|
||||
<Type>http://lv2plug.in/ns/ext/atom#Object</Type>
|
||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x4_mono/preset_state</Key>
|
||||
<Value>AAAAAFMAAABUAAAAAAAAAAEAAAARAAAAAAAAAAAAAABVAAAAAAAAAAQAAAAHAAAAAAAAAAAAAABWAAAAAAAAAAQAAAAHAAAAAAAAAAAAAAA=</Value>
|
||||
<Value>AAAAAFUAAABWAAAAAAAAAAEAAAARAAAAAAAAAAAAAABXAAAAAAAAAAQAAAAHAAAAAAAAAAAAAABYAAAAAAAAAAQAAAAHAAAAAAAAAAAAAAA=</Value>
|
||||
</CustomData>
|
||||
</Data>
|
||||
</Plugin>
|
||||
|
||||
<!-- Simple Low Pass Filter -->
|
||||
<Plugin>
|
||||
<Info>
|
||||
<Type>LADSPA</Type>
|
||||
<Name>Simple Low Pass Filter</Name>
|
||||
<Binary>/usr/lib/ladspa/filter.so</Binary>
|
||||
<Label>lpf</Label>
|
||||
<UniqueID>1041</UniqueID>
|
||||
</Info>
|
||||
|
||||
<Data>
|
||||
<Active>Yes</Active>
|
||||
<ControlChannel>1</ControlChannel>
|
||||
<Options>0x0</Options>
|
||||
|
||||
<Parameter>
|
||||
<Index>0</Index>
|
||||
<Name>Cutoff Frequency</Name>
|
||||
<Value>0.00916666630655527</Value>
|
||||
</Parameter>
|
||||
</Data>
|
||||
</Plugin>
|
||||
|
||||
<ExternalPatchbay>
|
||||
<Connection>
|
||||
<Source>GoXLR Chat Mic:capture_FL</Source>
|
||||
<Target>WEBRTC VoiceEngine:input_FL</Target>
|
||||
<Source>GoXLR Stream Mix 1:capture_FL</Source>
|
||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_FL</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR Chat Mic:capture_FR</Source>
|
||||
<Target>WEBRTC VoiceEngine:input_FR</Target>
|
||||
<Source>GoXLR Stream Mix 1:capture_FL</Source>
|
||||
<Target>LSP Mixer x4 Mono:Input</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR Stream Mix 1:capture_FL</Source>
|
||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_RL</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR Stream Mix 1:capture_FR</Source>
|
||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_FR</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR Stream Mix 1:capture_FR</Source>
|
||||
<Target>LSP Mixer x4 Mono:Audio input 1</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR Stream Mix 1:capture_FR</Source>
|
||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_RR</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR 0:capture_AUX0</Source>
|
||||
<Target>Split GoXLR Broadcast Stream Mix:input_AUX0</Target>
|
||||
<Target>Split GoXLR Stream Mix 1:input_AUX0</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR 0:capture_AUX1</Source>
|
||||
<Target>Split GoXLR Broadcast Stream Mix:input_AUX1</Target>
|
||||
<Target>Split GoXLR Stream Mix 1:input_AUX1</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR 0:capture_AUX2</Source>
|
||||
@@ -791,20 +292,28 @@
|
||||
<Target>GoXLR Utility:input_FR</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR Broadcast Stream Mix:capture_FL</Source>
|
||||
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input left 2</Target>
|
||||
<Source>Split GoXLR System:output_AUX0</Source>
|
||||
<Target>GoXLR 0:playback_AUX0</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>GoXLR Broadcast Stream Mix:capture_FR</Source>
|
||||
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input right 2</Target>
|
||||
<Source>Split GoXLR System:output_AUX1</Source>
|
||||
<Target>GoXLR 0:playback_AUX1</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Family 17h/19h/1ah HD Audio Controller Analog Stereo:capture_FL</Source>
|
||||
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input left 1</Target>
|
||||
<Source>Split GoXLR Game:output_AUX2</Source>
|
||||
<Target>GoXLR 0:playback_AUX2</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Family 17h/19h/1ah HD Audio Controller Analog Stereo:capture_FR</Source>
|
||||
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input right 1</Target>
|
||||
<Source>Split GoXLR Game:output_AUX3</Source>
|
||||
<Target>GoXLR 0:playback_AUX3</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR Music:output_AUX6</Source>
|
||||
<Target>GoXLR 0:playback_AUX6</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR Music:output_AUX7</Source>
|
||||
<Target>GoXLR 0:playback_AUX7</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR Sample:output_AUX8</Source>
|
||||
@@ -823,52 +332,16 @@
|
||||
<Target>GoXLR 0:playback_AUX5</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR Music:output_AUX6</Source>
|
||||
<Target>GoXLR 0:playback_AUX6</Target>
|
||||
<Source>Simple Low Pass Filter:Output</Source>
|
||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_LFE</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR Music:output_AUX7</Source>
|
||||
<Target>GoXLR 0:playback_AUX7</Target>
|
||||
<Source>LSP Mixer x4 Mono:Output</Source>
|
||||
<Target>Simple Low Pass Filter:Input</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR Game:output_AUX2</Source>
|
||||
<Target>GoXLR 0:playback_AUX2</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR Game:output_AUX3</Source>
|
||||
<Target>GoXLR 0:playback_AUX3</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR System:output_AUX0</Source>
|
||||
<Target>GoXLR 0:playback_AUX0</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Split GoXLR System:output_AUX1</Source>
|
||||
<Target>GoXLR 0:playback_AUX1</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Carla.226/LSP Mixer x8 Stereo:Output L</Source>
|
||||
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_FL</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Carla.226/LSP Mixer x8 Stereo:Output L</Source>
|
||||
<Target>Carla.226/LSP Mixer x4 Mono:Audio input 1</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Carla.226/LSP Mixer x8 Stereo:Output R</Source>
|
||||
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_FR</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Carla.226/LSP Mixer x8 Stereo:Output R</Source>
|
||||
<Target>Carla.226/LSP Mixer x4 Mono:Audio input 2</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>WEBRTC VoiceEngine:output_FL</Source>
|
||||
<Target>GoXLR Chat:playback_FL</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>WEBRTC VoiceEngine:output_FR</Source>
|
||||
<Target>GoXLR Chat:playback_FR</Target>
|
||||
<Source>LSP Mixer x4 Mono:Output</Source>
|
||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_FC</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Floorp:output_FL</Source>
|
||||
@@ -878,96 +351,78 @@
|
||||
<Source>Floorp:output_FR</Source>
|
||||
<Target>GoXLR System:playback_FR</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Carla.226/LSP Mixer x4 Mono:Output</Source>
|
||||
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_FC</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Carla.226/LSP Mixer x4 Mono:Output</Source>
|
||||
<Target>Carla.226/Simple Low Pass Filter:Input</Target>
|
||||
</Connection>
|
||||
<Connection>
|
||||
<Source>Carla.226/Simple Low Pass Filter:Output</Source>
|
||||
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_LFE</Target>
|
||||
</Connection>
|
||||
<Positions>
|
||||
<Position x1="1105" y1="1578">
|
||||
<Position x1="1119" y1="629">
|
||||
<Name>GoXLR Chat Mic</Name>
|
||||
</Position>
|
||||
<Position x1="1034" y1="538" x2="1909" y2="1027">
|
||||
<Position x1="1447" y1="1476">
|
||||
<Name>GoXLR Stream Mix 1</Name>
|
||||
</Position>
|
||||
<Position x1="198" y1="1207" x2="1501" y2="777">
|
||||
<Name>GoXLR 0</Name>
|
||||
</Position>
|
||||
<Position x1="1155" y1="1705">
|
||||
<Position x1="575" y1="828">
|
||||
<Name>GoXLR Sampler</Name>
|
||||
</Position>
|
||||
<Position x1="1463" y1="881">
|
||||
<Name>GoXLR Broadcast Stream Mix</Name>
|
||||
<Position x1="1119" y1="925" x2="2136" y2="1570">
|
||||
<Name>Ryzen HD Audio Controller Analog Stereo</Name>
|
||||
</Position>
|
||||
<Position x1="1446" y1="1290" x2="2257" y2="1128">
|
||||
<Name>Family 17h/19h/1ah HD Audio Controller Analog Stereo</Name>
|
||||
</Position>
|
||||
<Position x1="1301" y1="1233">
|
||||
<Name>Split GoXLR Sample</Name>
|
||||
</Position>
|
||||
<Position x1="1300" y1="1081">
|
||||
<Name>Split GoXLR Chat</Name>
|
||||
</Position>
|
||||
<Position x1="1299" y1="1151">
|
||||
<Name>Split GoXLR Music</Name>
|
||||
</Position>
|
||||
<Position x1="1300" y1="1012">
|
||||
<Name>Split GoXLR Game</Name>
|
||||
</Position>
|
||||
<Position x1="1308" y1="946">
|
||||
<Position x1="1119" y1="999">
|
||||
<Name>Split GoXLR System</Name>
|
||||
</Position>
|
||||
<Position x1="1241" y1="1586">
|
||||
<Name>WEBRTC VoiceEngine</Name>
|
||||
<Position x1="1119" y1="1073">
|
||||
<Name>Split GoXLR Game</Name>
|
||||
</Position>
|
||||
<Position x1="1277" y1="1360">
|
||||
<Name>Floorp</Name>
|
||||
<Position x1="1119" y1="1147">
|
||||
<Name>Split GoXLR Music</Name>
|
||||
</Position>
|
||||
<Position x1="1447" y1="1333">
|
||||
<Position x1="1119" y1="1221">
|
||||
<Name>Split GoXLR Sample</Name>
|
||||
</Position>
|
||||
<Position x1="1119" y1="1295">
|
||||
<Name>Split GoXLR Chat</Name>
|
||||
</Position>
|
||||
<Position x1="1119" y1="1369">
|
||||
<Name>GoXLR System</Name>
|
||||
</Position>
|
||||
<Position x1="1447" y1="1407">
|
||||
<Name>GoXLR Sample</Name>
|
||||
</Position>
|
||||
<Position x1="1447" y1="1629">
|
||||
<Name>GoXLR Chat</Name>
|
||||
</Position>
|
||||
<Position x1="1447" y1="1481">
|
||||
<Name>GoXLR Music</Name>
|
||||
</Position>
|
||||
<Position x1="1447" y1="1555">
|
||||
<Position x1="1119" y1="1443">
|
||||
<Name>GoXLR Game</Name>
|
||||
</Position>
|
||||
<Position x1="1870" y1="1977" x2="2544" y2="1278">
|
||||
<Name>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1</Name>
|
||||
<Position x1="1119" y1="1517">
|
||||
<Name>GoXLR Music</Name>
|
||||
</Position>
|
||||
<Position x1="1426" y1="401">
|
||||
<Name>Split GoXLR Sampler</Name>
|
||||
<Position x1="1119" y1="1591">
|
||||
<Name>GoXLR Sample</Name>
|
||||
</Position>
|
||||
<Position x1="1413" y1="489">
|
||||
<Position x1="1119" y1="1665">
|
||||
<Name>GoXLR Chat</Name>
|
||||
</Position>
|
||||
<Position x1="835" y1="1844" x2="2058" y2="1445">
|
||||
<Name>Ryzen HD Audio Controller Analog Surround 5.1</Name>
|
||||
</Position>
|
||||
<Position x1="1119" y1="1731">
|
||||
<Name>Split GoXLR Chat Mic</Name>
|
||||
</Position>
|
||||
<Position x1="1424" y1="307">
|
||||
<Name>Split GoXLR Broadcast Stream Mix</Name>
|
||||
<Position x1="1119" y1="1731">
|
||||
<Name>Split GoXLR Stream Mix 1</Name>
|
||||
</Position>
|
||||
<Position x1="1447" y1="1769" x2="1952" y2="2357">
|
||||
<Position x1="1119" y1="1731">
|
||||
<Name>Split GoXLR Sampler</Name>
|
||||
</Position>
|
||||
<Position x1="528" y1="1184" x2="2132" y2="1931">
|
||||
<Name>Midi-Bridge</Name>
|
||||
</Position>
|
||||
<Position x1="1447" y1="1769" x2="1843" y2="1769">
|
||||
<Position x1="1119" y1="1731" x2="1840" y2="2042">
|
||||
<Name>BLE MIDI 1</Name>
|
||||
</Position>
|
||||
<Position x1="1874" y1="1252" pluginId="0">
|
||||
<Name>Carla.226/LSP Mixer x8 Stereo</Name>
|
||||
<Position x1="1825" y1="1600" pluginId="0">
|
||||
<Name>Simple Low Pass Filter</Name>
|
||||
</Position>
|
||||
<Position x1="2211" y1="1377" pluginId="1">
|
||||
<Name>Carla.226/LSP Mixer x4 Mono</Name>
|
||||
<Position x1="1621" y1="1544" pluginId="1">
|
||||
<Name>LSP Mixer x4 Mono</Name>
|
||||
</Position>
|
||||
<Position x1="2476" y1="1444" pluginId="2">
|
||||
<Name>Carla.226/Simple Low Pass Filter</Name>
|
||||
<Position x1="783" y1="825">
|
||||
<Name>GoXLR Utility</Name>
|
||||
</Position>
|
||||
</Positions>
|
||||
</ExternalPatchbay>
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
killall carla
|
||||
|
||||
# start new session
|
||||
nohup carla -n ~/.config/hypr/scripts/audio/1Player.carxp &
|
||||
tmux new-session -d -s carla '~/.config/hypr/scripts/audio/1Player.carxp'
|
||||
@@ -9,4 +9,4 @@
|
||||
killall carla
|
||||
|
||||
# start new session
|
||||
nohup carla -n ~/.config/hypr/scripts/audio/2Player.carxp &
|
||||
tmux new-session -d -s carla '~/.config/hypr/scripts/audio/2Player.carxp'
|
||||
|
||||
@@ -116,4 +116,4 @@ for i in 4 3 2 1; do
|
||||
fi
|
||||
done
|
||||
|
||||
tmux new-session -d -s qs 'sleep 4 && quickshell'
|
||||
# tmux new-session -d -s qs 'sleep 4 && quickshell'
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Source the functions file
|
||||
notify-send "GoXLR inteface is starting"
|
||||
notify-send --app-name "GOXLR client" --icon "goxlr-utility" -u normal "Starting" "GoXLR inteface is starting"
|
||||
|
||||
# nohup goxlr-daemon &
|
||||
sleep 10
|
||||
goxlr-client profiles device load 'Default'
|
||||
notify-send "GoXLR start complete"
|
||||
notify-send --app-name "GOXLR client" --icon "goxlr-utility" -u normal "Started" "GoXLR start complete"
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Source the functions file
|
||||
source "$HOME/.config/function_helper.sh"
|
||||
|
||||
SCRIPT="goxlr-daemon"
|
||||
SCRIPT2="$HOME/.config/hypr/scripts/goxlr/goxlr-settings-start.sh"
|
||||
|
||||
nohup "$SCRIPT" &
|
||||
send_notification "normal" "GOXLR daemon Started" "Launched the GOXLR Daemon to control the Audio" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/goxlr-utility.svg"
|
||||
nohup "$SCRIPT2" &
|
||||
tmux new-session -d -s goxlr "$SCRIPT" &
|
||||
notify-send --app-name "GOXLR daemon" --icon "goxlr-utility" -u normal "Started" "Launched the GOXLR Daemon to control the Audio"
|
||||
"$SCRIPT2"
|
||||
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
[ -f /sys/class/power_supply/BAT0/type ] || exit 1
|
||||
type=$(</sys/class/power_supply/BAT0/type)
|
||||
[ "$type" != "Battery" ] && exit 1
|
||||
|
||||
cap=$(</sys/class/power_supply/BAT0/capacity)
|
||||
stat=$(</sys/class/power_supply/BAT0/status)
|
||||
|
||||
if [ "$stat" = "Discharging" ]; then
|
||||
printf " %s%%" "$cap"
|
||||
elif [ "$stat" = "Charging" ]; then
|
||||
printf " %s%%" "$cap"
|
||||
elif [ "$stat" = "Full" ]; then
|
||||
printf " %s%%" "Full"
|
||||
else
|
||||
printf ""
|
||||
fi
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
s=$(cut -d. -f1 /proc/uptime)
|
||||
h=$((s / 3600))
|
||||
m=$(((s % 3600) / 60))
|
||||
printf " %02d:%02dh" "$h" "$m"
|
||||
@@ -7,4 +7,4 @@ source "$HOME/.config/function_helper.sh"
|
||||
|
||||
send_notification "low" "Pressed Makropad Button" "Row 1, Colums 4" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/keyboard.svg"
|
||||
|
||||
~/.config/hypr/scripts/writing/todo.sh
|
||||
~/.config/hypr/scripts/makropad/writing/todo.sh
|
||||
|
||||
@@ -5,4 +5,4 @@ source "$HOME/.config/function_helper.sh"
|
||||
|
||||
send_notification "low" "Pressed Makropad Button" "Row 2, Colums 4 (08)" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/keyboard.svg"
|
||||
|
||||
~/.config/hypr/scripts/writing/tmdb.sh
|
||||
~/.config/hypr/scripts/makropad/writing/tmdb.sh
|
||||
|
||||
@@ -3,17 +3,51 @@
|
||||
### ~/.config/hypr/scripts/screenshot/screenshot_area.sh
|
||||
###
|
||||
|
||||
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||
time=$(date +%Y-%m-%d-%H%M%S)
|
||||
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||
file="Screenshot_${time}_${geometry}.png"
|
||||
file="Screenshot_${time}.png"
|
||||
|
||||
mkdir -p "$dir"
|
||||
|
||||
# Take screenshot of selected region using hyprshot
|
||||
hyprshot -m region -o "$dir" -f "$file"
|
||||
# Select a region with slurp; exit silently if cancelled (ESC/right-click)
|
||||
geometry=$(slurp) || exit 1
|
||||
|
||||
# Optional: open in swappy for annotation (since hyprshot doesn't pipe to swappy directly)
|
||||
# if command -v swappy >/dev/null 2>&1; then
|
||||
# swappy -f "$dir/$file"
|
||||
# fi
|
||||
# Capture region, save it and copy to clipboard
|
||||
grim -g "$geometry" "$dir/$file" || exit 1
|
||||
wl-copy -t image/png < "$dir/$file"
|
||||
|
||||
if command -v notify-send >/dev/null 2>&1; then
|
||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Area" "Screenshot saved $file"
|
||||
fi
|
||||
|
||||
# Open the editor if satty is available (blocks until it is closed).
|
||||
# satty writes the annotated image to --output-filename on Ctrl+s (and on
|
||||
# Esc/Enter here) and exits immediately. It is launched floating, without
|
||||
# decorations, with the pen preselected and moved over the captured area.
|
||||
if command -v satty >/dev/null 2>&1; then
|
||||
x=$(cut -d, -f1 <<< "$geometry")
|
||||
y=$(cut -d, -f2 <<< "$geometry" | cut -d' ' -f1)
|
||||
satty --filename "$dir/$file" --output-filename "$dir/$file" \
|
||||
--copy-command wl-copy --actions-on-escape save-to-file --early-exit \
|
||||
--floating-hack --no-window-decoration --initial-tool brush &
|
||||
pid=$!
|
||||
for _ in $(seq 1 20); do
|
||||
addr=$(hyprctl clients -j 2>/dev/null | jq -r --argjson p "$pid" '.[] | select(.pid == $p) | .address' | head -1)
|
||||
[ -n "$addr" ] && break
|
||||
sleep 0.1
|
||||
done
|
||||
if [ -n "$addr" ]; then
|
||||
# Lua config (Hyprland 0.55+) dispatches through hl.dsp.*, so try
|
||||
# hyprctl eval first, then the raw lua dispatch, then classic syntax.
|
||||
hyprctl eval "hl.dispatch(hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' }))" >/dev/null 2>&1 ||
|
||||
hyprctl dispatch "hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' })" >/dev/null 2>&1 ||
|
||||
hyprctl dispatch movewindowpixel "exact $x $y,address:$addr" >/dev/null 2>&1
|
||||
fi
|
||||
wait "$pid"
|
||||
wl-copy -t image/png < "$dir/$file"
|
||||
fi
|
||||
|
||||
# Compress the resulting image in the background if oxipng is available
|
||||
if command -v oxipng >/dev/null 2>&1; then
|
||||
oxipng --strip safe -o 4 "$dir/$file" &
|
||||
fi
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
#!/bin/bash
|
||||
###
|
||||
### ~/.config/hypr/scripts/screenshot/screenshot_area.sh
|
||||
### ~/.config/hypr/scripts/screenshot/screenshot_area_2.sh
|
||||
###
|
||||
|
||||
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||
file="Screenshot_${time}_${geometry}.png"
|
||||
# Select a region with slurp; exit silently if cancelled (ESC/right-click)
|
||||
geometry=$(slurp) || exit 1
|
||||
|
||||
mkdir -p "$dir"
|
||||
# Capture region and copy to clipboard only
|
||||
grim -g "$geometry" - | wl-copy -t image/png
|
||||
|
||||
# Take screenshot of selected region using hyprshot
|
||||
hyprshot -m region -o "$dir" -f "$file" --clipboard-only
|
||||
if command -v notify-send >/dev/null 2>&1; then
|
||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Area" "Screenshot copied to clipboard"
|
||||
fi
|
||||
|
||||
@@ -3,17 +3,52 @@
|
||||
### ~/.config/hypr/scripts/screenshot/screenshot_monitor.sh
|
||||
###
|
||||
|
||||
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||
time=$(date +%Y-%m-%d-%H%M%S)
|
||||
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||
file="Screenshot_${time}_${geometry}.png"
|
||||
|
||||
monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
||||
[ -n "$monitor" ] || exit 1
|
||||
|
||||
file="Screenshot_${time}_${monitor}.png"
|
||||
|
||||
mkdir -p "$dir"
|
||||
|
||||
# Take screenshot of selected region using hyprshot
|
||||
hyprshot -m output -o "$dir" -f "$file"
|
||||
# Capture the focused monitor, save it and copy to clipboard
|
||||
grim -o "$monitor" "$dir/$file" || exit 1
|
||||
wl-copy -t image/png < "$dir/$file"
|
||||
|
||||
# Optional: open in swappy for annotation (since hyprshot doesn't pipe to swappy directly)
|
||||
# if command -v swappy >/dev/null 2>&1; then
|
||||
# swappy -f "$dir/$file"
|
||||
# fi
|
||||
if command -v notify-send >/dev/null 2>&1; then
|
||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Monitor" "Screenshot saved $file"
|
||||
fi
|
||||
|
||||
# Open the editor if satty is available (blocks until it is closed).
|
||||
# satty writes the annotated image to --output-filename on Ctrl+s (and on
|
||||
# Esc/Enter here) and exits immediately. It is launched floating, without
|
||||
# decorations, with the pen preselected and moved over the captured area.
|
||||
if command -v satty >/dev/null 2>&1; then
|
||||
x=$(hyprctl monitors -j | jq -r --arg m "$monitor" '.[] | select(.name == $m) | .x')
|
||||
y=$(hyprctl monitors -j | jq -r --arg m "$monitor" '.[] | select(.name == $m) | .y')
|
||||
satty --filename "$dir/$file" --output-filename "$dir/$file" \
|
||||
--copy-command wl-copy --actions-on-escape save-to-file --early-exit \
|
||||
--floating-hack --no-window-decoration --initial-tool brush &
|
||||
pid=$!
|
||||
for _ in $(seq 1 20); do
|
||||
addr=$(hyprctl clients -j 2>/dev/null | jq -r --argjson p "$pid" '.[] | select(.pid == $p) | .address' | head -1)
|
||||
[ -n "$addr" ] && break
|
||||
sleep 0.1
|
||||
done
|
||||
if [ -n "$addr" ]; then
|
||||
# Lua config (Hyprland 0.55+) dispatches through hl.dsp.*, so try
|
||||
# hyprctl eval first, then the raw lua dispatch, then classic syntax.
|
||||
hyprctl eval "hl.dispatch(hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' }))" >/dev/null 2>&1 ||
|
||||
hyprctl dispatch "hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' })" >/dev/null 2>&1 ||
|
||||
hyprctl dispatch movewindowpixel "exact $x $y,address:$addr" >/dev/null 2>&1
|
||||
fi
|
||||
wait "$pid"
|
||||
wl-copy -t image/png < "$dir/$file"
|
||||
fi
|
||||
|
||||
# Compress the resulting image in the background if oxipng is available
|
||||
if command -v oxipng >/dev/null 2>&1; then
|
||||
oxipng --strip safe -o 4 "$dir/$file" &
|
||||
fi
|
||||
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
###
|
||||
### ~/.config/hypr/scripts/screenshot/ocr_area.sh
|
||||
###
|
||||
|
||||
# Ensure dependencies exist
|
||||
for cmd in slurp grim tesseract wl-copy; do
|
||||
if ! command -v "$cmd" >/dev/null 2>&1; then
|
||||
notify-send -a "OCR" -u critical "OCR Error" "Missing required command: $cmd"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Select a region with slurp; exit silently if cancelled (ESC/right-click)
|
||||
geometry=$(slurp) || exit 0
|
||||
|
||||
# Capture region directly from grim, pipe into tesseract, and save stdout to clipboard
|
||||
text=$(grim -g "$geometry" - | tesseract - stdout --psm 6 2>/dev/null)
|
||||
|
||||
# Exit if no text was detected
|
||||
if [ -z "$text" ]; then
|
||||
if command -v notify-send >/dev/null 2>&1; then
|
||||
notify-send -a "OCR" -i edit-select-all "OCR Failed" "No text recognized in selected area."
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Copy detected text to Wayland clipboard
|
||||
printf "%s" "$text" | wl-copy
|
||||
|
||||
# Notify user of successful extraction
|
||||
if command -v notify-send >/dev/null 2>&1; then
|
||||
# Truncate text preview for notification brevity
|
||||
preview=$(echo "$text" | head -n 3)
|
||||
notify-send --app-name "Screenshot" --icon "edit-find" -u normal "OCR" "Text Copied to Clipboard:\n$preview"
|
||||
fi
|
||||
|
||||
# Install: sudo pacman -S grim slurp tesseract tesseract-data-eng wl-clipboard libnotify
|
||||
@@ -3,17 +3,71 @@
|
||||
### ~/.config/hypr/scripts/screenshot/screenshot_window.sh
|
||||
###
|
||||
|
||||
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||
time=$(date +%Y-%m-%d-%H%M%S)
|
||||
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||
file="Screenshot_${time}_${geometry}.png"
|
||||
file="Screenshot_${time}.png"
|
||||
|
||||
mkdir -p "$dir"
|
||||
|
||||
# Take screenshot of selected region using hyprshot
|
||||
hyprshot -m window -o "$dir" -f "$file"
|
||||
# Build selection boxes for windows on visible workspaces
|
||||
ids=$(hyprctl monitors -j | jq -c '[.[].activeWorkspace.id]')
|
||||
boxes=$(hyprctl clients -j | jq -r --argjson ids "$ids" '
|
||||
[.[] | select(.workspace.id | IN($ids[]))] | .[] |
|
||||
"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1]) \(.title)"
|
||||
' | cut -d' ' -f1,2)
|
||||
|
||||
# Optional: open in swappy for annotation (since hyprshot doesn't pipe to swappy directly)
|
||||
# if command -v swappy >/dev/null 2>&1; then
|
||||
# swappy -f "$dir/$file"
|
||||
# fi
|
||||
# Let the user pick a window (click the box); exit silently if cancelled
|
||||
geometry=$(slurp -r <<< "$boxes") || exit 1
|
||||
|
||||
# Expand the selection by border + gap so the capture includes the border
|
||||
border=$(hyprctl getoption general:border_size -j | jq -r '(.int // 0)')
|
||||
gap=$(hyprctl getoption general:gaps_out -j | jq -r '(.int // 0)')
|
||||
pad=$(( border + gap ))
|
||||
|
||||
geometry=$(awk -v p="$pad" '
|
||||
{
|
||||
split($1, pos, ",");
|
||||
split($2, size, "x");
|
||||
printf "%d,%d %dx%d\n",
|
||||
pos[1] - p, pos[2] - p, size[1] + p * 2, size[2] + p * 2
|
||||
}' <<< "$geometry")
|
||||
|
||||
# Capture the window, save it and copy to clipboard
|
||||
grim -g "$geometry" "$dir/$file" || exit 1
|
||||
wl-copy -t image/png < "$dir/$file"
|
||||
|
||||
if command -v notify-send >/dev/null 2>&1; then
|
||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Window" "Screenshot saved $file"
|
||||
fi
|
||||
|
||||
# Open the editor if satty is available (blocks until it is closed).
|
||||
# satty writes the annotated image to --output-filename on Ctrl+s (and on
|
||||
# Esc/Enter here) and exits immediately. It is launched floating, without
|
||||
# decorations, with the pen preselected and moved over the captured area.
|
||||
if command -v satty >/dev/null 2>&1; then
|
||||
x=$(cut -d, -f1 <<< "$geometry")
|
||||
y=$(cut -d, -f2 <<< "$geometry" | cut -d' ' -f1)
|
||||
satty --filename "$dir/$file" --output-filename "$dir/$file" \
|
||||
--copy-command wl-copy --actions-on-escape save-to-file --early-exit \
|
||||
--floating-hack --no-window-decoration --initial-tool brush &
|
||||
pid=$!
|
||||
for _ in $(seq 1 20); do
|
||||
addr=$(hyprctl clients -j 2>/dev/null | jq -r --argjson p "$pid" '.[] | select(.pid == $p) | .address' | head -1)
|
||||
[ -n "$addr" ] && break
|
||||
sleep 0.1
|
||||
done
|
||||
if [ -n "$addr" ]; then
|
||||
# Lua config (Hyprland 0.55+) dispatches through hl.dsp.*, so try
|
||||
# hyprctl eval first, then the raw lua dispatch, then classic syntax.
|
||||
hyprctl eval "hl.dispatch(hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' }))" >/dev/null 2>&1 ||
|
||||
hyprctl dispatch "hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' })" >/dev/null 2>&1 ||
|
||||
hyprctl dispatch movewindowpixel "exact $x $y,address:$addr" >/dev/null 2>&1
|
||||
fi
|
||||
wait "$pid"
|
||||
wl-copy -t image/png < "$dir/$file"
|
||||
fi
|
||||
|
||||
# Compress the resulting image in the background if oxipng is available
|
||||
if command -v oxipng >/dev/null 2>&1; then
|
||||
oxipng --strip safe -o 4 "$dir/$file" &
|
||||
fi
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
timeout=50 # 10 seconds max (50 * 0.2s)
|
||||
count=0
|
||||
|
||||
while (( count < timeout )); do
|
||||
# Grab both address and floating status
|
||||
read -r win_addr floating <<< $(hyprctl -j clients | jq -r '.[] | select(.title == "Grayjay") | "\(.address) \(.floating)"')
|
||||
|
||||
if [[ -n "$win_addr" ]]; then
|
||||
# Add 0x prefix if missing
|
||||
if [[ "$win_addr" != 0x* ]]; then
|
||||
win_addr="0x$win_addr"
|
||||
fi
|
||||
|
||||
# If the window is floating, toggle to make it tiled
|
||||
if [[ "$floating" == "true" ]]; then
|
||||
hyprctl dispatch togglefloating address:$win_addr
|
||||
fi
|
||||
|
||||
# Move to workspace 2 silently
|
||||
hyprctl dispatch movetoworkspacesilent 2,address:$win_addr
|
||||
exit 0
|
||||
fi
|
||||
|
||||
sleep 0.2
|
||||
((count++))
|
||||
done
|
||||
|
||||
echo "Grayjay window not found within timeout." >&2
|
||||
exit 1
|
||||
@@ -1,39 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
timeout=50 # 10 seconds max (50 * 0.2s)
|
||||
count=0
|
||||
|
||||
while (( count < timeout )); do
|
||||
win_addr=$(hyprctl clients | awk '
|
||||
/^Window/ { addr=$2 }
|
||||
/title: GoXLR Utility/ { print addr }
|
||||
')
|
||||
|
||||
if [[ -n "$win_addr" ]]; then
|
||||
# Add 0x prefix if missing
|
||||
if [[ "$win_addr" != 0x* ]]; then
|
||||
win_addr="0x$win_addr"
|
||||
fi
|
||||
|
||||
# Get fullscreen state (1 or 0)
|
||||
fullscreen_state=$(hyprctl clients | awk -v addr="${win_addr#0x}" '
|
||||
$1 == "Window" && $2 == addr { found=1 }
|
||||
found && /^fullscreen:/ { print $2; exit }
|
||||
')
|
||||
|
||||
if [[ "$fullscreen_state" == "1" ]]; then
|
||||
hyprctl dispatch fullscreen address:$win_addr
|
||||
echo "Fullscreen disabled for GoXLR Utility."
|
||||
else
|
||||
echo "GoXLR Utility is not fullscreen."
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
sleep 0.2
|
||||
((count++))
|
||||
done
|
||||
|
||||
echo "GoXLR Utility window not found within timeout." >&2
|
||||
exit 1
|
||||
Reference in New Issue
Block a user