diff --git a/README.md b/README.md index c38a6db..c632e8f 100644 --- a/README.md +++ b/README.md @@ -111,11 +111,27 @@ Both **VNI** and **Telex** are fully supported. Switch via **Ctrl+LeftShift** or --- +## Distro Support + +| Tier | Distro | Install Method | Status | +|------|--------|---------------|--------| +| ✅ **Supported** | Ubuntu, Debian, Linux Mint, Pop!_OS, elementary OS, Zorin, Neon | `apt` (auto-detected) | Tested, one-command install | +| ✅ **Supported** | Fedora, RHEL, CentOS | `dnf` (auto-detected) | Tested, one-command install | +| ✅ **Supported** | Arch, Manjaro | `pacman` (auto-detected) | Tested, one-command install | +| ⚠️ **Might support** | openSUSE, Solus, Void | `zypper`/`eopkg`/`xbps` (manual) | Package names may differ; run install.sh and install missing deps manually if it fails | +| ❌ **Not supported** | NixOS, Alpine, Gentoo, others | N/A | No package manager entry — install deps manually, then `cargo build --release` | + +> **⚠️ Tray icon note:** GNOME (Ubuntu) and Cinnamon (Mint) need a StatusNotifier watcher for the tray to appear: +> - Ubuntu: `sudo apt install gnome-shell-extension-appindicator` +> - Mint: pre-installed; works out of the box + +--- + ## Installation ### One-Command Install -Works on both **Linux Mint** and **Ubuntu** (including 24.04+ Wayland): +Works on all ✅ **Supported** distros above. The script auto-detects your package manager: **From GitHub (recommended):** ```bash @@ -150,7 +166,7 @@ curl -sSL https://git.khoavo.myds.me/vndangkhoa/vietc/raw/branch/main/uninstall. ```bash # Install dependencies sudo apt install git curl build-essential pkg-config \ - libx11-dev libxtst-dev libevdev-dev libdbus-1-dev wl-clipboard + libx11-dev libxtst-dev libevdev-dev libdbus-1-dev libwayland-dev wl-clipboard # Enable accessibility (Ubuntu Wayland — for password detection) gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true diff --git a/install.sh b/install.sh index 6ea1ee2..62ad1f1 100755 --- a/install.sh +++ b/install.sh @@ -21,16 +21,20 @@ install_deps() { export DEBIAN_FRONTEND=noninteractive apt-get update -y apt-get install -y build-essential pkg-config libx11-dev libxtst-dev \ - libdbus-1-dev libevdev-dev curl git - apt-get install -y libevdev2 libdbus-1-3 libx11-6 libxtst6 xclip wl-clipboard + libdbus-1-dev libevdev-dev libwayland-dev curl git + apt-get install -y libevdev2 libdbus-1-3 libx11-6 libxtst6 \ + libwayland-client0 xclip wl-clipboard ;; fedora|rhel|centos) - dnf install -y gcc pkgconfig libX11-devel libXtst-devel dbus-devel libevdev-devel curl git - dnf install -y libevdev libX11 libXtst dbus-libs xclip wl-clipboard + dnf install -y gcc pkgconfig libX11-devel libXtst-devel dbus-devel \ + libevdev-devel libwayland-devel curl git + dnf install -y libevdev libX11 libXtst dbus-libs libwayland-client xclip wl-clipboard ;; arch|manjaro) - pacman -Sy --needed --noconfirm base-devel pkgconf libx11 libxtst dbus libevdev curl git - pacman -Sy --needed --noconfirm libevdev libx11 libxtst dbus xclip wl-clipboard + pacman -Sy --needed --noconfirm base-devel pkgconf libx11 libxtst dbus \ + libevdev wayland curl git + pacman -Sy --needed --noconfirm libevdev libx11 libxtst dbus \ + libwayland xclip wl-clipboard ;; *) echo -e "${YELLOW}Unsupported: $DISTRO. Install deps manually.${NC}" @@ -98,7 +102,7 @@ grab = true enabled = true check_atspi2 = true check_window_title = true -title_keywords = ["password", "passphrase", "secret", "mặt khẩu", "sudo"] +title_keywords = ["password", "passphrase", "secret", "mật khẩu", "sudo"] password_apps = ["pinentry", "pinentry-gtk-2", "pinentry-qt", "kwallet"] [app_state]