-
-
Notifications
You must be signed in to change notification settings - Fork 307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
State of a default command execution interface support on xdg platforms #1416
Comments
ManuelSchneid3r
changed the title
State of xdg-terminal-exec support
State of a default command execution interface support on xdg platforms
Aug 21, 2024
This was referenced Aug 21, 2024
Recent terminal telemetry (desktop entries identifiying themselves as terminal) {
"Alacritty": "alacritty",
"UXTerm-ebe624a8-ac9b-11ee-9c8f-ac2b6e50f0af": "uxterm",
"XTerm-0605613c-ac9c-11ee-9c8f-ac2b6e50f0af": "xterm",
"XTerm-febce6ac-ac9b-11ee-9c8f-ac2b6e50f0af": "xterm",
"alacritty_alacritty": "env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/alacritty_alacritty.desktop /snap/bin/alacritty",
"app.devsuite.Ptyxis": "/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=ptyxis app.devsuite.Ptyxis",
"appimagekit_28f0999754b978c51d93845ef0dc0fc3-Tabby": "/home/…/.local/bin/tabby.AppImage --no-sandbox %U",
"appimagekit_4fc8a6d2ac198e4ebb606b74570c0b54-Hyper": "/home/…/Applications/Hyper-3.4.1_266a2577ff8643bf74a5c4a86890cd45.AppImage --no-sandbox %U",
"appimagekit_6cfd72c5c3abb1ff617752967ef0df42-Warp": "/home/…/Applications/Warp-x86_64_9053ec433a27aeb1f0fbd717c72b8065.AppImage %U",
"appimagekit_70fd1eb20facb2e6190d4e7a3360251d-Tabby": "/home/…/.local/bin/tabby-1.0.210-linux-x64.AppImage --no-sandbox %U",
"appimagekit_77252ceadfb595f9a8c657b8d5d2844f": "/home/…/Applications/appimaged-840-x86_64.AppImage wrap /home/…/Applications/WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage start --cwd .",
"appimagekit_c9f5363d2e6a1316cc6283478b27221e": "/home/…/Applications/appimaged-840-x86_64.AppImage wrap /home/…/Applications/Warp-x86_64.AppImage %U",
"appimagekit_e9c0addfd34276ca5c92880babd17276": "/home/…/Applications/appimaged-840-x86_64.AppImage wrap /home/…/Applications/waveterm-linux-x86_64-0.8.11.AppImage --enable-features UseOzonePlatform --ozone-platform-hint auto %U",
"asbru-cm": "env GDK_BACKEND=x11 asbru-cm",
"bl-terminal-emulator": "x-terminal-emulator",
"byobu": "gnome-terminal --name=us.kirkland.terminals.byobu --class=us.kirkland.terminals.byobu -- byobu",
"com.alacritty.Alacritty": "alacritty",
"com.gexperts.Tilix": "tilix",
"com.github.amezin.ddterm": "/home/…/.local/share/gnome-shell/extensions/[email protected]/bin/com.github.amezin.ddterm",
"com.github.marhkb.Pods": "/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=pods com.github.marhkb.Pods",
"com.raggesilver.BlackBox": "/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=blackbox com.raggesilver.BlackBox",
"com.system76.CosmicTerm": "cosmic-term",
"cool-retro-term": "cool-retro-term",
"cool-retro-term_cool-retro-term": "env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/cool-retro-term_cool-retro-term.desktop /snap/bin/cool-retro-term %U",
"debian-uxterm": "uxterm",
"debian-xterm": "xterm",
"deepin-terminal": "deepin-terminal %u",
"dev.warp.Warp": "warp-terminal %U",
"domterm": "domterm",
"electerm": "/opt/electerm/electerm %U",
"fish": "fish",
"foot": "foot",
"foot-server": "foot --server",
"footclient": "footclient",
"guake": "guake",
"hyper": "/opt/Hyper/hyper %U",
"io.elementary.terminal": "io.elementary.terminal",
"ipython-3.10": "ipython-3.10",
"ipython-3.11": "ipython-3.11",
"jupyter-qtconsole-3.10": "jupyter-qtconsole-3.10",
"jupyter-qtconsole-3.11": "jupyter-qtconsole-3.11",
"kitty": "/home/…/.local/kitty.app/bin/kitty",
"konsolesu": "konsole --profile Root Shell",
"logout": "gnome-session-quit",
"lxterminal": "lxterminal",
"mate-terminal": "mate-terminal",
"mlterm": "mlterm",
"open_guake": "/home/fcharlaix/Nextcloud/Scripts/guake.fish",
"org.codeberg.dnkl.foot": "foot",
"org.codeberg.dnkl.foot-server": "foot --server",
"org.codeberg.dnkl.footclient": "footclient",
"org.contourterminal.Contour": "contour",
"org.gnome.Console": "kgx",
"org.gnome.Ptyxis": "ptyxis",
"org.gnome.Ptyxis.Devel": "/usr/bin/flatpak run --branch=master --arch=x86_64 --command=ptyxis org.gnome.Ptyxis.Devel",
"org.gnome.Terminal": "gnome-terminal",
"org.kde.konsole": "/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=konsole org.kde.konsole",
"org.kde.terminal": "konsole",
"org.kde.yakuake": "/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=yakuake org.kde.yakuake",
"org.wezfurlong.wezterm": "/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=wezterm org.wezfurlong.wezterm start --cwd .",
"parrot-root-terminal": "menuexecg /usr/bin/x-terminal-emulator",
"qtdomterm": "qtdomterm",
"qterminal": "qterminal",
"qterminal-drop": "qterminal --drop",
"reboot": "gnome-session-quit --reboot",
"rooncommand": "qterminal --name Roon --title Roon --execute=/usr/local/Roon/bin/roon",
"rxvt-unicode": "urxvt",
"sakura": "sakura",
"shutdown": "gnome-session-quit --power-off",
"st": "st",
"tabby": "/home/…/.local/bin/tabby.AppImage",
"terminator": "terminator -m",
"terminology": "terminology",
"terminology_terminology": "env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/terminology_terminology.desktop /snap/bin/terminology",
"terminus": "terminus",
"termite": "termite",
"termius": "termius %U",
"tilda": "/usr/bin/tilda",
"tilda-dbus": "/usr/bin/tilda --dbus",
"urxvt": "urxvt",
"urxvt-tabbed": "urxvt-tabbed",
"urxvtc": "urxvtc",
"uxterm": "uxterm",
"waveterm": "/opt/Wave/waveterm --enable-features UseOzonePlatform --ozone-platform-hint auto --no-sandbox %U",
"xfce4-terminal": "fterm.sh",
"xfce4-terminal-dropdown": "xfce4-terminal --drop-down --hide-menubar",
"xiterm+thai": "txiterm -ls -cursorColor yellow -cursorColorThai red -bg black -fg white",
"xterm": "xterm",
"zutty": "zutty"
}
What a mess. we need this standard. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Running a command in a terminal from another app is a common usecase. Almost all terminals provide such a command execution interface (
-e
,-x
,--
or such). Clients of the desktop entry spec can guess, but they cant know for sure since terminals break their CLI (no offense, I'd be happy if you all break it to go to--
).There is a freedesktop spec proposal that tries to standardize the way we configure a default terminal for command execution. It implicitly solves the above problem by requiring the dektop entry to provide this info.
To support it (X-)ExecArg has to be added to the desktop file (like this, the reference implementation respects both) and, as the proposal specifies currently, make sure there is TerminalEmulator in Categories. It has not yet been approved, therefore the
X-
.The draft states that the default should be
-e
(because xterm once did). But I think we should not have a default at all because we have to support terminals not having such an interface and even if we do (which will break a lot of configs) we should use--
(terminal authors should as well), because it is not a usual argument but instead changes the way the remainder of the command line is to be interpreted. So please be explicit.As the author of a launcher I'd be even happy with the implicit changes to the lacking (we have the
Terminal
key, do we?) desktop entry spec. There is also a related intentapp draft and a terminal intent. I dont have a favorite, but a pragmatic opinion. This will help making Linux a better user experience and a less annoying developer experience.Thank you
The text was updated successfully, but these errors were encountered: