feat(udiskie): add aristides/udiskie plugin for usb/media drives management (#256)
* feat(udiskie): add Udiskie service for real-time device monitoring, notifications, and IPC * feat(udiskie): add main manager panel for drives and partitions * feat(udiskie): add plugin manifest, status widget, and english translation * feat(udiskie): add Makefile for testing and linting translations * feat(udiskie): add error handling for missing udiskie package * feat(udiskie): add right-click functionality to refresh Udiskie service * feat(udiskie): add option to hide widget when no devices are connected * feat(udiskie): add settings button to the panel for quick access to configuration * feat(udiskie): add button to copy mount path to clipboard in partition row * fix(udiskie): duplicated notifications when removing or unmounting devices * feat(udiskie): add disk usage information for mounted partitions in device state * feat(udiskie): update partition row status colors and enhance UI for status display * fix(udiskie): adjust timeout to give time for sudo tasks such as LUKS unlock * feat(udiskie): update partition row status color for LUKS devices and adjust panel width * fix(udiskie): scroll not working properly and items overflow container * feat(udiskie): add missing translations and remove hardcoded strings messages * feat(udiskie): add README and thumbnail * docs(udiskie): add performance section to README with resource usage comparison * fix(udiskie): update output parsing to use safe tab delimiters for device information * fix(udiskie): improve device hierarchy parsing to correctly identify partitions * feat(udiskie): centralize open with file manager code, and close panel on auto-open on mount (like manually open) * fix(udiskie): exclude LUKS containers from "Drive Connected" notifications * fix(udiskie): quote paths and device names in shell commands * fix(udiskie): improve error message cleaning regex * feat(udiskie): enhance README with device attributes and update service to suppress errors * fix(udiskie): use shell quoting for device paths in panel async commands * feat(udiskie): add spanish translations and update tests to check every translation
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"settings": {
|
||||
"enable_notifications": {
|
||||
"label": "Desktop notifications",
|
||||
"description": "Show native Noctalia desktop notifications on device events."
|
||||
},
|
||||
"auto_open_filemanager": {
|
||||
"label": "Auto-open file manager",
|
||||
"description": "Automatically open mounted drives in file manager."
|
||||
},
|
||||
"file_manager_cmd": {
|
||||
"label": "File manager command",
|
||||
"description": "Command used to open mounted folders."
|
||||
},
|
||||
"glyph": {
|
||||
"label": "Bar glyph",
|
||||
"description": "The glyph shown for the Udiskie widget on the bar."
|
||||
},
|
||||
"show_count": {
|
||||
"label": "Show device count",
|
||||
"description": "Display count of mounted devices on the bar widget."
|
||||
},
|
||||
"hide_when_empty": {
|
||||
"label": "Hide when empty",
|
||||
"description": "Hide the bar widget when no USB drives are connected."
|
||||
}
|
||||
},
|
||||
"tooltip_empty": "No devices mounted",
|
||||
"tooltip_mounted": "Mounted devices",
|
||||
"panel_title": "Udiskie Manager",
|
||||
"panel_empty": "No USB drives detected",
|
||||
"btn_mount_all": "Mount All",
|
||||
"btn_unmount_all": "Unmount All",
|
||||
"btn_mount": "Mount",
|
||||
"btn_unlock": "Unlock",
|
||||
"btn_unmount": "Unmount",
|
||||
"btn_eject": "Eject",
|
||||
"btn_poweroff": "Power Off",
|
||||
"btn_open": "Open",
|
||||
"status_mounted": "Mounted",
|
||||
"status_unmounted": "Unmounted",
|
||||
"status_locked": "Locked (LUKS)",
|
||||
"error_missing_dep": "udiskie binary is missing from PATH",
|
||||
"btn_retry": "Retry Connection",
|
||||
"btn_docs": "Check Documentation",
|
||||
"copy_path_tooltip": "Copy mount path",
|
||||
"notify_path_copied": "Path copied to clipboard",
|
||||
"no_partitions_found": "No partitions found",
|
||||
"notif_drive_connected_title": "Drive Connected",
|
||||
"notif_drive_connected_body": "{label} connected",
|
||||
"notif_drive_removed_title": "Drive Removed",
|
||||
"notif_drive_removed_body": "{label} disconnected",
|
||||
"notif_drive_mounted_title": "Drive Mounted",
|
||||
"notif_drive_mounted_body": "{label} is ready to use",
|
||||
"notif_drive_unmounted_title": "Drive Unmounted",
|
||||
"notif_drive_unmounted_body": "{label} was safely unmounted",
|
||||
"notif_mount_failed_title": "Mount Failed",
|
||||
"notif_mount_failed_fallback": "Could not mount {device}",
|
||||
"notif_mount_all_failed_title": "Mount All Failed",
|
||||
"notif_mount_all_failed_fallback": "Could not mount all devices",
|
||||
"notif_unmount_failed_title": "Unmount Failed",
|
||||
"notif_unmount_failed_fallback": "Device {device} is busy or in use",
|
||||
"notif_unmount_all_failed_title": "Unmount All Failed",
|
||||
"notif_unmount_all_failed_fallback": "One or more devices are busy",
|
||||
"notif_eject_failed_title": "Eject Failed",
|
||||
"notif_eject_failed_fallback": "Could not eject {device}",
|
||||
"notif_poweroff_failed_title": "Power Off Failed",
|
||||
"notif_poweroff_failed_fallback": "Could not power off {device}"
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"settings": {
|
||||
"enable_notifications": {
|
||||
"label": "Notificaciones de escritorio",
|
||||
"description": "Mostrar notificaciones nativas de escritorio de Noctalia en los eventos de dispositivos."
|
||||
},
|
||||
"auto_open_filemanager": {
|
||||
"label": "Abrir gestor de archivos automáticamente",
|
||||
"description": "Abrir automáticamente los dispositivos montados en el gestor de archivos."
|
||||
},
|
||||
"file_manager_cmd": {
|
||||
"label": "Comando del gestor de archivos",
|
||||
"description": "Comando usado para abrir las carpetas montadas."
|
||||
},
|
||||
"glyph": {
|
||||
"label": "Icono de la barra",
|
||||
"description": "El icono que se muestra para el widget de Udiskie en la barra."
|
||||
},
|
||||
"show_count": {
|
||||
"label": "Mostrar número de dispositivos",
|
||||
"description": "Mostrar el número de dispositivos montados en el widget de la barra."
|
||||
},
|
||||
"hide_when_empty": {
|
||||
"label": "Ocultar cuando esté vacío",
|
||||
"description": "Ocultar el widget de la barra cuando no haya unidades USB conectadas."
|
||||
}
|
||||
},
|
||||
"tooltip_empty": "No hay dispositivos montados",
|
||||
"tooltip_mounted": "Dispositivos montados",
|
||||
"panel_title": "Udiskie Manager",
|
||||
"panel_empty": "No se detectaron unidades USB",
|
||||
"btn_mount_all": "Montar todo",
|
||||
"btn_unmount_all": "Desmontar todo",
|
||||
"btn_mount": "Montar",
|
||||
"btn_unlock": "Desbloquear",
|
||||
"btn_unmount": "Desmontar",
|
||||
"btn_eject": "Expulsar",
|
||||
"btn_poweroff": "Apagar",
|
||||
"btn_open": "Abrir",
|
||||
"status_mounted": "Montado",
|
||||
"status_unmounted": "Desmontado",
|
||||
"status_locked": "Bloqueado (LUKS)",
|
||||
"error_missing_dep": "El binario udiskie no está en el PATH",
|
||||
"btn_retry": "Reintentar conexión",
|
||||
"btn_docs": "Consultar documentación",
|
||||
"copy_path_tooltip": "Copiar ruta de montaje",
|
||||
"notify_path_copied": "Ruta copiada al portapapeles",
|
||||
"no_partitions_found": "No se encontraron particiones",
|
||||
"notif_drive_connected_title": "Unidad conectada",
|
||||
"notif_drive_connected_body": "{label} se ha conectado",
|
||||
"notif_drive_removed_title": "Unidad extraída",
|
||||
"notif_drive_removed_body": "{label} se ha desconectado",
|
||||
"notif_drive_mounted_title": "Unidad montada",
|
||||
"notif_drive_mounted_body": "{label} está listo para usar",
|
||||
"notif_drive_unmounted_title": "Unidad desmontada",
|
||||
"notif_drive_unmounted_body": "{label} se desmontó de forma segura",
|
||||
"notif_mount_failed_title": "Error al montar",
|
||||
"notif_mount_failed_fallback": "No se pudo montar {device}",
|
||||
"notif_mount_all_failed_title": "Error al montar todo",
|
||||
"notif_mount_all_failed_fallback": "No se pudieron montar todos los dispositivos",
|
||||
"notif_unmount_failed_title": "Error al desmontar",
|
||||
"notif_unmount_failed_fallback": "El dispositivo {device} está ocupado o en uso",
|
||||
"notif_unmount_all_failed_title": "Error al desmontar todo",
|
||||
"notif_unmount_all_failed_fallback": "Uno o más dispositivos están ocupados",
|
||||
"notif_eject_failed_title": "Error al expulsar",
|
||||
"notif_eject_failed_fallback": "No se pudo expulsar {device}",
|
||||
"notif_poweroff_failed_title": "Error al apagar",
|
||||
"notif_poweroff_failed_fallback": "No se pudo apagar {device}"
|
||||
}
|
||||
Reference in New Issue
Block a user