Files
fedora-tools/README.md
T

135 lines
6.0 KiB
Markdown

# Fedora tools
Small utilities for Fedora Linux, distributed as RPM packages through a Gitea
package registry. Installed tools receive updates through DNF and compatible
graphical software managers.
These tools are developed with the help of AI.
## Repository
```bash
sudo dnf config-manager addrepo \
--from-repofile=https://git.ajpanton.se/ajp_anton/fedora-tools/raw/branch/main/fedora-tools.repo
```
```bash
sudo dnf install touchpad-hold-tap
sudo dnf install plasma-always-show-unlock
sudo dnf install plasma-task-group-shortcuts
sudo dnf install plasma-fingerprint-workaround
sudo dnf install fedora-tools-settings
sudo dnf install plasma-panel-actions
```
## Compatibility
The primary test environment is a Framework Laptop 13 Pro running Fedora Linux
44 on x86_64, with KDE Plasma 6.7 and a Wayland session using KWin.
Compatibility with other Fedora releases, desktop environments, display
systems, architectures, or distributions may be limited.
## Tools
### Fedora Tools settings
The optional `fedora-tools-settings` package adds a **Fedora Tools** page to
Plasma System Settings. It discovers tools from this RPM repository, shows
which are installed, and can install available tools after administrator
authorization. Installed tools can also be removed, and supported tools expose
their settings there. Individual tools do not require the settings module.
### Touchpad hold-tap
Experimental. Recognizes a one-finger hold followed by a quick tap from a
second finger and emits a middle click. The held finger may move between taps.
Repeating the tap while holding the first finger produces repeated clicks,
including double middle clicks.
The minimum anchor age, required stationary time, tap durations, and emitted
mouse button or keyboard event can be changed through Fedora Tools settings or
with `touchpad-hold-tap-config`. A stationary time of zero allows recognition
while the anchor is moving. Custom plugin settings are stored under `/etc` and
survive package updates. Log out and back in after changing them.
The `touchpad-hold-tap` package requires libinput 1.30 or newer and a compositor
that enables libinput plugins. Log out and back in after installation or an
update so the compositor reloads the plugin.
### Always-visible Plasma unlock prompt
The `plasma-always-show-unlock` package keeps Plasma's password and fingerprint
prompt visible from the moment the lock screen appears, including after the
display is turned off or the system resumes from sleep.
The package applies a narrow patch to Plasma 6.7's lock-screen QML and reapplies
it after `plasma-desktop` updates. An unknown future layout is left unchanged
instead of being modified speculatively. Removing the package restores Plasma's
original behavior. It retries lock-screen authentication after resume and the
automatic-lock grace period, but does not modify `kscreenlocker` authentication
code or `fprintd`.
### Plasma task-group shortcuts
The `plasma-task-group-shortcuts` package makes Meta+1 through Meta+9 address
application groups instead of individual taskbar buttons. It follows the
launchers, ordering, filters, and grouping exceptions of the Task Manager on
the primary screen. Pressing a launcher opens the application; pressing an
application group starts with its first window, then advances through its
windows while Meta remains held. Holding Shift after starting a cycle moves
backward instead. Shift on the first press launches a new instance. Releasing
Meta—or pressing a different number—ends the current cycle. The shortcuts
follow the physical number-row keys for every keyboard layout configured in
KWin, including layouts where those keys do not produce digits without Shift.
With **Keep launchers separate** disabled, a pinned launcher and its running
application share one shortcut position. When enabled, the launcher is its own
position and the application's windows form another. **Hide launcher when
application starts** determines whether that separate launcher remains while
the application is running. Other groups retain the Task Manager's sort order.
The first-window behavior and both Shift behaviors can be changed through
Fedora Tools settings. Changes take effect with the next shortcut press.
If application grouping is disabled—or an application is excluded from
grouping—each of its windows remains a separate shortcut position. **Only group
when the Task Manager is full** does not alter shortcut groups; that would make
the numbers change merely because the panel changed size.
The utility starts with Plasma and records the shortcuts it replaces. Before
removing it, restore them with:
```bash
plasma-task-group-shortcuts --restore-shortcuts
```
### Plasma fingerprint workaround
Experimental and unaudited. The `plasma-fingerprint-workaround` package is an
inert controller for installing a patched Fedora KScreenLocker build that
recovers fingerprint authentication after suspend. It makes no lock-screen
changes when installed and must be enabled explicitly:
```bash
sudo plasma-fingerprint-workaround enable
```
The patched build is not present in the DNF repository and therefore cannot be
selected by a normal system update. The controller can also install a locally
built RPM and restore Fedora's original package. See the tool's
[`README`](plasma-fingerprint-workaround/README.md) for the security warning,
build instructions, version checks, and force-downgrade option.
### Plasma panel actions
The `plasma-panel-actions` package enables panel scroll actions at login,
without requiring a visible widget. Scrolling defaults to volume
control across the panel; each area can instead control screen brightness,
keyboard backlight, virtual desktops, or retain its normal behaviour.
Optional left- and middle-click/double-click actions apply only to empty space
and can also launch applications or custom commands. Add
**Panel Actions Spacer** to reserve flexible space with a configurable minimum
width. Open **Panel Actions** from the application menu or Fedora Tools settings,
with or without a spacer. See its [README](plasma-panel-actions/README.md).