points/.local/share/kservices5/open-konsole-here.desktop
2023-03-24 21:34:01 +01:00

61 lines
6.6 KiB
Desktop File

# Author: Fabio Mucciante
# Last Update: 2022/05/01
# Version: 1.3.0
#
# Manual Install:
# - KDE 4: Copy this file under: ~/.kde4/share/kde4/services/ServiceMenus/
# - KDE 5: Copy this file under: ~/.local/share/kservices5/ServiceMenus/
#
# References:
# - https://freeaptitude.altervista.org/downloads/open-konsole-here.html
# - https://github.com/fabiomux/kde-servicemenus
[Desktop Entry]
Type=Service
MimeType=inode/directory;
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
Icon=utilities-terminal
Actions=konsole_first_instance_current_session;konsole_first_instance_new_session;_SEPARATOR_;konsole_last_instance_current_session;konsole_last_instance_new_session;_SEPARATOR_;konsole_select_instance_current_session;konsole_select_instance_new_session;
X-KDE-Submenu=Open Konsole here
X-KDE-Submenu[fr]=Ouvrir dans Konsole
X-KDE-Priority=TopLevel
[Desktop Action konsole_last_instance_current_session]
Name=Current session (last instance)
Name[fr]=Onglet actuel (dernière instance)
Icon=utilities-terminal
Exec=exe=`command -v qdbus-qt5 || command -v qdbus`;(pgrep konsole || konsole &);while ! pgrep konsole;do sleep 1; done;if expr "`$exe org.kde.konsol*`" : '.*-.*'; then pid=`pgrep konsole|sort -rn|head -n 1` && sname="org.kde.konsole-$pid" && sid=`$exe $sname /Windows/1 currentSession` && wid=1; else sname='org.kde.konsole' && for i in `$exe $sname | grep "/konsole/MainWindow_[0-9]\\+\\\\$"|cut -f 2 -d '_'`;do r="$r\\n`$exe $sname /konsole/MainWindow_$i winId`.$i";done && wid=`echo -e $r|sort -rn|head -n 1|cut -f 2 -d '.'` && sid=`$exe $sname "/Windows/$wid" currentSession`;fi;$exe $sname /Sessions/$sid runCommand " cd '%f'" && $exe $sname /konsole/MainWindow_$wid hide && $exe $sname /konsole/MainWindow_$wid show
[Desktop Action konsole_last_instance_new_session]
Name=New session (last instance)
Name[fr]=Nouvel onglet (dernière instance)
Icon=window-new
Exec=exe=`command -v qdbus-qt5 || command -v qdbus`;(pgrep konsole || konsole &);while ! pgrep konsole;do sleep 1; done;if expr "`$exe org.kde.konsol*`" : '.*-.*'; then pid=`pgrep konsole|sort -rn|head -n 1` && sname="org.kde.konsole-$pid" && sid=`$exe $sname /Windows/1 newSession` && wid=1; else sname='org.kde.konsole' && for i in `$exe $sname|grep "/konsole/MainWindow_[0-9]\\+\\\\$"|cut -f 2 -d '_'`; do r="$r\\n`$exe $sname /konsole/MainWindow_$i winId`.$i";done && wid=`echo -e $r|sort -rn|head -n 1|cut -f 2 -d '.'` && sid=`$exe $sname "/Windows/$wid" newSession`;fi; sleep 1 && $exe $sname /Sessions/$sid runCommand " cd '%f'" && $exe $sname /konsole/MainWindow_$wid hide && $exe $sname /konsole/MainWindow_$wid show
[Desktop Action konsole_first_instance_current_session]
Name=Current session (first instance)
Name[fr]=Onglet actuel (première instance)
Icon=utilities-terminal
Exec=exe=`command -v qdbus-qt5 || command -v qdbus`;(pgrep konsole || konsole &);while ! pgrep konsole;do sleep 1; done;if expr "`$exe org.kde.konsol*`" : '.*-.*'; then pid=`pgrep konsole|sort -n|grep "^[0-9]"|head -n 1` && sname="org.kde.konsole-$pid" && sid=`$exe $sname /Windows/1 currentSession` && wid=1; else sname='org.kde.konsole' && for i in `$exe $sname | grep "/konsole/MainWindow_[0-9]\\+\\\\$"|cut -f 2 -d '_'`;do r="$r\\n`$exe $sname /konsole/MainWindow_$i winId`.$i";done && wid=`echo -e $r|sort -n|grep "^[0-9]"|head -n 1|cut -f 2 -d '.'` && sid=`$exe $sname "/Windows/$wid" currentSession`;fi;$exe $sname /Sessions/$sid runCommand " cd '%f'" && $exe $sname /konsole/MainWindow_$wid hide && $exe $sname /konsole/MainWindow_$wid show
[Desktop Action konsole_first_instance_new_session]
Name=New session (first instance)
Name[fr]=Nouvel onglet (première instance)
Icon=window-new
Exec=exe=`command -v qdbus-qt5 || command -v qdbus`;(pgrep konsole || konsole &);while ! pgrep konsole;do sleep 1; done;if expr "`$exe org.kde.konsol*`" : '.*-.*'; then pid=`pgrep konsole|sort -n|grep "^[0-9]"|head -n 1` && sname="org.kde.konsole-$pid" && sid=`$exe $sname /Windows/1 newSession` && wid=1; else sname='org.kde.konsole' && for i in `$exe $sname|grep "/konsole/MainWindow_[0-9]\\+\\\\$"|cut -f 2 -d '_'`; do r="$r\\n`$exe $sname /konsole/MainWindow_$i winId`.$i";done && wid=`echo -e $r|sort -n|grep "^[0-9]"|head -n 1|cut -f 2 -d '.'` && sid=`$exe $sname "/Windows/$wid" newSession`;fi; sleep 1 && $exe $sname /Sessions/$sid runCommand " cd '%f'" && $exe $sname /konsole/MainWindow_$wid hide && $exe $sname /konsole/MainWindow_$wid show
[Desktop Action konsole_select_instance_current_session]
Name=Current session (select the instance)
Name[fr]=Onglet actuel (choisir l'instance)
Icon=utilities-terminal
Exec=exe=`command -v qdbus-qt5 || command -v qdbus`;(pgrep konsole || konsole &);while ! pgrep konsole;do sleep 1; done;if expr "`$exe org.kde.konsol*`" : '.*-.*'; then declare -a a;for i in `pgrep konsole`;do a[$i]="$i \\"`$exe org.kde.konsole-$i /konsole/MainWindow_1 org.qtproject.Qt.QWidget.windowTitle`\\" off"; done; eval set -- "${a[@]}";pid=`kdialog --radiolist 'Select the Konsole window' "$@"` && sname="org.kde.konsole-$pid" && sid=`$exe $sname /Windows/1 currentSession` && wid=1; else sname='org.kde.konsole' && for i in `$exe $sname | grep "/konsole/MainWindow_[0-9]\\+\\\\$"|cut -f 2 -d '_'`;do a["$i"]="$i \\"`$exe $sname /konsole/MainWindow_$i org.qtproject.Qt.QWidget.windowTitle`\\" off"; done; eval set -- "${a[@]}"; wid=`kdialog --radiolist 'Select the Konsole window' "$@"` && sid=`$exe $sname "/Windows/$wid" currentSession`;fi;$exe $sname /Sessions/$sid runCommand " cd '%f'" && $exe $sname /konsole/MainWindow_$wid hide && $exe $sname /konsole/MainWindow_$wid show
[Desktop Action konsole_select_instance_new_session]
Name=New session (select the instance)
Name[fr]=Nouvel onglet (choisir l'instance)
Icon=window-new
Exec=exe=`command -v qdbus-qt5 || command -v qdbus`;(pgrep konsole || konsole &);while ! pgrep konsole;do sleep 1; done;if expr "`$exe org.kde.konsol*`" : '.*-.*'; then declare -a a;for i in `pgrep konsole`;do a[$i]="$i \\"`$exe org.kde.konsole-$i /konsole/MainWindow_1 org.qtproject.Qt.QWidget.windowTitle`\\" off"; done; eval set -- "${a[@]}";pid=`kdialog --radiolist 'Select the Konsole window' "$@"` && sname="org.kde.konsole-$pid" && sid=`$exe $sname /Windows/1 currentSession` && wid=1; else sname='org.kde.konsole' && for i in `$exe $sname | grep "/konsole/MainWindow_[0-9]\\+\\\\$"|cut -f 2 -d '_'`;do a["$i"]="$i \\"`$exe $sname /konsole/MainWindow_$i org.qtproject.Qt.QWidget.windowTitle`\\" off"; done; eval set -- "${a[@]}"; wid=`kdialog --radiolist 'Select the Konsole window' "$@"` && sid=`$exe $sname "/Windows/$wid" newSession`;fi;$exe $sname /Sessions/$sid runCommand " cd '%f'" && $exe $sname /konsole/MainWindow_$wid hide && $exe $sname /konsole/MainWindow_$wid show