The README asked for "Arch or an Arch derivative" and the code had two
reasons for it. Neither of them was the mechanism, which is why this is
mostly a matter of not assuming.
The first was the flag file. Arch wraps Electron and Chromium in launchers
that read $XDG_CONFIG_HOME/<name>-flags.conf, and that route is the good
one - it survives upgrades and applies to a launch from a terminal. Debian,
Ubuntu, Fedora and openSUSE keep the equivalent under /etc, where it is the
system's file and not the user's, so there is nothing to write and those
applications have to go through their desktop entry instead. That already
worked, because a launcher is read rather than assumed - but only if the
launcher was recognised as Chromium at all, and it was not:
APPNAME=chromium
LIBDIR=/usr/lib/chromium
exec -a "$APPNAME" "$LIBDIR/$APPNAME" $CHROMIUM_FLAGS "$@"
is the shape every one of those wrappers has, and following it needs the
assignments above resolved and -a understood as renaming the process rather
than naming the program. Both are done now, and the wrappers that still
cannot be followed are caught by CHROMIUM_FLAGS and CHROME_WRAPPER, which
nothing but a Chromium launcher sets. Two applications on the machine this
was written on turn out to have been missed for the same reason: Helium,
whose wrapper is followed to a payload full of markers, and ONLYOFFICE,
which ships libcef.so.
Resolving more wrappers made an old inference dangerous. Any launcher that
could be followed also had "<target>-flags.conf" invented for it, on the
theory that a wrapper builds that name from a variable at runtime. For an
application that simply execs its own binary that file is read by nobody:
the flag would have gone to ~/.config/DesktopEditors-flags.conf and the
desktop entry that would have worked was skipped. The name is now derived
only once the target has shown it reads a flag file at all.
The second reason was snaps. /snap/bin/<name> is a symlink to snapd, so
following it lands on /usr/bin/snap and says nothing; the payload is in the
mounted revision, and that tree takes the same marker check as anything
else. They get a settings switch of their own next to Flatpak, and the
launcher entry as their only way in.
Packaging is now a gate in front of the category rather than a category
beside it. A Chromium installed as a snap or a Flatpak was filed as neither
an application nor a browser, so turning browsers off did not reach it -
which on Ubuntu means the default browser. It is a browser that happens to
be packaged as a snap, and both switches apply.
The rest is the same not-assuming: Steam is found in Debian's
~/.steam/debian-installation and in the snap's private tree, the Flatpak
and snap export directories are scanned even when a session started before
they were installed left them out of XDG_DATA_DIRS, /usr/lib/x86_64-linux-gnu
counts as a shared directory the way /usr/lib does, the watcher covers
snapd's export directory and the NixOS and Guix profiles, LANG is read from
/etc/default/locale as well as /etc/locale.conf, and the systemd user unit
directory is asked of systemd instead of guessed - while still following a
PREFIX that was asked for.
242 lines
6.3 KiB
Gettext
242 lines
6.3 KiB
Gettext
# Translation template for middleclick-autoscroll.
|
||
# Copyright (C) 2026 Felitendo
|
||
# This file is distributed under the same license as middleclick-autoscroll.
|
||
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: middleclick-autoscroll 1.0.3\n"
|
||
"Report-Msgid-Bugs-To: https://github.com/Felitendo/middleclick-autoscroll/issues\n"
|
||
"POT-Creation-Date: 2026-08-16 00:00+0200\n"
|
||
"PO-Revision-Date: 2026-08-16 00:00+0200\n"
|
||
"Last-Translator: Felitendo\n"
|
||
"Language-Team: German\n"
|
||
"Language: de\n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
|
||
#. Status labels
|
||
msgid "ON"
|
||
msgstr "AN"
|
||
|
||
msgid "OFF"
|
||
msgstr "AUS"
|
||
|
||
msgid "on"
|
||
msgstr "an"
|
||
|
||
msgid "off"
|
||
msgstr "aus"
|
||
|
||
msgid "(none)"
|
||
msgstr "(keine)"
|
||
|
||
msgid "flag file"
|
||
msgstr "Flag-Datei"
|
||
|
||
msgid "launcher"
|
||
msgstr "Startereintrag"
|
||
|
||
msgid "cannot tell"
|
||
msgstr "nicht erkennbar"
|
||
|
||
msgid "not patched yet"
|
||
msgstr "noch nicht gepatcht"
|
||
|
||
msgid "waiting until Steam is closed"
|
||
msgstr "wartet, bis Steam geschlossen ist"
|
||
|
||
|
||
#. Status block
|
||
msgid "Autoscroll"
|
||
msgstr "Autoscroll"
|
||
|
||
msgid "Applications covered"
|
||
msgstr "Abgedeckte Anwendungen"
|
||
|
||
msgid "%d of %d"
|
||
msgstr "%d von %d"
|
||
|
||
msgid "Not identified"
|
||
msgstr "Nicht erkannt"
|
||
|
||
msgid "%d - see the applications list"
|
||
msgstr "%d – siehe Anwendungsliste"
|
||
|
||
msgid "Steam"
|
||
msgstr "Steam"
|
||
|
||
msgid "New applications"
|
||
msgstr "Neue Anwendungen"
|
||
|
||
msgid "Last applied"
|
||
msgstr "Zuletzt angewendet"
|
||
|
||
msgid "Applications pick this up the next time they are started."
|
||
msgstr "Anwendungen übernehmen das beim nächsten Start."
|
||
|
||
|
||
#. Menu
|
||
msgid "Turn autoscroll on or off"
|
||
msgstr "Autoscroll ein- oder ausschalten"
|
||
|
||
msgid "Re-apply everything"
|
||
msgstr "Alles neu anwenden"
|
||
|
||
msgid "Applications"
|
||
msgstr "Anwendungen"
|
||
|
||
msgid "Settings"
|
||
msgstr "Einstellungen"
|
||
|
||
msgid "Quit"
|
||
msgstr "Beenden"
|
||
|
||
msgid "Press any key to continue..."
|
||
msgstr "Beliebige Taste drücken …"
|
||
|
||
|
||
#. Settings
|
||
msgid "Electron and CEF applications"
|
||
msgstr "Electron- und CEF-Anwendungen"
|
||
|
||
msgid "Chromium-based browsers"
|
||
msgstr "Chromium-basierte Browser"
|
||
|
||
msgid "Flatpak applications"
|
||
msgstr "Flatpak-Anwendungen"
|
||
|
||
msgid "Snap applications"
|
||
msgstr "Snap-Anwendungen"
|
||
|
||
msgid "Programs that start themselves at login"
|
||
msgstr "Programme, die sich beim Anmelden selbst starten"
|
||
|
||
msgid "Spotify"
|
||
msgstr "Spotify"
|
||
|
||
msgid "Apply to newly installed applications"
|
||
msgstr "Auf neu installierte Anwendungen anwenden"
|
||
|
||
msgid "Additional Chromium arguments"
|
||
msgstr "Zusätzliche Chromium-Argumente"
|
||
|
||
msgid "Up/Down select - Space or Right changes - q goes back"
|
||
msgstr "Hoch/Runter wählt – Leertaste oder Rechts ändert – q geht zurück"
|
||
|
||
msgid "Arguments separated by spaces, empty for none:"
|
||
msgstr "Argumente mit Leerzeichen getrennt, leer für keine:"
|
||
|
||
msgid "Could not save the setting."
|
||
msgstr "Einstellung konnte nicht gespeichert werden."
|
||
|
||
|
||
#. Applications screen
|
||
msgid "Looking at the installed applications..."
|
||
msgstr "Installierte Anwendungen werden durchgesehen …"
|
||
|
||
msgid "No Chromium-based applications found."
|
||
msgstr "Keine Chromium-basierten Anwendungen gefunden."
|
||
|
||
msgid "Anything not identified is left alone until it is turned on here."
|
||
msgstr "Nicht erkannte Anwendungen bleiben unangetastet, bis sie hier eingeschaltet werden."
|
||
|
||
msgid "Autoscroll is off - this is what would be covered."
|
||
msgstr "Autoscroll ist aus – das hier wäre abgedeckt."
|
||
|
||
msgid "Up/Down select - Space turns one on or off - q goes back"
|
||
msgstr "Hoch/Runter wählt – Leertaste schaltet einzeln ein oder aus – q geht zurück"
|
||
|
||
|
||
#. Results
|
||
msgid "Autoscroll is on for %d applications."
|
||
msgstr "Autoscroll ist für %d Anwendungen an."
|
||
|
||
msgid "Applications that are already running pick this up when they are restarted."
|
||
msgstr "Bereits laufende Anwendungen übernehmen das nach einem Neustart."
|
||
|
||
msgid "Steam's launcher now skips its file check, which is what keeps the change from being undone at every start."
|
||
msgstr "Steams Startereintrag überspringt jetzt die Dateiprüfung – nur so bleibt die Änderung bei jedem Start erhalten."
|
||
|
||
msgid "Could not start the watcher for newly installed applications."
|
||
msgstr "Die Überwachung neu installierter Anwendungen konnte nicht gestartet werden."
|
||
|
||
msgid "No systemd user session - newly installed applications will not be picked up on their own."
|
||
msgstr "Keine systemd-Benutzersitzung – neu installierte Anwendungen werden nicht von selbst erfasst."
|
||
|
||
msgid "Autoscroll is off and everything that was changed has been put back."
|
||
msgstr "Autoscroll ist aus, alle Änderungen wurden zurückgenommen."
|
||
|
||
msgid "Autoscroll is off. Turn it on first."
|
||
msgstr "Autoscroll ist aus. Erst einschalten."
|
||
|
||
msgid "Applied again to %d applications."
|
||
msgstr "Erneut auf %d Anwendungen angewendet."
|
||
|
||
msgid "Applied to %d applications."
|
||
msgstr "Auf %d Anwendungen angewendet."
|
||
|
||
msgid "Already applied to %d applications."
|
||
msgstr "Bereits auf %d Anwendungen angewendet."
|
||
|
||
msgid "Steam starts its interface in a way this version does not recognise; leaving it alone."
|
||
msgstr "Steam startet seine Oberfläche auf eine Art, die diese Version nicht kennt; Steam bleibt unangetastet."
|
||
|
||
msgid "Steam is running and has put its own file back; the change waits until Steam is closed."
|
||
msgstr "Steam läuft und hat seine eigene Datei wiederhergestellt; die Änderung wird nachgeholt, sobald Steam geschlossen ist."
|
||
|
||
|
||
#. Help
|
||
msgid "Usage: middleclick-autoscroll [command]"
|
||
msgstr "Aufruf: middleclick-autoscroll [Befehl]"
|
||
|
||
msgid "Commands:"
|
||
msgstr "Befehle:"
|
||
|
||
msgid "Turn autoscroll on"
|
||
msgstr "Autoscroll einschalten"
|
||
|
||
msgid "Turn it off and put everything back"
|
||
msgstr "Ausschalten und alles zurücknehmen"
|
||
|
||
msgid "Apply to anything installed since the last run"
|
||
msgstr "Auf alles anwenden, was seit dem letzten Lauf dazugekommen ist"
|
||
|
||
msgid "Take everything back and apply it again"
|
||
msgstr "Alles zurücknehmen und neu anwenden"
|
||
|
||
msgid "Show what is covered"
|
||
msgstr "Anzeigen, was abgedeckt ist"
|
||
|
||
msgid "List every application that was found"
|
||
msgstr "Alle gefundenen Anwendungen auflisten"
|
||
|
||
msgid "Show this help"
|
||
msgstr "Diese Hilfe anzeigen"
|
||
|
||
msgid "Show the version"
|
||
msgstr "Version anzeigen"
|
||
|
||
msgid "Without a command an interactive menu is shown."
|
||
msgstr "Ohne Befehl wird ein interaktives Menü angezeigt."
|
||
|
||
msgid "Unknown command: %s"
|
||
msgstr "Unbekannter Befehl: %s"
|
||
|
||
|
||
#. Time
|
||
msgid "never"
|
||
msgstr "nie"
|
||
|
||
msgid "just now"
|
||
msgstr "gerade eben"
|
||
|
||
msgid "%d minutes ago"
|
||
msgstr "vor %d Minuten"
|
||
|
||
msgid "%d hours ago"
|
||
msgstr "vor %d Stunden"
|
||
|
||
msgid "%d days ago"
|
||
msgstr "vor %d Tagen"
|