mirror of
https://github.com/gustavosett/Windows-11-Clipboard-History-For-Linux
synced 2026-05-05 06:42:19 +02:00
refactor: multi distro overhaul (#52)
* feat: enhance capabilities and permissions for autostart and global shortcuts * feat: implement desktop environment detection and global shortcut registration * feat: add permission checker module for uinput access verification and configuration * feat: add autostart and global shortcut plugins; integrate permission checker functions * feat: add LXQt and LXDE support for global shortcuts * feat: add permission_checker and shortcut_setup modules to the library * feat: implement SetupWizard for first-run setup and autostart configuration * feat: overhaul install script for improved distribution detection and installation methods * feat: add autostart and global shortcut plugins to dependencies * feat: enhance Makefile with improved installation and cleanup processes * feat: enhance release workflow with version syncing and installation instructions * docs: update contributing guidelines to include required dependencies * docs: update README with Rust version, installation instructions, and new features * feat: improve installation process for uinput module and udev rules * feat: add support for AlmaLinux and improve WebKitGTK compatibility handling * feat: enhance post-removal script to handle multiple module configuration filenames * feat: add XDG_SESSION_CLASS to environment variables in wrapper script * fix: improve error handling for MATE keybinding slots * chore: remove xml formatting * feat: ensure input group exists and add user only on live system during installation * feat: add architecture detection for DEB and RPM packages * fix: correct logic for uinput module configuration in post-installation script * fix: improve error message for missing win11-clipboard-history binary * feat: enhance permission fixing by checking for required commands * fix: improve shortcut registration by ensuring thread completion * style: shortcut registration formatting * feat: add support for CachyOS * feat: enhance distribution detection and installation process * chore: update version to 0.4.0 in package.json, Cargo.toml, and tauri.conf.json * chore: update version to 0.4.0 in package-lock.json * fix: update Cloudsmith repository name to clipboard-manager * feat: add PKGBUILD and installation script for win11-clipboard-history-bin * chore: remove VERSION variable from Makefile * fix: improve error message for binary not found in wrapper script * feat: enhance installation process with Cloudsmith repository support
This commit is contained in:
58
.github/workflows/release.yml
vendored
58
.github/workflows/release.yml
vendored
@@ -58,9 +58,17 @@ jobs:
|
||||
run: |
|
||||
VERSION=${{ steps.get_version.outputs.VERSION }}
|
||||
echo "Syncing version to $VERSION"
|
||||
npm version $VERSION --no-git-tag-version
|
||||
sed -i "s/\"version\": \"[0-9]*\.[0-9]*\.[0-9]*\"/\"version\": \"$VERSION\"/" src-tauri/tauri.conf.json
|
||||
sed -i "s/^version = \"[0-9]*\.[0-9]*\.[0-9]*\"/version = \"$VERSION\"/" src-tauri/Cargo.toml
|
||||
# Update package.json
|
||||
npm version $VERSION --no-git-tag-version --allow-same-version
|
||||
# Update tauri.conf.json (handles semver with pre-release like 1.0.0-beta.1)
|
||||
sed -i 's/"version": "[^"]*"/"version": "'"$VERSION"'"/' src-tauri/tauri.conf.json
|
||||
# Update Cargo.toml (first occurrence only, handles semver with pre-release)
|
||||
sed -i '0,/^version = "[^"]*"/s//version = "'"$VERSION"'"/' src-tauri/Cargo.toml
|
||||
# Verify versions were updated
|
||||
echo "=== Versions after sync ==="
|
||||
echo "package.json: $(grep '"version"' package.json | head -1)"
|
||||
echo "tauri.conf.json: $(grep '"version"' src-tauri/tauri.conf.json | head -1)"
|
||||
echo "Cargo.toml: $(grep '^version' src-tauri/Cargo.toml | head -1)"
|
||||
|
||||
- name: Install npm dependencies
|
||||
run: npm ci
|
||||
@@ -88,7 +96,13 @@ jobs:
|
||||
|
||||
A Windows 11-style Clipboard History Manager for Linux.
|
||||
|
||||
### Installation
|
||||
### Quick Installation (Recommended)
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/gustavosett/Windows-11-Clipboard-History-For-Linux/main/scripts/install.sh | bash
|
||||
```
|
||||
|
||||
### Manual Installation
|
||||
|
||||
#### Ubuntu/Debian
|
||||
Download the `.deb` file and install:
|
||||
@@ -102,6 +116,11 @@ jobs:
|
||||
sudo rpm -i win11-clipboard-history-${{ steps.get_version.outputs.VERSION }}-1.x86_64.rpm
|
||||
```
|
||||
|
||||
#### Arch Linux (AUR)
|
||||
```bash
|
||||
yay -S win11-clipboard-history-bin
|
||||
```
|
||||
|
||||
#### Any Linux (AppImage)
|
||||
Download the `.AppImage` file, make it executable, and run:
|
||||
```bash
|
||||
@@ -109,16 +128,27 @@ jobs:
|
||||
./win11-clipboard-history_${{ steps.get_version.outputs.VERSION }}_amd64.AppImage
|
||||
```
|
||||
|
||||
### ⚠️ Important: Post-Installation Steps
|
||||
### Usage
|
||||
|
||||
This app requires access to input devices for global hotkeys. After installation:
|
||||
|
||||
1. Add your user to the `input` group:
|
||||
```bash
|
||||
sudo usermod -aG input $USER
|
||||
```
|
||||
2. **Log out and log back in** for permissions to take effect
|
||||
|
||||
The `.deb` and `.rpm` packages do this automatically during installation.
|
||||
Press **Super+V** to open the clipboard history.
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload to Cloudsmith
|
||||
if: env.CLOUDSMITH_API_KEY != ''
|
||||
continue-on-error: true
|
||||
env:
|
||||
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
|
||||
run: |
|
||||
pip install cloudsmith-cli
|
||||
VERSION=${{ steps.get_version.outputs.VERSION }}
|
||||
|
||||
# Upload .deb
|
||||
cloudsmith push deb gustavosett/clipboard-manager/any-distro/any-version \
|
||||
src-tauri/target/release/bundle/deb/*.deb \
|
||||
--api-key $CLOUDSMITH_API_KEY || echo "Cloudsmith .deb upload failed (may already exist)"
|
||||
|
||||
# Upload .rpm
|
||||
cloudsmith push rpm gustavosett/clipboard-manager/any-distro/any-version \
|
||||
src-tauri/target/release/bundle/rpm/*.rpm \
|
||||
--api-key $CLOUDSMITH_API_KEY || echo "Cloudsmith .rpm upload failed (may already exist)"
|
||||
|
||||
Reference in New Issue
Block a user