Refactor Linux hotkey handling and improve installation process

- Removed the legacy HTTP daemon for handling hotkey presses on Linux, replacing it with a simpler command-based approach using `--action=toggle`.
- Updated the build script to support non-interactive installation for CI environments with the `--no-install` flag.
- Enhanced the ydotool setup process to prefer distribution-provided systemd units and improved error messages for missing dependencies.
- Changed the way active window titles are retrieved on Linux to avoid using robotgo, which can fail on Wayland.
- Updated README and frontend hints to clarify the use of GlobalShortcuts portal and fallback commands for Linux.
- Improved package building scripts to allow building only Debian or RPM packages based on command-line flags.
- Adjusted the text insertion logic to handle different versions of ydotool more robustly.
This commit is contained in:
John Doe
2026-07-10 14:58:25 -07:00
parent 26022d67fb
commit 5b6e39c5e8
11 changed files with 392 additions and 378 deletions
+3 -25
View File
@@ -35,37 +35,15 @@ jobs:
libasound2-dev \
libayatana-appindicator3-dev
- name: Install Wails CLI
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
- name: Install frontend dependencies
run: npm install
run: npm ci
working-directory: frontend
- name: Determine version
id: version
run: |
if [ -f scripts/VERSION ]; then
VERSION=$(head -n1 scripts/VERSION | tr -d '\r\n' | xargs)
fi
if [ -z "$VERSION" ]; then
VERSION="dev"
fi
echo "app_version=$VERSION" >> "$GITHUB_OUTPUT"
- name: Fix npm bin permissions
run: chmod +x frontend/node_modules/.bin/* 2>/dev/null || true
- name: Build app
run: |
WAILS_WEBKIT_TAGS=""
if pkg-config --exists webkit2gtk-4.1 2>/dev/null; then
WAILS_WEBKIT_TAGS="-tags webkit2_41"
fi
wails build -platform linux/amd64 -clean $WAILS_WEBKIT_TAGS -ldflags "-X main.AppVersion=${{ steps.version.outputs.app_version }}"
run: bash scripts/build-linux.sh --no-install
- name: Upload binary
uses: actions/upload-artifact@v4
with:
name: wis-free-v3-linux-amd64
path: build/bin/wis-free-v3
path: build/bin/wis-free-v3