mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
ScreenRecorder: removed from core - use the plugin instead.
This commit is contained in:
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Energieprofil",
|
||||
"tooltip-disabled": "Installiere power-profiles-daemon, um Energieprofile zu verwenden"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Aufnehmen"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "WLAN getrennt",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Modern"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "System-Ausgabe + Mikrofon-Eingabe",
|
||||
"audio-sources-microphone-input": "Mikrofon-Eingabe",
|
||||
"audio-sources-none": "Kein Audio",
|
||||
"audio-sources-system-output": "System-Ausgabe",
|
||||
"color-range-full": "Vollständig",
|
||||
"color-range-limited": "Begrenzt",
|
||||
"quality-high": "Hoch",
|
||||
"quality-medium": "Mittel",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Sehr hoch",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Bildschirm"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Immer scrollen",
|
||||
"hover": "Beim Hover scrollen",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Region"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus wird für beste Leistung und kleinste Audio-Größe empfohlen.",
|
||||
"audio-audio-codec-label": "Audio-Codec",
|
||||
"audio-audio-source-description": "Audio-Quelle für die Aufnahme.",
|
||||
"audio-audio-source-label": "Audio-Quelle",
|
||||
"audio-desc": "Audio-Aufnahme-Optionen konfigurieren.",
|
||||
"audio-title": "Audio-Einstellungen",
|
||||
"general-copy-to-clipboard-description": "Kopiere die Datei nach Beendigung der Aufnahme in die Zwischenablage.",
|
||||
"general-copy-to-clipboard-label": "In die Zwischenablage kopieren",
|
||||
"general-desc": "Bildschirmaufnahme-Ausgabe und -Inhalt verwalten.",
|
||||
"general-output-folder-description": "Ordner, in dem Bildschirmaufnahmen gespeichert werden.",
|
||||
"general-output-folder-label": "Ausgabe-Ordner",
|
||||
"general-select-output-folder": "Ausgabe-Ordner auswählen",
|
||||
"general-show-cursor-description": "Mauszeiger im Video aufnehmen.",
|
||||
"general-show-cursor-label": "Cursor anzeigen",
|
||||
"general-title": "Allgemeine Einstellungen",
|
||||
"title": "Bildschirmrekorder",
|
||||
"video-color-range-description": "Begrenzt wird für bessere Kompatibilität empfohlen.",
|
||||
"video-color-range-label": "Farbbereich",
|
||||
"video-desc": "Video-Aufnahme-Optionen konfigurieren.",
|
||||
"video-frame-rate-description": "Ziel-Bildrate für Bildschirmaufnahmen.",
|
||||
"video-title": "Video-Einstellungen",
|
||||
"video-video-codec-description": "h264 ist der gebräuchlichste Codec.",
|
||||
"video-video-codec-label": "Video-Codec",
|
||||
"video-video-quality-description": "Höhere Qualität führt zu größeren Dateigrößen.",
|
||||
"video-video-quality-label": "Video-Qualität",
|
||||
"video-video-source-description": "Portal wird empfohlen, bei Artefakten versuchen Sie Bildschirm.",
|
||||
"video-video-source-label": "Video-Quelle"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Legen Sie fest, wie lange der Countdown-Timer vor der Ausführung von Energieaktionen dauert.",
|
||||
"countdown-duration-label": "Countdown-Dauer",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Wallhaven-Ergebnisse aktualisieren",
|
||||
"refresh-wallpaper-list": "Hintergrundbild-Liste aktualisieren",
|
||||
"remove-widget": "Widget entfernen",
|
||||
"screen-recorder-not-installed": "Bildschirmrekorder (nicht installiert)",
|
||||
"search-close": "Suche schließen",
|
||||
"session-menu": "Sitzungsmenü",
|
||||
"show-all-devices": "Alle Geräte anzeigen",
|
||||
"stop-screen-recording": "Bildschirmrekorder",
|
||||
"switch-to-dark-mode": "Dunkler Modus",
|
||||
"switch-to-light-mode": "Heller Modus",
|
||||
"unmute": "Stummschaltung aufheben",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Power Profile",
|
||||
"tooltip-disabled": "Install power-profiles-daemon to use power profiles"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Record"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi disconnected",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Modern"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "System output + microphone input",
|
||||
"audio-sources-microphone-input": "Microphone input",
|
||||
"audio-sources-none": "No audio",
|
||||
"audio-sources-system-output": "System output",
|
||||
"color-range-full": "Full",
|
||||
"color-range-limited": "Limited",
|
||||
"quality-high": "High",
|
||||
"quality-medium": "Medium",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Very high",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Screen"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Scroll always",
|
||||
"hover": "Scroll on hover",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Region"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus is recommended for best performance and smallest audio size.",
|
||||
"audio-audio-codec-label": "Audio codec",
|
||||
"audio-audio-source-description": "Audio source to capture during recording.",
|
||||
"audio-audio-source-label": "Audio source",
|
||||
"audio-desc": "Configure audio recording options.",
|
||||
"audio-title": "Audio settings",
|
||||
"general-copy-to-clipboard-description": "Copy the file to clipboard after recording finishes.",
|
||||
"general-copy-to-clipboard-label": "Copy to clipboard",
|
||||
"general-desc": "Manage screen recording output and content.",
|
||||
"general-output-folder-description": "Folder where screen recordings will be saved.",
|
||||
"general-output-folder-label": "Output folder",
|
||||
"general-select-output-folder": "Select output folder",
|
||||
"general-show-cursor-description": "Record mouse cursor in the video.",
|
||||
"general-show-cursor-label": "Show cursor",
|
||||
"general-title": "General settings",
|
||||
"title": "Screen Recorder",
|
||||
"video-color-range-description": "Limited is recommended for better compatibility.",
|
||||
"video-color-range-label": "Color range",
|
||||
"video-desc": "Configure video recording options.",
|
||||
"video-frame-rate-description": "Target frame rate for screen recordings.",
|
||||
"video-title": "Video settings",
|
||||
"video-video-codec-description": "h264 is the most common codec.",
|
||||
"video-video-codec-label": "Video codec",
|
||||
"video-video-quality-description": "Higher quality results in larger file sizes.",
|
||||
"video-video-quality-label": "Video quality",
|
||||
"video-video-source-description": "Portal is recommended, if you get artifacts try Screen.",
|
||||
"video-video-source-label": "Video source"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Set how long the countdown timer lasts before executing power actions.",
|
||||
"countdown-duration-label": "Countdown duration",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Refresh Wallhaven results",
|
||||
"refresh-wallpaper-list": "Refresh wallpaper list",
|
||||
"remove-widget": "Remove widget",
|
||||
"screen-recorder-not-installed": "Screen recorder (not installed)",
|
||||
"search-close": "Close search",
|
||||
"session-menu": "Session menu",
|
||||
"show-all-devices": "Show all devices",
|
||||
"stop-screen-recording": "Screen recorder",
|
||||
"switch-to-dark-mode": "Dark Mode",
|
||||
"switch-to-light-mode": "Light Mode",
|
||||
"unmute": "Unmute",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Perfil de energía",
|
||||
"tooltip-disabled": "Instala power-profiles-daemon para usar perfiles de energía"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Grabar"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi desconectado",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Moderno"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Salida del sistema + entrada del micrófono",
|
||||
"audio-sources-microphone-input": "Entrada del micrófono",
|
||||
"audio-sources-none": "No audio",
|
||||
"audio-sources-system-output": "Salida del sistema",
|
||||
"color-range-full": "Completo",
|
||||
"color-range-limited": "Limitado",
|
||||
"quality-high": "Alta",
|
||||
"quality-medium": "Media",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Muy alta",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Pantalla"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Desplazar siempre",
|
||||
"hover": "Desplazar al pasar",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Región"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Se recomienda Opus para el mejor rendimiento y el menor tamaño de audio.",
|
||||
"audio-audio-codec-label": "Códec de audio",
|
||||
"audio-audio-source-description": "Fuente de audio a capturar durante la grabación.",
|
||||
"audio-audio-source-label": "Fuente de audio",
|
||||
"audio-desc": "Configura las opciones de grabación de audio.",
|
||||
"audio-title": "Configuración de audio",
|
||||
"general-copy-to-clipboard-description": "Copiar el archivo al portapapeles después de que termine la grabación.",
|
||||
"general-copy-to-clipboard-label": "Copiar al portapapeles",
|
||||
"general-desc": "Gestiona la salida y el contenido de la grabación de pantalla.",
|
||||
"general-output-folder-description": "Carpeta donde se guardarán las grabaciones de pantalla.",
|
||||
"general-output-folder-label": "Carpeta de salida",
|
||||
"general-select-output-folder": "Seleccionar carpeta de salida",
|
||||
"general-show-cursor-description": "Grabar el cursor del ratón en el video.",
|
||||
"general-show-cursor-label": "Mostrar cursor",
|
||||
"general-title": "Configuración general",
|
||||
"title": "Grabadora de pantalla",
|
||||
"video-color-range-description": "Se recomienda limitado para una mejor compatibilidad.",
|
||||
"video-color-range-label": "Rango de color",
|
||||
"video-desc": "Configura las opciones de grabación de video.",
|
||||
"video-frame-rate-description": "Tasa de fotogramas objetivo para las grabaciones de pantalla.",
|
||||
"video-title": "Configuración de video",
|
||||
"video-video-codec-description": "h264 es el códec más común.",
|
||||
"video-video-codec-label": "Códec de video",
|
||||
"video-video-quality-description": "Una mayor calidad resulta en archivos de mayor tamaño.",
|
||||
"video-video-quality-label": "Calidad de video",
|
||||
"video-video-source-description": "Se recomienda Portal; si aparecen artefactos, prueba Screen.",
|
||||
"video-video-source-label": "Fuente de video"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Establecer cuánto tiempo dura el temporizador de cuenta regresiva antes de ejecutar acciones de energía.",
|
||||
"countdown-duration-label": "Duración de la cuenta regresiva",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Actualizar resultados de Wallhaven",
|
||||
"refresh-wallpaper-list": "Actualizar lista de fondos de pantalla",
|
||||
"remove-widget": "Eliminar widget",
|
||||
"screen-recorder-not-installed": "Grabadora de pantalla (no instalada)",
|
||||
"search-close": "Cerrar búsqueda",
|
||||
"session-menu": "Menú de sesión",
|
||||
"show-all-devices": "Mostrar todos los dispositivos",
|
||||
"stop-screen-recording": "Grabadora de pantalla",
|
||||
"switch-to-dark-mode": "Modo oscuro",
|
||||
"switch-to-light-mode": "Modo claro",
|
||||
"unmute": "Activar el audio",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Profil d'alimentation",
|
||||
"tooltip-disabled": "Installez power-profiles-daemon pour utiliser les profils d'alimentation"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Enregistrer"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi déconnecté",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Moderne"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Sortie système + entrée microphone",
|
||||
"audio-sources-microphone-input": "Entrée microphone",
|
||||
"audio-sources-none": "Pas d'audio",
|
||||
"audio-sources-system-output": "Sortie système",
|
||||
"color-range-full": "Complète",
|
||||
"color-range-limited": "Limitée",
|
||||
"quality-high": "Haute",
|
||||
"quality-medium": "Moyenne",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Très haute",
|
||||
"sources-portal": "Portail",
|
||||
"sources-screen": "Écran"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Défiler toujours",
|
||||
"hover": "Défiler au survol",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Région"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus est recommandé pour de meilleures performances et une taille audio minimale.",
|
||||
"audio-audio-codec-label": "Codec audio",
|
||||
"audio-audio-source-description": "Source audio à capturer pendant l'enregistrement.",
|
||||
"audio-audio-source-label": "Source audio",
|
||||
"audio-desc": "Configurez les options d'enregistrement audio.",
|
||||
"audio-title": "Paramètres audio",
|
||||
"general-copy-to-clipboard-description": "Copier le fichier dans le presse-papiers une fois l'enregistrement terminé.",
|
||||
"general-copy-to-clipboard-label": "Copier dans le presse-papiers",
|
||||
"general-desc": "Gérez la sortie et le contenu de l'enregistrement d'écran.",
|
||||
"general-output-folder-description": "Dossier où les enregistrements d'écran seront sauvegardés.",
|
||||
"general-output-folder-label": "Dossier de sortie",
|
||||
"general-select-output-folder": "Sélectionner le dossier de sortie",
|
||||
"general-show-cursor-description": "Enregistrez le curseur de la souris dans la vidéo.",
|
||||
"general-show-cursor-label": "Afficher le curseur",
|
||||
"general-title": "Paramètres généraux",
|
||||
"title": "Enregistreur d'écran",
|
||||
"video-color-range-description": "Limitée est recommandée pour une meilleure compatibilité.",
|
||||
"video-color-range-label": "Gamme de couleurs",
|
||||
"video-desc": "Configurez les options d'enregistrement vidéo.",
|
||||
"video-frame-rate-description": "Fréquence d'images cible pour les enregistrements d'écran.",
|
||||
"video-title": "Paramètres vidéo",
|
||||
"video-video-codec-description": "h264 est le codec le plus courant.",
|
||||
"video-video-codec-label": "Codec vidéo",
|
||||
"video-video-quality-description": "Une qualité supérieure entraîne des fichiers de plus grande taille.",
|
||||
"video-video-quality-label": "Qualité vidéo",
|
||||
"video-video-source-description": "Portail est recommandé, si vous obtenez des artefacts, essayez Écran.",
|
||||
"video-video-source-label": "Source vidéo"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Définir la durée du compte à rebours avant d'exécuter les actions d'alimentation.",
|
||||
"countdown-duration-label": "Durée du compte à rebours",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Actualiser les résultats de Wallhaven",
|
||||
"refresh-wallpaper-list": "Actualiser la liste des fonds d'écran",
|
||||
"remove-widget": "Supprimer le widget",
|
||||
"screen-recorder-not-installed": "Enregistreur d'écran (non installé)",
|
||||
"search-close": "Fermer la recherche",
|
||||
"session-menu": "Menu de session",
|
||||
"show-all-devices": "Afficher tous les appareils",
|
||||
"stop-screen-recording": "Enregistreur d'écran",
|
||||
"switch-to-dark-mode": "Mode sombre",
|
||||
"switch-to-light-mode": "Mode clair",
|
||||
"unmute": "Réactiver le micro",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Energiaprofil",
|
||||
"tooltip-disabled": "Telepítse a power-profiles-daemon-t az energiaprofilok használatához"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Felvétel"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi leválasztva",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Modern"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Rendszerkimenet + mikrofonbemenet",
|
||||
"audio-sources-microphone-input": "Mikrofonbemenet",
|
||||
"audio-sources-none": "No audio",
|
||||
"audio-sources-system-output": "Rendszerkimenet",
|
||||
"color-range-full": "Teljes",
|
||||
"color-range-limited": "Korlátozott",
|
||||
"quality-high": "Magas",
|
||||
"quality-medium": "Közepes",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Nagyon magas",
|
||||
"sources-portal": "Portál",
|
||||
"sources-screen": "Képernyő"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Mindig görgetés",
|
||||
"hover": "Görgetés rámutatáskor",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Régió"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Az Opus ajánlott a legjobb teljesítmény és a legkisebb hangméret érdekében.",
|
||||
"audio-audio-codec-label": "Hang kodek",
|
||||
"audio-audio-source-description": "Rögzítés során rögzítendő hangforrás.",
|
||||
"audio-audio-source-label": "Hangforrás",
|
||||
"audio-desc": "Hangrögzítési beállítások konfigurálása.",
|
||||
"audio-title": "Hangbeállítások",
|
||||
"general-copy-to-clipboard-description": "A felvétel befejezése után másold a fájlt a vágólapra.",
|
||||
"general-copy-to-clipboard-label": "Másolás a vágólapra",
|
||||
"general-desc": "Képernyőfelvétel kimenetének és tartalmának kezelése.",
|
||||
"general-output-folder-description": "Mappa, ahová a képernyőfelvételek mentésre kerülnek.",
|
||||
"general-output-folder-label": "Kimeneti mappa",
|
||||
"general-select-output-folder": "Kimeneti mappa kiválasztása",
|
||||
"general-show-cursor-description": "Egérmutató rögzítése a videóban.",
|
||||
"general-show-cursor-label": "Mutató megjelenítése",
|
||||
"general-title": "Általános beállítások",
|
||||
"title": "Képernyőfelvevő",
|
||||
"video-color-range-description": "A korlátozott ajánlott a jobb kompatibilitás érdekében.",
|
||||
"video-color-range-label": "Színtartomány",
|
||||
"video-desc": "Videórögzítési beállítások konfigurálása.",
|
||||
"video-frame-rate-description": "Cél képkockasebesség a képernyőfelvételekhez.",
|
||||
"video-title": "Videóbeállítások",
|
||||
"video-video-codec-description": "A h264 a leggyakoribb kodek.",
|
||||
"video-video-codec-label": "Videó kodek",
|
||||
"video-video-quality-description": "A jobb minőség nagyobb fájlméreteket eredményez.",
|
||||
"video-video-quality-label": "Videó minősége",
|
||||
"video-video-source-description": "A Portal ajánlott, ha hibákat tapasztal, próbálja meg a Képernyőt.",
|
||||
"video-video-source-label": "Videóforrás"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Állítsa be, mennyi ideig tart a visszaszámlálás az energiagazdálkodási műveletek végrehajtása előtt.",
|
||||
"countdown-duration-label": "Visszaszámlálás időtartama",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Wallhaven eredmények frissítése",
|
||||
"refresh-wallpaper-list": "Háttérkép lista frissítése",
|
||||
"remove-widget": "Widget eltávolítása",
|
||||
"screen-recorder-not-installed": "Képernyőfelvevő (nincs telepítve)",
|
||||
"search-close": "Keresés bezárása",
|
||||
"session-menu": "Munkamenet menü",
|
||||
"show-all-devices": "Összes eszköz megjelenítése",
|
||||
"stop-screen-recording": "Képernyőfelvevő",
|
||||
"switch-to-dark-mode": "Sötét mód",
|
||||
"switch-to-light-mode": "Világos mód",
|
||||
"unmute": "Némítás feloldása",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "電源プロファイル",
|
||||
"tooltip-disabled": "電源プロファイルを使用するには power-profiles-daemon をインストールしてください"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "録画"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi 未接続",
|
||||
"label-ethernet": "イーサネット"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "モダン"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "システム出力 + マイク入力",
|
||||
"audio-sources-microphone-input": "マイク入力",
|
||||
"audio-sources-none": "No audio",
|
||||
"audio-sources-system-output": "システム出力",
|
||||
"color-range-full": "フル",
|
||||
"color-range-limited": "リミテッド",
|
||||
"quality-high": "高",
|
||||
"quality-medium": "標準",
|
||||
"quality-ultra": "ウルトラ",
|
||||
"quality-very-high": "最高",
|
||||
"sources-portal": "ポータル",
|
||||
"sources-screen": "スクリーン"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "常にスクロール",
|
||||
"hover": "ホバー時にスクロール",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "地域"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "最高のパフォーマンスと最小のファイルサイズを実現する Opus を推奨します。",
|
||||
"audio-audio-codec-label": "オーディオコーデック",
|
||||
"audio-audio-source-description": "録画中にキャプチャする音声ソース。",
|
||||
"audio-audio-source-label": "オーディオソース",
|
||||
"audio-desc": "音声録音のオプションを設定します。",
|
||||
"audio-title": "オーディオ設定",
|
||||
"general-copy-to-clipboard-description": "録画終了後、ファイルをクリップボードにコピーします。",
|
||||
"general-copy-to-clipboard-label": "クリップボードにコピー",
|
||||
"general-desc": "画面録画の出力先や内容を管理します。",
|
||||
"general-output-folder-description": "画面録画ファイルを保存するフォルダ。",
|
||||
"general-output-folder-label": "出力フォルダ",
|
||||
"general-select-output-folder": "出力フォルダを選択",
|
||||
"general-show-cursor-description": "動画にマウスカーソルを含めて録画します。",
|
||||
"general-show-cursor-label": "カーソルを表示",
|
||||
"general-title": "一般",
|
||||
"title": "スクリーンレコーダー",
|
||||
"video-color-range-description": "互換性を高めるため、リミテッドを推奨します。",
|
||||
"video-color-range-label": "カラーレンジ",
|
||||
"video-desc": "映像録画のオプションを設定します。",
|
||||
"video-frame-rate-description": "画面録画のターゲットフレームレート。",
|
||||
"video-title": "ビデオ設定",
|
||||
"video-video-codec-description": "H264 が最も一般的なコーデックです。",
|
||||
"video-video-codec-label": "ビデオコーデック",
|
||||
"video-video-quality-description": "品質を高くすると、ファイルサイズが大きくなります。",
|
||||
"video-video-quality-label": "ビデオ品質",
|
||||
"video-video-source-description": "ポータルを推奨します。映像が乱れる場合はスクリーンを試してください。",
|
||||
"video-video-source-label": "ビデオソース"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "カウントダウンタイマーが電源操作を実行するまでの時間を設定します。",
|
||||
"countdown-duration-label": "カウントダウンの時間",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Wallhaven の検索結果を更新",
|
||||
"refresh-wallpaper-list": "壁紙リストを更新",
|
||||
"remove-widget": "ウィジェットを削除",
|
||||
"screen-recorder-not-installed": "スクリーンレコーダー(未インストール)",
|
||||
"search-close": "検索を閉じる",
|
||||
"session-menu": "セッションメニュー",
|
||||
"show-all-devices": "すべてのデバイスを表示",
|
||||
"stop-screen-recording": "画面録画",
|
||||
"switch-to-dark-mode": "ダークモード",
|
||||
"switch-to-light-mode": "ライトモード",
|
||||
"unmute": "ミュート解除",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Power profile",
|
||||
"tooltip-disabled": "Daemonê power-profiles-daemon saz bike da ku profîlên hêzê bikar bîne"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Tomar bike"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi qut bû.",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Nûjen"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Derana pergalê + ketana mîkrofonê",
|
||||
"audio-sources-microphone-input": "Ketana mîkrofonê",
|
||||
"audio-sources-none": "Bê deng.",
|
||||
"audio-sources-system-output": "Derana pergal",
|
||||
"color-range-full": "Tijî",
|
||||
"color-range-limited": "Sînorkirî",
|
||||
"quality-high": "Bilind",
|
||||
"quality-medium": "Navîn",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Pir bilind",
|
||||
"sources-portal": "Dergeh",
|
||||
"sources-screen": "Dîmender"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Her tim bigere",
|
||||
"hover": "Li ser gerandinê bigere",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Herêm"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "ئۆپووس بۆ باشترین ئەنجام و بچووکترین قەبارەی دەنگی پێشنیار دەکرێت.",
|
||||
"audio-audio-codec-label": "Kodkirina dengê",
|
||||
"audio-audio-source-description": "Çavkaniya dengî ya ku di dema tomarkirinê de were girtin.",
|
||||
"audio-audio-source-label": "Çavkaniya dengê",
|
||||
"audio-desc": "Vebijarkên tomarkirina dengî saz bike.",
|
||||
"audio-title": "Sazkariyên dengê",
|
||||
"general-copy-to-clipboard-description": "Piştî qedandina tomarkirinê pelê kopî bike clipboardê.",
|
||||
"general-copy-to-clipboard-label": "Kopî bo clipboardê",
|
||||
"general-desc": "Derana tomarkirina dîmenderê û naverokê bi rê ve bibe.",
|
||||
"general-output-folder-description": "Pelda ku dê tomarên dîmenderê lê bên hilanîn.",
|
||||
"general-output-folder-label": "Peldanka deranê",
|
||||
"general-select-output-folder": "Pelda qeydê hilbijêre",
|
||||
"general-show-cursor-description": "Di vîdyoyê de nîşana mişkê tomar bike.",
|
||||
"general-show-cursor-label": "Nîşankar nîşan bide",
|
||||
"general-title": "Sazkariyên giştî",
|
||||
"title": "Tomarkarê dîmenderê",
|
||||
"video-color-range-description": "Ji bo çêtir lihevhatin, sînorkirî tê pêşniyarkirin.",
|
||||
"video-color-range-label": "Rêjeya rengê",
|
||||
"video-desc": "Vebijarkên tomarkirina vîdyoyê saz bike.",
|
||||
"video-frame-rate-description": "ڕێژەی چوارچێوەی ئامانج بۆ تۆمارکردنی شاشە.",
|
||||
"video-title": "Sazkariyên vîdyoyê",
|
||||
"video-video-codec-description": "h264 kodeka herî berbelav e.",
|
||||
"video-video-codec-label": "Kodkirinê vîdyoyê",
|
||||
"video-video-quality-description": "Bilindtir kalîte dibe sedema mezinahiya pelên.",
|
||||
"video-video-quality-label": "Kalîteya vîdyoyê",
|
||||
"video-video-source-description": "Gerîn tê pêşniyarkirin, eger te artefakt dîtin, Screen biceribîne.",
|
||||
"video-video-source-label": "Çavkaniya vîdyoyê"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Demjimêra heta pêkanîna kiryarên hêzê destnîşan bike.",
|
||||
"countdown-duration-label": "Dirêjahiya jimartinê berjêr",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Nûkirina encamên Wallhavenê",
|
||||
"refresh-wallpaper-list": "Nûkirina lîsteya dîwêr",
|
||||
"remove-widget": "Rakire amûrekê",
|
||||
"screen-recorder-not-installed": "Tomarkarê dîmenderê (nehatiye sazkirin)",
|
||||
"search-close": "Lêgerînê bigire",
|
||||
"session-menu": "Menuya danişînê",
|
||||
"show-all-devices": "Hemû amûran nîşan bide",
|
||||
"stop-screen-recording": "Tomarkarê dîmenderê",
|
||||
"switch-to-dark-mode": "Awaya tarî",
|
||||
"switch-to-light-mode": "Awaya ronahî",
|
||||
"unmute": "Bêdeng neke",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Energieprofiel",
|
||||
"tooltip-disabled": "Installeer power-profiles-daemon om energieprofielen te gebruiken"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Opnemen"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi niet verbonden",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Modern"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Systeemuitvoer + microfooninvoer",
|
||||
"audio-sources-microphone-input": "Microfooninvoer",
|
||||
"audio-sources-none": "Geen audio",
|
||||
"audio-sources-system-output": "Systeemuitvoer",
|
||||
"color-range-full": "Volledig",
|
||||
"color-range-limited": "Beperkt",
|
||||
"quality-high": "Hoog",
|
||||
"quality-medium": "Gemiddeld",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Zeer hoog",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Scherm"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Altijd scrollen",
|
||||
"hover": "Scrollen bij hover",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Regio"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus wordt aanbevolen voor de beste prestaties en de kleinste audiogrootte.",
|
||||
"audio-audio-codec-label": "Audiocodec",
|
||||
"audio-audio-source-description": "Audiobron om tijdens de opname vast te leggen.",
|
||||
"audio-audio-source-label": "Audiobron",
|
||||
"audio-desc": "Configureer opties voor audio-opname.",
|
||||
"audio-title": "Audio-instellingen",
|
||||
"general-copy-to-clipboard-description": "Kopieer het bestand naar het klembord nadat de opname is voltooid.",
|
||||
"general-copy-to-clipboard-label": "Kopiëren naar klembord",
|
||||
"general-desc": "Beheer schermopname-uitvoer en inhoud.",
|
||||
"general-output-folder-description": "Map waarin schermopnamen worden opgeslagen.",
|
||||
"general-output-folder-label": "Uitvoermap",
|
||||
"general-select-output-folder": "Uitvoermap selecteren",
|
||||
"general-show-cursor-description": "Neem de muiscursor op in de video.",
|
||||
"general-show-cursor-label": "Cursor tonen",
|
||||
"general-title": "Algemene instellingen",
|
||||
"title": "Schermrecorder",
|
||||
"video-color-range-description": "Beperkt wordt aanbevolen voor betere compatibiliteit.",
|
||||
"video-color-range-label": "Kleurbereik",
|
||||
"video-desc": "Configureer opties voor video-opname.",
|
||||
"video-frame-rate-description": "Doelframesnelheid voor schermopnamen.",
|
||||
"video-title": "Video-instellingen",
|
||||
"video-video-codec-description": "h264 is de meest gebruikte codec.",
|
||||
"video-video-codec-label": "Videocodec",
|
||||
"video-video-quality-description": "Hogere kwaliteit resulteert in grotere bestanden.",
|
||||
"video-video-quality-label": "Videokwaliteit",
|
||||
"video-video-source-description": "Portal wordt aanbevolen; als je artefacten krijgt, probeer dan Screen.",
|
||||
"video-video-source-label": "Videobron"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Stel in hoe lang de afteltimer duurt voordat energieacties worden uitgevoerd.",
|
||||
"countdown-duration-label": "Afteltimer duur",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Wallhaven-resultaten verversen",
|
||||
"refresh-wallpaper-list": "Achtergrondlijst verversen",
|
||||
"remove-widget": "Widget verwijderen",
|
||||
"screen-recorder-not-installed": "Schermrecorder (niet geïnstalleerd)",
|
||||
"search-close": "Zoeken sluiten",
|
||||
"session-menu": "Sessiemenu",
|
||||
"show-all-devices": "Toon alle apparaten",
|
||||
"stop-screen-recording": "Schermrecorder",
|
||||
"switch-to-dark-mode": "Donkere modus",
|
||||
"switch-to-light-mode": "Lichte modus",
|
||||
"unmute": "Dempen opheffen",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Profil zasilania",
|
||||
"tooltip-disabled": "Zainstaluj power-profiles-daemon, aby korzystać z profili zasilania"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Nagraj"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi rozłączone",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Nowoczesny"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Wyjście systemowe + mikrofon",
|
||||
"audio-sources-microphone-input": "Wejście mikrofonu",
|
||||
"audio-sources-none": "Brak dźwięku.",
|
||||
"audio-sources-system-output": "Wyjście systemowe",
|
||||
"color-range-full": "Pełny",
|
||||
"color-range-limited": "Ograniczony",
|
||||
"quality-high": "Wysoka",
|
||||
"quality-medium": "Średnia",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Bardzo wysoka",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Ekran"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Zawsze przewijaj",
|
||||
"hover": "Przewijaj po najechaniu",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Region"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus jest zalecany dla najlepszej wydajności i najmniejszego rozmiaru pliku.",
|
||||
"audio-audio-codec-label": "Kodek audio",
|
||||
"audio-audio-source-description": "Źródło dźwięku do przechwycenia podczas nagrywania.",
|
||||
"audio-audio-source-label": "Źródło audio",
|
||||
"audio-desc": "Konfiguruj opcje nagrywania dźwięku.",
|
||||
"audio-title": "Ustawienia audio",
|
||||
"general-copy-to-clipboard-description": "Skopiuj plik do schowka po zakończeniu nagrywania.",
|
||||
"general-copy-to-clipboard-label": "Kopiuj do schowka",
|
||||
"general-desc": "Zarządzaj wyjściem i zawartością nagrań ekranu.",
|
||||
"general-output-folder-description": "Folder, w którym będą zapisywane nagrania.",
|
||||
"general-output-folder-label": "Folder wyjściowy",
|
||||
"general-select-output-folder": "Wybierz folder wyjściowy",
|
||||
"general-show-cursor-description": "Nagrywaj kursor myszy na wideo.",
|
||||
"general-show-cursor-label": "Pokaż kursor",
|
||||
"general-title": "Ustawienia ogólne",
|
||||
"title": "Nagrywanie ekranu",
|
||||
"video-color-range-description": "Zakres ograniczony (Limited) jest zalecany dla lepszej kompatybilności.",
|
||||
"video-color-range-label": "Zakres kolorów",
|
||||
"video-desc": "Konfiguruj opcje nagrywania wideo.",
|
||||
"video-frame-rate-description": "Docelowa liczba klatek na sekundę (FPS).",
|
||||
"video-title": "Ustawienia wideo",
|
||||
"video-video-codec-description": "h264 to najczęściej spotykany kodek.",
|
||||
"video-video-codec-label": "Kodek wideo",
|
||||
"video-video-quality-description": "Wyższa jakość skutkuje większym rozmiarem plików.",
|
||||
"video-video-quality-label": "Jakość wideo",
|
||||
"video-video-source-description": "Zalecany jest Portal. Jeśli pojawiają się błędy, spróbuj Ekran (Screen).",
|
||||
"video-video-source-label": "Źródło wideo"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Ustaw czas odliczania przed wykonaniem akcji zasilania.",
|
||||
"countdown-duration-label": "Czas trwania odliczania",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Odśwież wyniki Wallhaven",
|
||||
"refresh-wallpaper-list": "Odśwież listę tapet",
|
||||
"remove-widget": "Usuń widżet",
|
||||
"screen-recorder-not-installed": "Nagrywanie ekranu (niezainstalowane)",
|
||||
"search-close": "Zamknij wyszukiwanie",
|
||||
"session-menu": "Menu sesji",
|
||||
"show-all-devices": "Pokaż wszystkie urządzenia.",
|
||||
"stop-screen-recording": "Nagrywanie ekranu",
|
||||
"switch-to-dark-mode": "Tryb ciemny",
|
||||
"switch-to-light-mode": "Tryb jasny",
|
||||
"unmute": "Wyłącz wyciszenie",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Perfil de energia",
|
||||
"tooltip-disabled": "Instale power-profiles-daemon para usar perfis de energia"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Gravar"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi desconectado",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Moderno"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Saída do sistema + entrada do microfone",
|
||||
"audio-sources-microphone-input": "Entrada do microfone",
|
||||
"audio-sources-none": "No audio",
|
||||
"audio-sources-system-output": "Saída do sistema",
|
||||
"color-range-full": "Completa",
|
||||
"color-range-limited": "Limitada",
|
||||
"quality-high": "Alta",
|
||||
"quality-medium": "Média",
|
||||
"quality-ultra": "Ultra",
|
||||
"quality-very-high": "Muito alta",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Tela"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Rolar sempre",
|
||||
"hover": "Rolar ao passar o mouse",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Região"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus é recomendado para melhor desempenho e menor tamanho de áudio.",
|
||||
"audio-audio-codec-label": "Codec de áudio",
|
||||
"audio-audio-source-description": "Fonte de áudio a ser capturada durante a gravação.",
|
||||
"audio-audio-source-label": "Fonte de áudio",
|
||||
"audio-desc": "Configure as opções de gravação de áudio.",
|
||||
"audio-title": "Configurações de áudio",
|
||||
"general-copy-to-clipboard-description": "Copiar o arquivo para a área de transferência após a gravação terminar.",
|
||||
"general-copy-to-clipboard-label": "Copiar para a área de transferência",
|
||||
"general-desc": "Gerencie a saída e o conteúdo da gravação de tela.",
|
||||
"general-output-folder-description": "Pasta onde as gravações de tela serão salvas.",
|
||||
"general-output-folder-label": "Pasta de saída",
|
||||
"general-select-output-folder": "Selecionar pasta de saída",
|
||||
"general-show-cursor-description": "Grava o cursor do mouse no vídeo.",
|
||||
"general-show-cursor-label": "Mostrar cursor",
|
||||
"general-title": "Configurações gerais",
|
||||
"title": "Gravador de tela",
|
||||
"video-color-range-description": "Limitada é recomendada para melhor compatibilidade.",
|
||||
"video-color-range-label": "Gama de cores",
|
||||
"video-desc": "Configure as opções de gravação de vídeo.",
|
||||
"video-frame-rate-description": "Taxa de quadros alvo para gravações de tela.",
|
||||
"video-title": "Configurações de vídeo",
|
||||
"video-video-codec-description": "h264 é o codec mais comum.",
|
||||
"video-video-codec-label": "Codec de vídeo",
|
||||
"video-video-quality-description": "Qualidade mais alta resulta em arquivos maiores.",
|
||||
"video-video-quality-label": "Qualidade de vídeo",
|
||||
"video-video-source-description": "Portal é recomendado, se você tiver artefatos, tente Screen.",
|
||||
"video-video-source-label": "Fonte de vídeo"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Definir por quanto tempo o temporizador de contagem regressiva dura antes de executar ações de energia.",
|
||||
"countdown-duration-label": "Duração da contagem regressiva",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Atualizar resultados do Wallhaven",
|
||||
"refresh-wallpaper-list": "Atualizar lista de papéis de parede",
|
||||
"remove-widget": "Remover widget",
|
||||
"screen-recorder-not-installed": "Gravador de tela (não instalado)",
|
||||
"search-close": "Fechar pesquisa",
|
||||
"session-menu": "Menu da Sessão",
|
||||
"show-all-devices": "Mostrar todos os dispositivos",
|
||||
"stop-screen-recording": "Gravador de tela",
|
||||
"switch-to-dark-mode": "Modo escuro",
|
||||
"switch-to-light-mode": "Modo claro",
|
||||
"unmute": "Desativar o mudo",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Профиль питания",
|
||||
"tooltip-disabled": "Установите power-profiles-daemon, чтобы использовать профили питания"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Записать"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi отключен",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Современный"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Системный вывод + ввод с микрофона",
|
||||
"audio-sources-microphone-input": "Ввод с микрофона",
|
||||
"audio-sources-none": "Нет звука",
|
||||
"audio-sources-system-output": "Системный вывод",
|
||||
"color-range-full": "Полный",
|
||||
"color-range-limited": "Ограниченный",
|
||||
"quality-high": "Высокое",
|
||||
"quality-medium": "Среднее",
|
||||
"quality-ultra": "Ультра",
|
||||
"quality-very-high": "Очень высокое",
|
||||
"sources-portal": "Портал",
|
||||
"sources-screen": "Экран"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Всегда прокручивать",
|
||||
"hover": "Прокручивать при наведении",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Регион"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus рекомендуется для лучшей производительности и наименьшего размера аудио.",
|
||||
"audio-audio-codec-label": "Аудиокодек",
|
||||
"audio-audio-source-description": "Источник аудио для захвата во время записи.",
|
||||
"audio-audio-source-label": "Источник аудио",
|
||||
"audio-desc": "Настройка параметров записи аудио.",
|
||||
"audio-title": "Настройки аудио",
|
||||
"general-copy-to-clipboard-description": "Скопировать файл в буфер обмена после завершения записи.",
|
||||
"general-copy-to-clipboard-label": "Скопировать в буфер обмена",
|
||||
"general-desc": "Управление выводом и содержимым записи экрана.",
|
||||
"general-output-folder-description": "Папка, в которую будут сохраняться записи экрана.",
|
||||
"general-output-folder-label": "Выходная папка",
|
||||
"general-select-output-folder": "Выбрать выходную папку",
|
||||
"general-show-cursor-description": "Записывать курсор мыши в видео.",
|
||||
"general-show-cursor-label": "Показывать курсор",
|
||||
"general-title": "Общие настройки",
|
||||
"title": "Запись экрана",
|
||||
"video-color-range-description": "Ограниченный (Limited) рекомендуется для лучшей совместимости.",
|
||||
"video-color-range-label": "Цветовой диапазон",
|
||||
"video-desc": "Настройка параметров записи видео.",
|
||||
"video-frame-rate-description": "Целевая частота кадров для записей экрана.",
|
||||
"video-title": "Настройки видео",
|
||||
"video-video-codec-description": "h264 — самый распространенный кодек.",
|
||||
"video-video-codec-label": "Видеокодек",
|
||||
"video-video-quality-description": "Более высокое качество приводит к большему размеру файла.",
|
||||
"video-video-quality-label": "Качество видео",
|
||||
"video-video-source-description": "Портал (Portal) рекомендуется, если появляются артефакты, попробуйте Экран (Screen).",
|
||||
"video-video-source-label": "Источник видео"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Установить, как долго длится таймер обратного отсчета перед выполнением действий питания.",
|
||||
"countdown-duration-label": "Длительность обратного отсчета",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Обновить результаты Wallhaven",
|
||||
"refresh-wallpaper-list": "Обновить список обоев",
|
||||
"remove-widget": "Удалить виджет",
|
||||
"screen-recorder-not-installed": "Запись экрана (не установлена)",
|
||||
"search-close": "Закрыть поиск",
|
||||
"session-menu": "Меню сеанса",
|
||||
"show-all-devices": "Показать все устройства",
|
||||
"stop-screen-recording": "Запись экрана",
|
||||
"switch-to-dark-mode": "Темный режим",
|
||||
"switch-to-light-mode": "Светлый режим",
|
||||
"unmute": "Включить звук",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Güç profili",
|
||||
"tooltip-disabled": "Güç profillerini kullanmak için power-profiles-daemon kur"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Kaydet"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Kablosuz Bağlantı Kesik",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Modern"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Sistem çıktısı + mikrofon girişi",
|
||||
"audio-sources-microphone-input": "Mikrofon girişi",
|
||||
"audio-sources-none": "Ses yok.",
|
||||
"audio-sources-system-output": "Sistem çıktısı",
|
||||
"color-range-full": "Tam",
|
||||
"color-range-limited": "Sınırlı",
|
||||
"quality-high": "Yüksek",
|
||||
"quality-medium": "Orta",
|
||||
"quality-ultra": "Aşırı",
|
||||
"quality-very-high": "Çok yüksek",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Ekran"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Her zaman kaydır",
|
||||
"hover": "Üzerine gelince kaydır",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Bölge"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "En iyi performans ve en küçük ses boyutu için Opus önerilir.",
|
||||
"audio-audio-codec-label": "Ses çözücüsü",
|
||||
"audio-audio-source-description": "Kayıt sırasında yakalanacak ses kaynağı.",
|
||||
"audio-audio-source-label": "Ses kaynağı",
|
||||
"audio-desc": "Ses kaydı seçeneklerini yapılandırın.",
|
||||
"audio-title": "Ses ayarları",
|
||||
"general-copy-to-clipboard-description": "Kaydı bitirdikten sonra dosyayı panoya kopyala.",
|
||||
"general-copy-to-clipboard-label": "Panoya kopyala",
|
||||
"general-desc": "Ekran kaydı çıktısını ve içeriğini yönetin.",
|
||||
"general-output-folder-description": "Ekran kayıtlarının kaydedileceği klasör.",
|
||||
"general-output-folder-label": "Çıktı klasörü",
|
||||
"general-select-output-folder": "Çıktı klasörünü seç",
|
||||
"general-show-cursor-description": "Görüntü fare imlecini kaydedin.",
|
||||
"general-show-cursor-label": "İmleci göster",
|
||||
"general-title": "Genel ayarlar",
|
||||
"title": "Ekran kaydedici",
|
||||
"video-color-range-description": "Daha iyi uyumluluk için Sınırlı önerilir.",
|
||||
"video-color-range-label": "Renk aralığı",
|
||||
"video-desc": "Görüntü kaydı seçeneklerini yapılandırın.",
|
||||
"video-frame-rate-description": "Ekran kayıtları için hedef kare hızı.",
|
||||
"video-title": "Görüntü ayarları",
|
||||
"video-video-codec-description": "h264 en yaygın çözücüdür.",
|
||||
"video-video-codec-label": "Görüntü çözücüsü",
|
||||
"video-video-quality-description": "Daha yüksek kalite daha büyük dosya boyutları ile sonuçlanır.",
|
||||
"video-video-quality-label": "Görüntü kalitesi",
|
||||
"video-video-source-description": "Portal önerilir, eğer artefaktlar alırsanız Ekranı deneyin.",
|
||||
"video-video-source-label": "Görüntü kaynağı"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Güç eylemlerini çalıştırmadan önce geri sayım zamanlayıcısının ne kadar süreceğini ayarlayın.",
|
||||
"countdown-duration-label": "Geri sayım süresi",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Wallhaven sonuçlarını yenile",
|
||||
"refresh-wallpaper-list": "Duvar kâğıdı listesini yenile",
|
||||
"remove-widget": "Araç takımını kaldır",
|
||||
"screen-recorder-not-installed": "Ekran kaydedici (yüklü değil)",
|
||||
"search-close": "Aramayı kapat",
|
||||
"session-menu": "Oturum Menüsü",
|
||||
"show-all-devices": "Tüm cihazları göster",
|
||||
"stop-screen-recording": "Ekran kaydedici",
|
||||
"switch-to-dark-mode": "Koyu mod",
|
||||
"switch-to-light-mode": "Açık mod",
|
||||
"unmute": "Sessizliği aç",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "Профіль живлення",
|
||||
"tooltip-disabled": "Встановіть power-profiles-daemon для використання профілів живлення"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "Запис"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi відключено",
|
||||
"label-ethernet": "Ethernet"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "Сучасний"
|
||||
},
|
||||
"frame-rates-fps": "{fps} к/с",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "Системний вихід + вхід мікрофона",
|
||||
"audio-sources-microphone-input": "Вхід мікрофона",
|
||||
"audio-sources-none": "Немає аудіо",
|
||||
"audio-sources-system-output": "Системний вихід",
|
||||
"color-range-full": "Повний",
|
||||
"color-range-limited": "Обмежений",
|
||||
"quality-high": "Висока",
|
||||
"quality-medium": "Середня",
|
||||
"quality-ultra": "Ультра",
|
||||
"quality-very-high": "Дуже висока",
|
||||
"sources-portal": "Портал",
|
||||
"sources-screen": "Екран"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "Завжди прокручувати",
|
||||
"hover": "Прокручувати при наведенні",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "Регіон"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "Opus рекомендується для найкращої продуктивності та найменшого розміру аудіо.",
|
||||
"audio-audio-codec-label": "Кодек аудіо",
|
||||
"audio-audio-source-description": "Джерело аудіо для захоплення під час запису.",
|
||||
"audio-audio-source-label": "Джерело аудіо",
|
||||
"audio-desc": "Налаштуйте параметри запису аудіо.",
|
||||
"audio-title": "Налаштування аудіо",
|
||||
"general-copy-to-clipboard-description": "Скопіювати файл у буфер обміну після завершення запису.",
|
||||
"general-copy-to-clipboard-label": "Скопіювати в буфер обміну",
|
||||
"general-desc": "Керуйте виведенням та вмістом запису екрана.",
|
||||
"general-output-folder-description": "Тека, де зберігатимуться записи екрана.",
|
||||
"general-output-folder-label": "Тека виведення",
|
||||
"general-select-output-folder": "Вибрати теку виведення",
|
||||
"general-show-cursor-description": "Записувати курсор миші у відео.",
|
||||
"general-show-cursor-label": "Показувати курсор",
|
||||
"general-title": "Загальні налаштування",
|
||||
"title": "Запис екрана",
|
||||
"video-color-range-description": "Обмежений рекомендується для кращої сумісності.",
|
||||
"video-color-range-label": "Діапазон кольорів",
|
||||
"video-desc": "Налаштуйте параметри запису відео.",
|
||||
"video-frame-rate-description": "Цільова частота кадрів для записів екрана.",
|
||||
"video-title": "Налаштування відео",
|
||||
"video-video-codec-description": "h264 є найпоширенішим кодеком.",
|
||||
"video-video-codec-label": "Кодек відео",
|
||||
"video-video-quality-description": "Вища якість призводить до більшого розміру файлів.",
|
||||
"video-video-quality-label": "Якість відео",
|
||||
"video-video-source-description": "Рекомендується Portal, якщо виникають артефакти, спробуйте Screen.",
|
||||
"video-video-source-label": "Джерело відео"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "Встановити, як довго триває таймер зворотного відліку перед виконанням дій живлення.",
|
||||
"countdown-duration-label": "Тривалість зворотного відліку",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "Оновити результати Wallhaven",
|
||||
"refresh-wallpaper-list": "Оновити список шпалер",
|
||||
"remove-widget": "Видалити віджет",
|
||||
"screen-recorder-not-installed": "Запис екрана (не встановлено)",
|
||||
"search-close": "Закрити пошук",
|
||||
"session-menu": "Меню сеансу",
|
||||
"show-all-devices": "Показати всі пристрої",
|
||||
"stop-screen-recording": "Запис екрана",
|
||||
"switch-to-dark-mode": "Темний режим",
|
||||
"switch-to-light-mode": "Світлий режим",
|
||||
"unmute": "Увімкнути звук",
|
||||
|
||||
@@ -464,9 +464,6 @@
|
||||
"tooltip-action": "电源模式",
|
||||
"tooltip-disabled": "安装 power-profiles-daemon 以使用电源模式"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"label-stopped": "录制"
|
||||
},
|
||||
"wifi": {
|
||||
"label-disconnected": "Wi-Fi 已断开",
|
||||
"label-ethernet": "以太网"
|
||||
@@ -573,20 +570,6 @@
|
||||
"quick-settings-style-modern": "现代"
|
||||
},
|
||||
"frame-rates-fps": "{fps} FPS",
|
||||
"screen-recording": {
|
||||
"audio-sources-both": "系统输出 + 麦克风输入",
|
||||
"audio-sources-microphone-input": "麦克风输入",
|
||||
"audio-sources-none": "无音频",
|
||||
"audio-sources-system-output": "系统输出",
|
||||
"color-range-full": "完全",
|
||||
"color-range-limited": "有限",
|
||||
"quality-high": "高",
|
||||
"quality-medium": "中等",
|
||||
"quality-ultra": "超高",
|
||||
"quality-very-high": "很高",
|
||||
"sources-portal": "Portal",
|
||||
"sources-screen": "Screen"
|
||||
},
|
||||
"scrolling-modes": {
|
||||
"always": "始终滚动",
|
||||
"hover": "悬停时滚动",
|
||||
@@ -1220,35 +1203,6 @@
|
||||
"region": {
|
||||
"title": "地区"
|
||||
},
|
||||
"screen-recorder": {
|
||||
"audio-audio-codec-description": "推荐使用 Opus 以获得最佳性能和最小的音频大小。",
|
||||
"audio-audio-codec-label": "音频编解码器",
|
||||
"audio-audio-source-description": "录制期间要捕获的音频源。",
|
||||
"audio-audio-source-label": "音频源",
|
||||
"audio-desc": "配置音频录制选项。",
|
||||
"audio-title": "音频设置",
|
||||
"general-copy-to-clipboard-description": "录制完成后将文件复制到剪贴板。",
|
||||
"general-copy-to-clipboard-label": "复制到剪贴板",
|
||||
"general-desc": "管理屏幕录制输出和内容。",
|
||||
"general-output-folder-description": "屏幕录制将保存的文件夹。",
|
||||
"general-output-folder-label": "输出文件夹",
|
||||
"general-select-output-folder": "选择输出文件夹",
|
||||
"general-show-cursor-description": "在视频中录制鼠标光标。",
|
||||
"general-show-cursor-label": "显示光标",
|
||||
"general-title": "常规设置",
|
||||
"title": "屏幕录制",
|
||||
"video-color-range-description": "推荐使用 Limited 以获得更好的兼容性。",
|
||||
"video-color-range-label": "颜色范围",
|
||||
"video-desc": "配置视频录制选项。",
|
||||
"video-frame-rate-description": "屏幕录制的目标帧率。",
|
||||
"video-title": "视频设置",
|
||||
"video-video-codec-description": "h264 是最常见的编解码器。",
|
||||
"video-video-codec-label": "视频编解码器",
|
||||
"video-video-quality-description": "更高的质量会导致更大的文件大小。",
|
||||
"video-video-quality-label": "视频质量",
|
||||
"video-video-source-description": "推荐使用 Portal,如果出现伪影请尝试 Screen。",
|
||||
"video-video-source-label": "视频源"
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration-description": "设置倒计时计时器在执行电源操作之前持续多长时间。",
|
||||
"countdown-duration-label": "倒计时持续时间",
|
||||
@@ -1609,11 +1563,9 @@
|
||||
"refresh-wallhaven": "刷新 Wallhaven 结果",
|
||||
"refresh-wallpaper-list": "刷新壁纸列表",
|
||||
"remove-widget": "移除小部件",
|
||||
"screen-recorder-not-installed": "屏幕录制器(未安装)",
|
||||
"search-close": "关闭搜索",
|
||||
"session-menu": "会话菜单",
|
||||
"show-all-devices": "显示所有设备",
|
||||
"stop-screen-recording": "屏幕录制器",
|
||||
"switch-to-dark-mode": "深色模式",
|
||||
"switch-to-light-mode": "浅色模式",
|
||||
"unmute": "取消静音",
|
||||
|
||||
@@ -38,9 +38,6 @@
|
||||
}
|
||||
],
|
||||
"right": [
|
||||
{
|
||||
"id": "ScreenRecorder"
|
||||
},
|
||||
{
|
||||
"id": "Tray"
|
||||
},
|
||||
@@ -135,18 +132,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"screenRecorder": {
|
||||
"directory": "",
|
||||
"frameRate": 60,
|
||||
"audioCodec": "opus",
|
||||
"videoCodec": "h264",
|
||||
"quality": "very_high",
|
||||
"colorRange": "limited",
|
||||
"showCursor": true,
|
||||
"copyToClipboard": false,
|
||||
"audioSource": "default_output",
|
||||
"videoSource": "portal"
|
||||
},
|
||||
"wallpaper": {
|
||||
"enabled": true,
|
||||
"overviewEnabled": false,
|
||||
@@ -208,9 +193,6 @@
|
||||
{
|
||||
"id": "Bluetooth"
|
||||
},
|
||||
{
|
||||
"id": "ScreenRecorder"
|
||||
},
|
||||
{
|
||||
"id": "WallpaperSelector"
|
||||
}
|
||||
|
||||
@@ -99,6 +99,7 @@
|
||||
"showVisualizer": false,
|
||||
"showProgressRing": true,
|
||||
"visualizerType": "linear",
|
||||
"compactMode": false,
|
||||
"panelShowAlbumArt": true,
|
||||
"panelShowVisualizer": true,
|
||||
"compactShowAlbumArt": true,
|
||||
|
||||
@@ -119,7 +119,6 @@ Singleton {
|
||||
"settings-color-scheme": "palette",
|
||||
"settings-wallpaper": "paint",
|
||||
"settings-wallpaper-selector": "library-photo",
|
||||
"settings-screen-recorder": "video",
|
||||
"settings-hooks": "link",
|
||||
"settings-notifications": "bell",
|
||||
"settings-osd": "picture-in-picture",
|
||||
|
||||
@@ -64,7 +64,6 @@ Singleton {
|
||||
|
||||
// Patch-in the local default, resolved to user's home
|
||||
adapter.general.avatarImage = defaultAvatar;
|
||||
adapter.screenRecorder.directory = defaultVideosDirectory;
|
||||
adapter.wallpaper.directory = defaultWallpapersDirectory;
|
||||
adapter.ui.fontDefault = Qt.application.font.family;
|
||||
adapter.ui.fontFixed = "monospace";
|
||||
@@ -236,9 +235,6 @@ Singleton {
|
||||
}
|
||||
]
|
||||
property list<var> right: [
|
||||
{
|
||||
"id": "ScreenRecorder"
|
||||
},
|
||||
{
|
||||
"id": "Tray"
|
||||
},
|
||||
@@ -345,20 +341,6 @@ Singleton {
|
||||
]
|
||||
}
|
||||
|
||||
// screen recorder
|
||||
property JsonObject screenRecorder: JsonObject {
|
||||
property string directory: ""
|
||||
property int frameRate: 60
|
||||
property string audioCodec: "opus"
|
||||
property string videoCodec: "h264"
|
||||
property string quality: "very_high"
|
||||
property string colorRange: "limited"
|
||||
property bool showCursor: true
|
||||
property bool copyToClipboard: false
|
||||
property string audioSource: "default_output"
|
||||
property string videoSource: "portal"
|
||||
}
|
||||
|
||||
// wallpaper
|
||||
property JsonObject wallpaper: JsonObject {
|
||||
property bool enabled: true
|
||||
@@ -431,9 +413,6 @@ Singleton {
|
||||
{
|
||||
"id": "Bluetooth"
|
||||
},
|
||||
{
|
||||
"id": "ScreenRecorder"
|
||||
},
|
||||
{
|
||||
"id": "WallpaperSelector"
|
||||
}
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import qs.Commons
|
||||
import qs.Modules.Panels.Settings
|
||||
import qs.Services.Media
|
||||
import qs.Services.System
|
||||
import qs.Services.UI
|
||||
import qs.Widgets
|
||||
|
||||
// Screen Recording Indicator
|
||||
NIconButton {
|
||||
id: root
|
||||
|
||||
property ShellScreen screen
|
||||
|
||||
// Widget properties passed from Bar.qml for per-instance settings
|
||||
property string widgetId: ""
|
||||
property string section: ""
|
||||
property int sectionWidgetIndex: -1
|
||||
property int sectionWidgetsCount: 0
|
||||
|
||||
icon: ScreenRecorderService.isPending ? "" : "camera-video"
|
||||
tooltipText: ScreenRecorderService.isRecording ? I18n.tr("tooltips.click-to-stop-recording") : I18n.tr("tooltips.click-to-start-recording")
|
||||
tooltipDirection: BarService.getTooltipDirection()
|
||||
baseSize: Style.capsuleHeight
|
||||
applyUiScale: false
|
||||
customRadius: Style.radiusL
|
||||
colorBg: ScreenRecorderService.isRecording ? Color.mPrimary : Style.capsuleColor
|
||||
colorFg: ScreenRecorderService.isRecording ? Color.mOnPrimary : Color.mOnSurface
|
||||
colorBorder: "transparent"
|
||||
colorBorderHover: "transparent"
|
||||
border.color: Style.capsuleBorderColor
|
||||
border.width: Style.capsuleBorderWidth
|
||||
|
||||
function handleClick() {
|
||||
if (!ScreenRecorderService.isAvailable) {
|
||||
ToastService.showError(I18n.tr("toast.recording.not-installed"), I18n.tr("toast.recording.not-installed-desc"));
|
||||
return;
|
||||
}
|
||||
ScreenRecorderService.toggleRecording();
|
||||
}
|
||||
|
||||
onClicked: handleClick()
|
||||
|
||||
onRightClicked: {
|
||||
var settingsPanel = PanelService.getPanel("settingsPanel", screen);
|
||||
settingsPanel.requestedTab = SettingsPanel.Tab.ScreenRecorder;
|
||||
settingsPanel.open();
|
||||
}
|
||||
|
||||
// Custom spinner shown only during pending start
|
||||
NIcon {
|
||||
id: pendingSpinner
|
||||
icon: "loader-2"
|
||||
visible: ScreenRecorderService.isPending
|
||||
pointSize: Style.barFontSize
|
||||
applyUiScale: false
|
||||
color: root.enabled && root.hovering ? colorFgHover : colorFg
|
||||
anchors.centerIn: parent
|
||||
transformOrigin: Item.Center
|
||||
|
||||
RotationAnimation on rotation {
|
||||
running: ScreenRecorderService.isPending
|
||||
from: 0
|
||||
to: 360
|
||||
duration: Style.animationSlow
|
||||
loops: Animation.Infinite
|
||||
onStopped: pendingSpinner.rotation = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import qs.Commons
|
||||
import qs.Modules.Panels.Settings
|
||||
import qs.Services.Media
|
||||
import qs.Services.System
|
||||
import qs.Services.UI
|
||||
import qs.Widgets
|
||||
|
||||
NIconButtonHot {
|
||||
property ShellScreen screen
|
||||
|
||||
enabled: ProgramCheckerService.gpuScreenRecorderAvailable
|
||||
icon: "camera-video"
|
||||
hot: ScreenRecorderService.isRecording
|
||||
tooltipText: I18n.tr("panels.screen-recorder.title")
|
||||
onClicked: {
|
||||
ScreenRecorderService.toggleRecording();
|
||||
if (!ScreenRecorderService.isRecording) {
|
||||
PanelService.getPanel("controlCenterPanel", screen)?.close;
|
||||
}
|
||||
}
|
||||
|
||||
onRightClicked: {
|
||||
var settingsPanel = PanelService.getPanel("settingsPanel", screen);
|
||||
settingsPanel.requestedTab = SettingsPanel.Tab.ScreenRecorder;
|
||||
settingsPanel.open();
|
||||
}
|
||||
}
|
||||
@@ -93,10 +93,6 @@ Item {
|
||||
id: wallpaperTab
|
||||
WallpaperTab {}
|
||||
}
|
||||
Component {
|
||||
id: screenRecorderTab
|
||||
ScreenRecorderTab {}
|
||||
}
|
||||
Component {
|
||||
id: aboutTab
|
||||
AboutTab {}
|
||||
@@ -246,12 +242,6 @@ Item {
|
||||
"icon": "settings-location",
|
||||
"source": regionTab
|
||||
},
|
||||
{
|
||||
"id": SettingsPanel.Tab.ScreenRecorder,
|
||||
"label": "panels.screen-recorder.title",
|
||||
"icon": "settings-screen-recorder",
|
||||
"source": screenRecorderTab
|
||||
},
|
||||
{
|
||||
"id": SettingsPanel.Tab.SystemMonitor,
|
||||
"label": "system-monitor.title",
|
||||
|
||||
@@ -87,7 +87,6 @@ SmartPanel {
|
||||
Network,
|
||||
Notifications,
|
||||
Plugins,
|
||||
ScreenRecorder,
|
||||
SessionMenu,
|
||||
SystemMonitor,
|
||||
UserInterface,
|
||||
|
||||
@@ -1,304 +0,0 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import qs.Commons
|
||||
import qs.Widgets
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
spacing: Style.marginL
|
||||
|
||||
// Output Folder
|
||||
NTextInputButton {
|
||||
label: I18n.tr("panels.screen-recorder.general-output-folder-label")
|
||||
description: I18n.tr("panels.screen-recorder.general-output-folder-description")
|
||||
placeholderText: Quickshell.env("HOME") + "/Videos"
|
||||
text: Settings.data.screenRecorder.directory
|
||||
buttonIcon: "folder-open"
|
||||
buttonTooltip: I18n.tr("panels.screen-recorder.general-output-folder-label")
|
||||
onInputEditingFinished: Settings.data.screenRecorder.directory = text
|
||||
onButtonClicked: folderPicker.openFilePicker()
|
||||
}
|
||||
|
||||
NDivider {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
// Show Cursor
|
||||
NToggle {
|
||||
label: I18n.tr("panels.screen-recorder.general-show-cursor-label")
|
||||
description: I18n.tr("panels.screen-recorder.general-show-cursor-description")
|
||||
checked: Settings.data.screenRecorder.showCursor
|
||||
onToggled: checked => Settings.data.screenRecorder.showCursor = checked
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.showCursor")
|
||||
}
|
||||
|
||||
// Copy to Clipboard
|
||||
NToggle {
|
||||
label: I18n.tr("panels.screen-recorder.general-copy-to-clipboard-label")
|
||||
description: I18n.tr("panels.screen-recorder.general-copy-to-clipboard-description")
|
||||
checked: Settings.data.screenRecorder.copyToClipboard
|
||||
onToggled: checked => Settings.data.screenRecorder.copyToClipboard = checked
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.copyToClipboard")
|
||||
}
|
||||
|
||||
NDivider {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
// Video Settings
|
||||
ColumnLayout {
|
||||
spacing: Style.marginL
|
||||
Layout.fillWidth: true
|
||||
|
||||
// Source
|
||||
NComboBox {
|
||||
label: I18n.tr("panels.screen-recorder.video-video-source-label")
|
||||
description: I18n.tr("panels.screen-recorder.video-video-source-description")
|
||||
model: [
|
||||
{
|
||||
"key": "portal",
|
||||
"name": I18n.tr("options.screen-recording.sources-portal")
|
||||
},
|
||||
{
|
||||
"key": "screen",
|
||||
"name": I18n.tr("options.screen-recording.sources-screen")
|
||||
}
|
||||
]
|
||||
currentKey: Settings.data.screenRecorder.videoSource
|
||||
onSelected: key => Settings.data.screenRecorder.videoSource = key
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.videoSource")
|
||||
}
|
||||
|
||||
// Frame Rate
|
||||
NComboBox {
|
||||
label: I18n.tr("panels.audio.media-frame-rate-label")
|
||||
description: I18n.tr("panels.screen-recorder.video-frame-rate-description")
|
||||
model: [
|
||||
{
|
||||
"key": "30",
|
||||
"name": I18n.tr("options.frame-rates-fps", {
|
||||
"fps": "30"
|
||||
})
|
||||
},
|
||||
{
|
||||
"key": "60",
|
||||
"name": I18n.tr("options.frame-rates-fps", {
|
||||
"fps": "60"
|
||||
})
|
||||
},
|
||||
{
|
||||
"key": "100",
|
||||
"name": I18n.tr("options.frame-rates-fps", {
|
||||
"fps": "100"
|
||||
})
|
||||
},
|
||||
{
|
||||
"key": "120",
|
||||
"name": I18n.tr("options.frame-rates-fps", {
|
||||
"fps": "120"
|
||||
})
|
||||
},
|
||||
{
|
||||
"key": "144",
|
||||
"name": I18n.tr("options.frame-rates-fps", {
|
||||
"fps": "144"
|
||||
})
|
||||
},
|
||||
{
|
||||
"key": "165",
|
||||
"name": I18n.tr("options.frame-rates-fps", {
|
||||
"fps": "165"
|
||||
})
|
||||
},
|
||||
{
|
||||
"key": "240",
|
||||
"name": I18n.tr("options.frame-rates-fps", {
|
||||
"fps": "240"
|
||||
})
|
||||
}
|
||||
]
|
||||
currentKey: Settings.data.screenRecorder.frameRate
|
||||
onSelected: key => Settings.data.screenRecorder.frameRate = key
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.frameRate")
|
||||
}
|
||||
|
||||
// Video Quality
|
||||
NComboBox {
|
||||
label: I18n.tr("panels.screen-recorder.video-video-quality-label")
|
||||
description: I18n.tr("panels.screen-recorder.video-video-quality-description")
|
||||
model: [
|
||||
{
|
||||
"key": "medium",
|
||||
"name": I18n.tr("options.screen-recording.quality-medium")
|
||||
},
|
||||
{
|
||||
"key": "high",
|
||||
"name": I18n.tr("options.screen-recording.quality-high")
|
||||
},
|
||||
{
|
||||
"key": "very_high",
|
||||
"name": I18n.tr("options.screen-recording.quality-very-high")
|
||||
},
|
||||
{
|
||||
"key": "ultra",
|
||||
"name": I18n.tr("options.screen-recording.quality-ultra")
|
||||
}
|
||||
]
|
||||
currentKey: Settings.data.screenRecorder.quality
|
||||
onSelected: key => Settings.data.screenRecorder.quality = key
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.quality")
|
||||
}
|
||||
|
||||
// Video Codec
|
||||
NComboBox {
|
||||
label: I18n.tr("panels.screen-recorder.video-video-codec-label")
|
||||
description: I18n.tr("panels.screen-recorder.video-video-codec-description")
|
||||
model: {
|
||||
let options = [
|
||||
{
|
||||
"key": "h264",
|
||||
"name": "H264"
|
||||
},
|
||||
{
|
||||
"key": "hevc",
|
||||
"name": "HEVC"
|
||||
},
|
||||
{
|
||||
"key": "av1",
|
||||
"name": "AV1"
|
||||
},
|
||||
{
|
||||
"key": "vp8",
|
||||
"name": "VP8"
|
||||
},
|
||||
{
|
||||
"key": "vp9",
|
||||
"name": "VP9"
|
||||
}
|
||||
];
|
||||
// Only add HDR options if source is 'screen'
|
||||
if (Settings.data.screenRecorder.videoSource === "screen") {
|
||||
options.push({
|
||||
"key": "hevc_hdr",
|
||||
"name": "HEVC HDR"
|
||||
});
|
||||
options.push({
|
||||
"key": "av1_hdr",
|
||||
"name": "AV1 HDR"
|
||||
});
|
||||
}
|
||||
return options;
|
||||
}
|
||||
currentKey: Settings.data.screenRecorder.videoCodec
|
||||
onSelected: key => {
|
||||
Settings.data.screenRecorder.videoCodec = key;
|
||||
|
||||
// If an HDR codec is selected, change the colorRange to full
|
||||
if (key.includes("_hdr")) {
|
||||
Settings.data.screenRecorder.colorRange = "full";
|
||||
}
|
||||
}
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.videoCodec")
|
||||
// If user switches source to portal while an HDR codec is selected, reset to h264
|
||||
Connections {
|
||||
target: Settings.data.screenRecorder
|
||||
function onVideoSourceChanged() {
|
||||
let source = Settings.data.screenRecorder.videoSource;
|
||||
let codec = Settings.data.screenRecorder.videoCodec;
|
||||
if (source !== "screen" && (codec === "av1_hdr" || codec === "hevc_hdr")) {
|
||||
Settings.data.screenRecorder.videoCodec = "h264";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Color Range
|
||||
NComboBox {
|
||||
label: I18n.tr("panels.screen-recorder.video-color-range-label")
|
||||
description: I18n.tr("panels.screen-recorder.video-color-range-description")
|
||||
model: [
|
||||
{
|
||||
"key": "limited",
|
||||
"name": I18n.tr("options.screen-recording.color-range-limited")
|
||||
},
|
||||
{
|
||||
"key": "full",
|
||||
"name": I18n.tr("options.screen-recording.color-range-full")
|
||||
}
|
||||
]
|
||||
currentKey: Settings.data.screenRecorder.colorRange
|
||||
onSelected: key => Settings.data.screenRecorder.colorRange = key
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.colorRange")
|
||||
}
|
||||
}
|
||||
|
||||
NDivider {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
// Audio Settings
|
||||
ColumnLayout {
|
||||
spacing: Style.marginL
|
||||
Layout.fillWidth: true
|
||||
|
||||
// Audio Source
|
||||
NComboBox {
|
||||
label: I18n.tr("panels.screen-recorder.audio-audio-source-label")
|
||||
description: I18n.tr("panels.screen-recorder.audio-audio-source-description")
|
||||
model: [
|
||||
{
|
||||
"key": "none",
|
||||
"name": I18n.tr("options.screen-recording.audio-sources-none")
|
||||
},
|
||||
{
|
||||
"key": "default_output",
|
||||
"name": I18n.tr("options.screen-recording.audio-sources-system-output")
|
||||
},
|
||||
{
|
||||
"key": "default_input",
|
||||
"name": I18n.tr("options.screen-recording.audio-sources-microphone-input")
|
||||
},
|
||||
{
|
||||
"key": "both",
|
||||
"name": I18n.tr("options.screen-recording.audio-sources-both")
|
||||
}
|
||||
]
|
||||
currentKey: Settings.data.screenRecorder.audioSource
|
||||
onSelected: key => Settings.data.screenRecorder.audioSource = key
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.audioSource")
|
||||
}
|
||||
|
||||
// Audio Codec
|
||||
NComboBox {
|
||||
label: I18n.tr("panels.screen-recorder.audio-audio-codec-label")
|
||||
description: I18n.tr("panels.screen-recorder.audio-audio-codec-description")
|
||||
model: [
|
||||
{
|
||||
"key": "opus",
|
||||
"name": "Opus"
|
||||
},
|
||||
{
|
||||
"key": "aac",
|
||||
"name": "AAC"
|
||||
}
|
||||
]
|
||||
currentKey: Settings.data.screenRecorder.audioCodec
|
||||
onSelected: key => Settings.data.screenRecorder.audioCodec = key
|
||||
defaultValue: Settings.getDefaultValue("screenRecorder.audioCodec")
|
||||
}
|
||||
}
|
||||
|
||||
NFilePicker {
|
||||
id: folderPicker
|
||||
selectionMode: "folders"
|
||||
title: I18n.tr("panels.screen-recorder.general-select-output-folder")
|
||||
initialPath: Settings.data.screenRecorder.directory || Quickshell.env("HOME") + "/Videos"
|
||||
onAccepted: paths => {
|
||||
if (paths.length > 0) {
|
||||
Settings.data.screenRecorder.directory = paths[0]; // Use first selected file
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,15 +35,6 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
IpcHandler {
|
||||
target: "screenRecorder"
|
||||
function toggle() {
|
||||
if (ScreenRecorderService.isAvailable) {
|
||||
ScreenRecorderService.toggleRecording();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IpcHandler {
|
||||
target: "settings"
|
||||
function toggle() {
|
||||
|
||||
@@ -1,271 +0,0 @@
|
||||
pragma Singleton
|
||||
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Io
|
||||
import qs.Commons
|
||||
import qs.Services.System
|
||||
import qs.Services.UI
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
readonly property var settings: Settings.data.screenRecorder
|
||||
property bool isRecording: false
|
||||
property bool isPending: false
|
||||
// True only if the recorder actually started capturing at least once
|
||||
property bool hasActiveRecording: false
|
||||
property string outputPath: ""
|
||||
property bool isAvailable: ProgramCheckerService.gpuScreenRecorderAvailable
|
||||
|
||||
// Update availability when ProgramCheckerService completes its checks
|
||||
Connections {
|
||||
target: ProgramCheckerService
|
||||
function onChecksCompleted() {// Availability is now automatically updated via property binding
|
||||
}
|
||||
}
|
||||
|
||||
// Start or Stop recording
|
||||
function toggleRecording() {
|
||||
(isRecording || isPending) ? stopRecording() : startRecording();
|
||||
}
|
||||
|
||||
// Copy file to clipboard as file reference
|
||||
function copyFileToClipboard(filePath) {
|
||||
if (!filePath) {
|
||||
return;
|
||||
}
|
||||
// Convert path to file:// URI format for copying as file reference
|
||||
// Escape special characters in URI (space -> %20, etc.)
|
||||
const fileUri = "file://" + filePath.replace(/ /g, "%20").replace(/'/g, "%27").replace(/"/g, "%22");
|
||||
// Escape single quotes in URI for shell safety
|
||||
const escapedUri = fileUri.replace(/'/g, "'\\''");
|
||||
const command = "printf '%s' '" + escapedUri + "' | wl-copy --type text/uri-list";
|
||||
copyToClipboardProcess.exec({
|
||||
"command": ["sh", "-c", command]
|
||||
});
|
||||
}
|
||||
|
||||
// Start screen recording using Quickshell.execDetached
|
||||
function startRecording() {
|
||||
if (!isAvailable) {
|
||||
return;
|
||||
}
|
||||
if (isRecording || isPending) {
|
||||
return;
|
||||
}
|
||||
isPending = true;
|
||||
hasActiveRecording = false;
|
||||
|
||||
// Close any opened panel
|
||||
if ((PanelService.openedPanel !== null) && !PanelService.openedPanel.isClosing) {
|
||||
PanelService.openedPanel.close();
|
||||
}
|
||||
|
||||
// First, ensure xdg-desktop-portal and a compositor portal are running
|
||||
portalCheckProcess.exec({
|
||||
"command": ["sh", "-c" // require core portal AND one of the backends
|
||||
, "pidof xdg-desktop-portal >/dev/null 2>&1 && (pidof xdg-desktop-portal-wlr >/dev/null 2>&1 || pidof xdg-desktop-portal-hyprland >/dev/null 2>&1 || pidof xdg-desktop-portal-gnome >/dev/null 2>&1 || pidof xdg-desktop-portal-kde >/dev/null 2>&1)"]
|
||||
});
|
||||
}
|
||||
|
||||
function launchRecorder() {
|
||||
var filename = Time.getFormattedTimestamp() + ".mp4";
|
||||
var videoDir = Settings.preprocessPath(settings.directory);
|
||||
if (videoDir && !videoDir.endsWith("/")) {
|
||||
videoDir += "/";
|
||||
}
|
||||
outputPath = videoDir + filename;
|
||||
|
||||
const audioFlags = (() => {
|
||||
if (settings.audioSource === "none") {
|
||||
return "";
|
||||
}
|
||||
if (settings.audioSource === "both") {
|
||||
return `-ac ${settings.audioCodec} -a "default_output|default_input"`;
|
||||
}
|
||||
return `-ac ${settings.audioCodec} -a ${settings.audioSource}`;
|
||||
})();
|
||||
|
||||
var flags = `-w ${settings.videoSource} -f ${settings.frameRate} -k ${settings.videoCodec} ${audioFlags} -q ${settings.quality} -cursor ${settings.showCursor ? "yes" : "no"} -cr ${settings.colorRange} -o "${outputPath}"`;
|
||||
var command = `
|
||||
_gpuscreenrecorder_flatpak_installed() {
|
||||
flatpak list --app | grep -q "com.dec05eba.gpu_screen_recorder"
|
||||
}
|
||||
if command -v gpu-screen-recorder >/dev/null 2>&1; then
|
||||
gpu-screen-recorder ${flags}
|
||||
elif command -v flatpak >/dev/null 2>&1 && _gpuscreenrecorder_flatpak_installed; then
|
||||
flatpak run --command=gpu-screen-recorder --file-forwarding com.dec05eba.gpu_screen_recorder ${flags}
|
||||
else
|
||||
echo "GPU_SCREEN_RECORDER_NOT_INSTALLED"
|
||||
fi`;
|
||||
|
||||
// Use Process instead of execDetached so we can monitor it and read stderr
|
||||
recorderProcess.exec({
|
||||
"command": ["sh", "-c", command]
|
||||
});
|
||||
|
||||
// Start monitoring - if process ends quickly, it was likely cancelled
|
||||
pendingTimer.running = true;
|
||||
}
|
||||
|
||||
// Stop recording using Quickshell.execDetached
|
||||
function stopRecording() {
|
||||
if (!isRecording && !isPending) {
|
||||
return;
|
||||
}
|
||||
|
||||
ToastService.showNotice(I18n.tr("toast.recording.stopping"), outputPath, "settings-screen-recorder");
|
||||
|
||||
Quickshell.execDetached(["sh", "-c", "pkill -SIGINT -f 'gpu-screen-recorder' || pkill -SIGINT -f 'com.dec05eba.gpu_screen_recorder'"]);
|
||||
|
||||
isRecording = false;
|
||||
isPending = false;
|
||||
pendingTimer.running = false;
|
||||
monitorTimer.running = false;
|
||||
hasActiveRecording = false;
|
||||
|
||||
// Just in case, force kill after 3 seconds
|
||||
killTimer.running = true;
|
||||
}
|
||||
|
||||
// Helper function to check if output indicates user cancellation
|
||||
function isCancelledByUser(stdoutText, stderrText) {
|
||||
const stdout = String(stdoutText || "").toLowerCase();
|
||||
const stderr = String(stderrText || "").toLowerCase();
|
||||
const combined = stdout + " " + stderr;
|
||||
// Check for various forms of cancellation messages (case-insensitive)
|
||||
return combined.includes("canceled by") || combined.includes("cancelled by") || combined.includes("canceled by user") || combined.includes("cancelled by user") || combined.includes("canceled by the user") || combined.includes("cancelled by the user");
|
||||
}
|
||||
|
||||
// Process to run and monitor gpu-screen-recorder
|
||||
Process {
|
||||
id: recorderProcess
|
||||
stdout: StdioCollector {}
|
||||
stderr: StdioCollector {}
|
||||
onExited: function (exitCode, exitStatus) {
|
||||
const stdout = String(recorderProcess.stdout.text || "").trim();
|
||||
const stderr = String(recorderProcess.stderr.text || "").trim();
|
||||
const wasCancelled = isCancelledByUser(stdout, stderr);
|
||||
|
||||
if (isPending) {
|
||||
// Process ended while we were pending - likely cancelled or error
|
||||
isPending = false;
|
||||
pendingTimer.running = false;
|
||||
|
||||
// Check if gpu-screen-recorder is not installed
|
||||
if (stdout === "GPU_SCREEN_RECORDER_NOT_INSTALLED") {
|
||||
ToastService.showError(I18n.tr("toast.recording.not-installed"), I18n.tr("toast.recording.not-installed-desc"));
|
||||
return;
|
||||
}
|
||||
|
||||
// If it failed to start, show a clear error toast with stderr
|
||||
// But don't show error if user intentionally cancelled via portal
|
||||
if (exitCode !== 0) {
|
||||
if (stderr.length > 0 && !wasCancelled) {
|
||||
ToastService.showError(I18n.tr("toast.recording.failed-start"), stderr);
|
||||
Logger.e(stderr);
|
||||
}
|
||||
// If user cancelled, silently return without error toast
|
||||
}
|
||||
} else if (isRecording || hasActiveRecording) {
|
||||
// Process ended normally while recording (check both flags to handle race condition)
|
||||
isRecording = false;
|
||||
monitorTimer.running = false;
|
||||
if (exitCode === 0) {
|
||||
ToastService.showNotice(I18n.tr("toast.recording.saved"), outputPath, "settings-screen-recorder");
|
||||
if (settings.copyToClipboard) {
|
||||
copyFileToClipboard(outputPath);
|
||||
}
|
||||
} else {
|
||||
// Don't show error if user intentionally cancelled
|
||||
if (!wasCancelled) {
|
||||
if (stderr.length > 0) {
|
||||
ToastService.showError(I18n.tr("toast.recording.failed-start"), stderr);
|
||||
Logger.e(stderr);
|
||||
} else {
|
||||
ToastService.showError(I18n.tr("toast.recording.failed-start"), I18n.tr("toast.recording.failed-general"));
|
||||
}
|
||||
}
|
||||
}
|
||||
hasActiveRecording = false;
|
||||
} else if (!isPending && exitCode === 0 && outputPath) {
|
||||
// Fallback: if process exited successfully with an outputPath, handle it
|
||||
// (handles case where flags were cleared before onExited fired)
|
||||
ToastService.showNotice(I18n.tr("toast.recording.saved"), outputPath, "settings-screen-recorder");
|
||||
if (settings.copyToClipboard) {
|
||||
copyFileToClipboard(outputPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Pre-flight check for xdg-desktop-portal
|
||||
Process {
|
||||
id: portalCheckProcess
|
||||
onExited: function (exitCode, exitStatus) {
|
||||
if (exitCode === 0) {
|
||||
// Portals available, proceed to launch
|
||||
launchRecorder();
|
||||
} else {
|
||||
isPending = false;
|
||||
hasActiveRecording = false;
|
||||
ToastService.showError(I18n.tr("toast.recording.no-portals"), I18n.tr("toast.recording.no-portals-desc"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Process to copy file to clipboard
|
||||
Process {
|
||||
id: copyToClipboardProcess
|
||||
onExited: function (exitCode, exitStatus) {
|
||||
if (exitCode !== 0) {
|
||||
Logger.e("ScreenRecorderService", "Failed to copy file to clipboard, exit code:", exitCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: pendingTimer
|
||||
interval: 2000 // Wait 2 seconds to see if process stays alive
|
||||
running: false
|
||||
repeat: false
|
||||
onTriggered: {
|
||||
if (isPending && recorderProcess.running) {
|
||||
// Process is still running after 2 seconds - assume recording started successfully
|
||||
isPending = false;
|
||||
isRecording = true;
|
||||
hasActiveRecording = true;
|
||||
monitorTimer.running = true;
|
||||
// Don't show a toast when recording starts to avoid having the toast in every video.
|
||||
} else if (isPending) {
|
||||
// Process not running anymore - was cancelled or failed
|
||||
isPending = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Monitor timer to periodically check if we're still recording
|
||||
Timer {
|
||||
id: monitorTimer
|
||||
interval: 2000
|
||||
running: false
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
if (!recorderProcess.running && isRecording) {
|
||||
isRecording = false;
|
||||
running = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: killTimer
|
||||
interval: 3000
|
||||
running: false
|
||||
repeat: false
|
||||
onTriggered: {
|
||||
Quickshell.execDetached(["sh", "-c", "pkill -9 -f 'gpu-screen-recorder' 2>/dev/null || pkill -9 -f 'com.dec05eba.gpu_screen_recorder' 2>/dev/null || true"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@ Singleton {
|
||||
id: root
|
||||
|
||||
// Program availability properties
|
||||
property bool gpuScreenRecorderAvailable: false
|
||||
property bool matugenAvailable: false
|
||||
property bool nmcliAvailable: false
|
||||
property bool wlsunsetAvailable: false
|
||||
@@ -21,7 +20,6 @@ Singleton {
|
||||
|
||||
// Programs to check - maps property names to commands
|
||||
readonly property var programsToCheck: ({
|
||||
"gpuScreenRecorderAvailable": ["sh", "-c", "command -v gpu-screen-recorder >/dev/null 2>&1 || (command -v flatpak >/dev/null 2>&1 && flatpak list --app | grep -q 'com.dec05eba.gpu_screen_recorder')"],
|
||||
"matugenAvailable": ["sh", "-c", "command -v matugen"],
|
||||
"nmcliAvailable": ["sh", "-c", "command -v nmcli"],
|
||||
"wlsunsetAvailable": ["sh", "-c", "command -v wlsunset"],
|
||||
|
||||
@@ -32,7 +32,6 @@ Singleton {
|
||||
"NoctaliaPerformance": noctaliaPerformanceComponent,
|
||||
"NotificationHistory": notificationHistoryComponent,
|
||||
"PowerProfile": powerProfileComponent,
|
||||
"ScreenRecorder": screenRecorderComponent,
|
||||
"SessionMenu": sessionMenuComponent,
|
||||
"Spacer": spacerComponent,
|
||||
"SystemMonitor": systemMonitorComponent,
|
||||
@@ -309,9 +308,6 @@ Singleton {
|
||||
property Component sessionMenuComponent: Component {
|
||||
SessionMenu {}
|
||||
}
|
||||
property Component screenRecorderComponent: Component {
|
||||
ScreenRecorder {}
|
||||
}
|
||||
property Component controlCenterComponent: Component {
|
||||
ControlCenter {}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ Singleton {
|
||||
"NightLight": nightLightComponent,
|
||||
"Notifications": notificationsComponent,
|
||||
"PowerProfile": powerProfileComponent,
|
||||
"ScreenRecorder": screenRecorderComponent,
|
||||
"WiFi": networkComponent,
|
||||
"Network": networkComponent,
|
||||
"WallpaperSelector": wallpaperSelectorComponent
|
||||
@@ -57,9 +56,6 @@ Singleton {
|
||||
property Component powerProfileComponent: Component {
|
||||
PowerProfile {}
|
||||
}
|
||||
property Component screenRecorderComponent: Component {
|
||||
ScreenRecorder {}
|
||||
}
|
||||
property Component networkComponent: Component {
|
||||
Network {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user