diff --git a/dots/.config/hypr/hyprland/keybinds.conf b/dots/.config/hypr/hyprland/keybinds.conf index 6085e7de4..604a5b87b 100644 --- a/dots/.config/hypr/hyprland/keybinds.conf +++ b/dots/.config/hypr/hyprland/keybinds.conf @@ -65,14 +65,10 @@ bind = Super+Shift, A, global, quickshell:regionSearch # Google Lens bind = Super+Shift, A, exec, qs -c $qsConfig ipc call TEST_ALIVE || pidof slurp || ~/.config/hypr/hyprland/scripts/snip_to_search.sh # [hidden] Google Lens (fallback) # OCR bind = Super+Shift, X, global, quickshell:regionOcr # Character recognition >> clipboard -bind = Super+Shift, T, global, quickshell:regionOcr # [hidden] +bind = Super+Shift, T, global, quickshell:screenTranslate # Translate screen content bind = Super+Shift, X,exec, qs -c $qsConfig ipc call TEST_ALIVE || pidof slurp || grim -g "$(slurp $SLURP_ARGS)" "/tmp/ocr_image.png" && tesseract "/tmp/ocr_image.png" stdout -l $(tesseract --list-langs | awk 'NR>1{print $1}' | tr '\\n' '+' | sed 's/\\+$/\\n/') | wl-copy && rm "/tmp/ocr_image.png" # [hidden] -bind = Super+Shift, T,exec, qs -c $qsConfig ipc call TEST_ALIVE || pidof slurp || grim -g "$(slurp $SLURP_ARGS)" "/tmp/ocr_image.png" && tesseract "/tmp/ocr_image.png" stdout -l $(tesseract --list-langs | awk 'NR>1{print $1}' | tr '\\n' '+' | sed 's/\\+$/\\n/') | wl-copy && rm "/tmp/ocr_image.png" # [hidden] # Color picker bindd = Super+Shift, C, Color picker, exec, hyprpicker -a # Pick color (Hex) >> clipboard -# Fullscreen screenshot -bindl = ,Print,exec,grim - | wl-copy # Screenshot >> clipboard -bindln = Ctrl,Print, exec, mkdir -p $(xdg-user-dir PICTURES)/Screenshots && grim $(xdg-user-dir PICTURES)/Screenshots/Screenshot_"$(date '+%Y-%m-%d_%H.%M.%S')".png # Screenshot >> clipboard & file (file) bindln = Ctrl,Print,exec,grim - | wl-copy # [hidden] Screenshot >> clipboard & file (clipboard) # Recording stuff bindl = Super+Shift, R, global, quickshell:regionRecord # Record region (no sound) @@ -81,6 +77,9 @@ bindl = Super+Alt, R, global, quickshell:regionRecord # [hidden] Record region ( bindl = Super+Alt, R, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/quickshell/$qsConfig/scripts/videos/record.sh # [hidden] Record region (no sound) (fallback) bindl = Ctrl+Alt, R, exec, ~/.config/quickshell/$qsConfig/scripts/videos/record.sh --fullscreen # [hidden] Record screen (no sound) bindl = Super+Shift+Alt, R, exec, ~/.config/quickshell/$qsConfig/scripts/videos/record.sh --fullscreen --sound # Record screen (with sound) +# Fullscreen screenshot +bindl = ,Print,exec,grim - | wl-copy # Screenshot >> clipboard +bindln = Ctrl,Print, exec, mkdir -p $(xdg-user-dir PICTURES)/Screenshots && grim $(xdg-user-dir PICTURES)/Screenshots/Screenshot_"$(date '+%Y-%m-%d_%H.%M.%S')".png # Screenshot >> clipboard & file # AI bindd = Super+Shift+Alt, mouse:273, Generate AI summary for selected text, exec, ~/.config/hypr/hyprland/scripts/ai/primary-buffer-query.sh # [hidden] AI summary for selected text diff --git a/dots/.config/quickshell/ii/modules/ii/screenTranslator/ScreenTranslator.qml b/dots/.config/quickshell/ii/modules/ii/screenTranslator/ScreenTranslator.qml index 39db82909..98816b61b 100644 --- a/dots/.config/quickshell/ii/modules/ii/screenTranslator/ScreenTranslator.qml +++ b/dots/.config/quickshell/ii/modules/ii/screenTranslator/ScreenTranslator.qml @@ -11,12 +11,27 @@ Scope { function dismiss() { GlobalStates.screenTranslatorOpen = false } + + readonly property var currentScreen: Quickshell.screens.find(s => s.name === Hyprland.focusedMonitor?.name) ?? null Loader { id: translatorLoader - active: GlobalStates.screenTranslatorOpen + property var lockedScreen + active: false + Connections { + target: GlobalStates + function onScreenTranslatorOpenChanged() { + if (!GlobalStates.screenTranslatorOpen) { + translatorLoader.active = false; + } else { + translatorLoader.lockedScreen = root.currentScreen + translatorLoader.active = true + } + } + } sourceComponent: ScreenTranslatorPanel { + screen: translatorLoader.lockedScreen onDismiss: root.dismiss() } }