ubuntu - kubuntu - Asignación de atajos de teclado a los menús del servicio KDE Dolphin

CorePress2023-09-17  1

¿Hay alguna manera de asignar un método abreviado de teclado a un menú de servicio personalizado que agregué a Dolphin? El menú de opciones para asignaciones de teclado no parece mostrar ninguna acción del menú de servicio, ni he logrado encontrar una tecla de entrada .desktop que me permita configurar una tecla de acceso rápido.

Sé que Nautilus de GNOME utiliza un archivo de aceleración oculto para permitir a los usuarios configurar combinaciones de teclas personalizadas. ¿Existe quizás una opción similar para Dolphin?

  • No sé si todavía estás usando KDE Plasma pero... yo también uso los menús de servicio. Después de seleccionar un archivo sobre el que desea actuar, presione la tecla Menú, suéltela y luego presione la tecla del acelerador (suponiendo que haya habilitado Mostrar teclas del acelerador) correspondiente al Menú de servicio en particular. ¿Eso ayuda? -DK Bose 5 de marzo de 2020 a las 16:33


------------Respuesta------------

Según mi conocimiento

No es posible iniciar un menú de servicio de KDE (menú contextual) con un atajo de teclado. Esto se basa en:

Dolphin utiliza KDE Framework 5 KIO FileItemActions: https://api.kde.org/frameworks/kio/html/classKFileItemActions.html :

Descripción detallada

Esta clase crea y maneja las acciones para un URL (o URL) en un menú emergente.

Esto incluye:

  • acciones "abrir con ", pero también
  • servicios integrados como montar/desmontar para oarchivos de escritorio del dispositivo estilo ld
  • acciones definidas por el usuario para un archivo .desktop, definidas en el propio archivo (consulte la entrada del escritorio estándar)
  • acciones de los menús de servicio, definidas en archivos .desktop y seleccionadas basado en el tipo MIME de la URL

Archivos fuente de Dolphin:

  • dolphincontextmenu.cpp -> https://cgit.kde.org/dolphin.git/tree/src/dolphincontextmenu.cpp
  • dolphincontextmenu.h -> https://cgit.kde.org/dolphin.git/tree/src/dolphincontextmenu.h

Cita:

/**
 * @brief Represents the context menu which appears when doing a right
 *        click on an item or the viewport of the file manager.
 *

Una especie de solución alternativa con los atajos de los botones Dolphin

Los foros de KDE tienen un tema 'Reproducir todos los medios para Dolphin': https://forum.kde.org/viewtopic.php?f=223&t=140139. Muestra cómo parchear las fuentes de Dolphin para agregar botones adicionales a tLa barra de herramientas de Dolphin. Los botones de Dolphin pueden tener el atajo de teclado.

Deseos/parches

Puedes presentar un deseo en https://bugs.kde.org.

Los parches y las solicitudes de revisión se pueden agregar a la instancia de Phabricator de KDE: https://phabricator.kde.org/.


  • Muchas gracias por investigar esto. Es lamentable saber que esto no es posible en este momento, pero definitivamente intentaré enviar una solicitud de función pronto. También podría probar tu solución alternativa si encuentro tiempo. - Glutanimate 1 de octubre de 2017 a las 11:51
  • Acabo de enviar una solicitud de característica en el rastreador de errores de KDE sobre esta funcionalidad: bugs.kde.org/show_bug.cgi?id=393142. Si alguien más está interesado en agregar esta función a Dolphin, ¡no dude en expresar su apoyo! - Glutanimate 14 de abril de 2018 a las 18:52


------------Respuesta------------

No sé qué distribución usas, pero esta es para Kubuntu (y funciona para otras distribuciones, por supuesto):

Puedes simular el clic derecho con xdotool y asignarlo a tu acceso directo personalizado (para mí Shift-F10).

Así es como se hace. Primero, instale la utilidad xdotool:

sudo apt install xdotool

Luego agregue un nuevo acceso directo en Atajos personalizados. Establezca disparador en el (atajo) que desee (por ejemplo, Shift-F10). Establezca acción en:

tecla xdotool 135

(135 es el código clave de "Tecla de menú")

Funciona para Dolphin 17.12.




------------Respuesta------------

Utilice un software llamado Autokey-gtk --- > ¡Es muy bueno!

Puedes crear fácilmente un script como este para hacer exactamente lo que quieras. Si utiliza las opciones de filtro de ventana, puede seleccionar dónde se puede ejecutar el script.

En KDE. Por ejemplo, aquí hice un script para crear una nueva text en Dolphin o Desktop.

winClass = window.get_active_class()
if "dolphin.dolphin" in winClass:
    keyboard.send_key("<menu>")
    keyboard.send_key("c")
    keyboard.send_key("t")
    
elif "plasmashell.plasmashell" in winClass:
    time.sleep(0.2)
    keyboard.send_key("<menu>")
    time.sleep(0.2)
    keyboard.send_key("n")
    time.sleep(0.2)
    keyboard.send_key("t")