| Commit message (Collapse) | Author | Lines |
|
|
|
Currently weltschmerz prefers working directory information obtained
from OSC 7 to that from procfs. If a user has not configured their shell
to emit OSC 7 escapes, the OSC 7 path may be out of date. Additionally
some users want only their shell to change the terminal's conception of
working directory, which is a behaviour better matched by the procfs
based working directory detection.
This change allows OSC 7 based working directory detection to be turned
off. The default remains to check OSC 7 first and then fall back to
procfs if there is not valid local path set with OSC 7.
The reason for turning OSC 7 off entirely instead of inverting the order
procfs and OSC 7 are checked in is that procfs based detection should
never fail under normal usage on systems that support it.
|
|
Opening a terminal or file manager window requires weltschmerz to know
the current working directory. At the moment weltschmerz relies on the
application being run in the terminal to generate OSC 7 codes that
specify the path. However, OSC 7 is not yet widely supported by default,
and the VTE terminal emulation layer, which manages the OSC 7 path state
for weltschmerz, will overwrite local paths with ones that point to a
remote computer if an OSC 7 enabled application is run under ssh.
This change adds a fallback that uses the symlink to current working
directory located at /proc/<child pid>/cwd. On Linux this method should
always work and was how these features were implemented before adoption
of OSC 7. The procfs method is used as a fallback instead of the primary
method since it can only see the working directory changes of the direct
child process.
|
|
This commit adds a new section, open-with, to the configuration file.
The options specified there will be added as "Open with …" menu items in
the URI context menu. This is to make it easier to perform other actions
on the URI than opening it in the system default browser; a user might
for example add another browser, media player, or a script that
preprocesses the URI before opening it.
|
|
GTK's decision to make overlay scrolling the default seems to be quite
controversial. It also brings with it added complexity in both behaviour
and configuration and should therefore be mentioned in the manual.
|
|
Add ability to open a new weltschmerz terminal, either from context menu or
with a key combination. The new terminal is opened in the directory
indicated with OSC 7, allowing quickly opening additional terminals while
working.
Preferably this would launch the user's preferred terminal, as defined
in per-user settings, but this is not possible with glib[1]. For this
reason the option always launches another weltschmerz.
weltschmerz is launched using bare Process.spawn_async() on the name of the
program as defined in weltschmerz.vala. We considered using the AppInfo
database to retrieve the name of executable instead, but as there is no way
to query the database for terminal emulators we would have to go through
every single program installed on the computer and try to find one called
weltschmerz. As the change would merely replace the requirement of having
weltschmerz in PATH with the requirement of having a .desktop file with the
name in one of the standardized locations, this would not be worth it.
[1] https://gitlab.gnome.org/GNOME/glib/-/issues/338
|
|
Currently weltschmerz always uses the global GTK setting for cursor
blink, which means that the cursor blink setting is stored separately
from the rest of the configuration. Add a setting for overriding it in
the config file, so that all the relevant settings can be adjusted in
one standardized place.
Reviewed-by: Wolfgang Müller <wolf@oriole.systems>
|
|
|
|
VTE can leverage the child program's support of OSC 7 to keep track of
the current directory. This commit adds support for opening said
directory in the default file manager, either by using a shortcut or by
activating a new entry in the context menu.
|
|
This commit adds support for the OSC 8 hyperlink escape sequence [1]. As
this is not a mature feature and there seem to be outstanding security
concerns [2], the setting that controls whether or not OSC 8 is
interpreted is disabled by default.
Just like gnome-terminal, weltschmerz will display a tooltip with the
canonicalized URI when hovering over a hyperlink.
[1] https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
[2] https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#security
|
|
|
|
|
|
|
|
|