Hello freedesktop.org, This is a follow up on a bug to xdg-utils about xdg-open not spawning terminals for .desktop files with Terminal=true entry [1]. Rex Dieter suggested to start a discussion here before taking further steps.
[1] https://bugs.freedesktop.org/show_bug.cgi?id=92514 To summarize the issue: There is currently no uniform way to set the default terminal across the system and so everyone seems to be doing their own thing: - xdg-open does not know how to spawn terminals (leading to the application aborting or even worse: suppressed output) - mimeopen uses an environment variable $TERMINAL in the form TERMINAL="xterm -e" - rifle (file opener, part of the ranger file manager) uses an environment variable $TERMCMD in the form TERMCMD="xterm" - in awesome (window manager), you usually configure the terminal in your lua.rc file - not sure what desktop environments are doing in their code base, maybe hardcoding their own terminals - xdg-terminal (unreleased, part of xdg-utils) currently even looks at $TERM and uses xterm as hardcoded fallback - probably tons of others... In the thread attached to the bug report we had several (not necessarily exclusive) thoughts about how to tackle the issue: 1 a) invent a new variable e.g. $TERMINAL or similar that works like $BROWSER, i.e. something of the form TERMINAL=urxvt:gnome-terminal:xterm 1 b) invent a new variable e.g. $TERMINAL or similar that works like the one used by mimeopen, i.e. TERMINAL="xterm -e" 2) encourage the use of (and possibly semi-mandatory dependency on) gvfs-open/kde-open 3). invent a mimetype for terminal applications so available terminals can be iterated via .desktop files and a default can be requested in the mimeapps.list file, e.g.: [Desktop Entry] name=terminator GenericName=X Terminal Emulator Exec=terminator -x %F MimeType=x-terminal-emulator My personal opinions: concerning 1 a) - [+] nice and simple - [-] have to hardcode command line options, e.g. terminator uses "-x" rather than "-e" - considering $TERMINAL is already used in a different fashion by mimeopen (and mimeopen is used as fallback by xdg-open), I'd rather tend towards a different name for the variable, e.g. $TERMCMD which would be upward compatible to how its used by terminator concerning 1 b) - [+] no need to hardcode command line options - [+] compatible with existing mimeopen behaviour - [-] contains more than just a executable name, may be less simple to analyze concerning 2) - [+] easy out without much coding for xdg-open - [-] doesn't really solve the problem that "everyone uses their own mechanism" - [-] I didn't look at gvfs-open/kde-open so far, but I'm afraid, they don't allow the user to specify their preferred terminal as easily - [-] seems like a heavy dependency concerning 3) - [+] uses an established config format - [+] can configure multiple terminals with correct command line options and the default - [-] not sure if the mimetype concept applies to this problem very well - [-] maybe too complex for such a simple goal
signature.asc
Description: OpenPGP digital signature
_______________________________________________ xdg mailing list xdg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xdg