| Commit message (Collapse) | Author | Lines |
|
Currently weltschmerz's make-based build system relies on GNU make
extensions. Change it to only use POSIX and other nearly universally
implemented features.
A small downside to this patch is that .po files must be listed in the
Makefile manually.
|
|
Currently these localization files are only built when the user executes
`make install`. Since `make install` is often run as root, this leaves
files with root as their owner in the source directory. There are also
security implications to running compilers as root. This patch adds a
target `all` to the Makefile which depends on the localization files, so
that they are built as the user.
|
|
weltschmerz currently does not allow for translation and exists in
English only. This is a serious defect for people who do not speak that
language. The following series of commits aims to remedy this by adding
the necessary infrastructure and build steps to enable easy translation.
To do this we use GNU gettext[1]; its tooling is widely supported and a
de-facto standard. Since we need to tell gettext where to find the
compiled .mo translation files, have both the Makefile and meson pass
the locale directory to weltschmerz in form of a LOCALEDIR macro. The
translation domain will be "weltschmerz".
Not only will any strings in the Vala code have to be translated, we
need to make sure to translate terminal.ui and weltschmerz.desktop as
well. The former will be taken care of through POTFILES only, but for
the latter we have to define an intermediary build step. To ensure
compatibility with the Makefile, we suffix the desktop file with '.in'.
For now, LINGUAS and POTFILES remain empty. A future commit will
document all files needing translation. LINGUAS will be updated as
translations are completed.
[1] https://www.gnu.org/software/gettext
|
|
Two (relatively) new source files, namely configreader.vala and
utils.vala, were missing as prerequisites from the weltschmerz rule,
leading to the binary not being rebuilt if either file is changed.
|
|
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
|
|
This commit improves and simplifies weltschmerz's configuration
handling. Obtaining and parsing the KeyFile is split out into
ConfigReader, which is fully agnostic of the specific configuration
values.
Config now contains all configuration values in the form of primitive
types or class instances, and no longer delegates access to the KeyFile
structure directly. This means that the configuration file is read once,
and then kept in the Config instance.
Indirectly this commit also fixes a bug where weltschmerz would segfault
if one of the palette entries contained an invalid value.
|
|
|
|
|