feat: Add a lot more features
CI / build-ubuntu (, default) (push) Has been cancelled
CI / build-ubuntu (--features networking, networking) (push) Has been cancelled
CI / build-ubuntu (--no-default-features, no-default-features) (push) Has been cancelled
CI / build-debian (push) Has been cancelled
CI / build-fedora (push) Has been cancelled
CI / build-arch (push) Has been cancelled
CI / build-opensuse (push) Has been cancelled

- Add new system.rs module for system monitoring via D-Bus:
  - Battery status (UPower)
  - Media player controls and metadata (MPRIS)
  - WiFi/Bluetooth status (NetworkManager)
  - Keyboard layout tracking
- Add media key support (XF86 Play/Pause/Next/Prev)
- Add function keys F1-F3 for Suspend/Reboot/PowerOff
- Replace deprecated timer.rs with async system management
- Add GitHub Actions CI/CD workflows (CI + Release)
- Update dependencies and add optional networking feature
This commit is contained in:
2026-03-16 14:12:43 +01:00
parent 1dc4d68cf7
commit f489a6e46e
15 changed files with 3582 additions and 829 deletions
+108
View File
@@ -0,0 +1,108 @@
name: CI
on:
push:
branches: ["master", "main"]
pull_request:
branches: ["master", "main"]
env:
CARGO_TERM_COLOR: always
jobs:
build-ubuntu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- features: "default"
args: ""
- features: "networking"
args: "--features networking"
- features: "no-default-features"
args: "--no-default-features"
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
llvm clang libclang-dev \
pkg-config \
libglib2.0-dev libcairo2-dev libpango1.0-dev libatk1.0-dev \
libpam0g-dev \
libwayland-dev libxkbcommon-dev
- name: Build (${{ matrix.features }})
run: cargo build --verbose ${{ matrix.args }}
- name: Run tests
run: cargo test --verbose
build-debian:
runs-on: ubuntu-latest
container: debian:stable-slim
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
apt-get update
apt-get install -y \
llvm clang libclang-dev \
pkg-config \
libglib2.0-dev libcairo2-dev libpango1.0-dev libatk1.0-dev \
libpam0g-dev \
libwayland-dev libxkbcommon-dev \
cargo rustc
- name: Build
run: cargo build --verbose
build-fedora:
runs-on: ubuntu-latest
container: fedora:latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
dnf install -y \
llvm clang libclang-devel \
pkg-config \
glib2-devel cairo-devel pango-devel atk-devel \
pam-devel \
wayland-devel libxkbcommon-devel \
cargo rust
- name: Build
run: cargo build --verbose
build-arch:
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
pacman -Sy --noconfirm \
llvm clang pkgconf \
glib2 cairo pango atk \
pam \
wayland libxkbcommon \
rust cargo
- name: Build
run: cargo build --verbose
build-opensuse:
runs-on: ubuntu-latest
container: opensuse/tumbleweed:latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
zypper install -y \
llvm clang \
pkg-config \
glib2-devel cairo-devel pango-devel atk-devel \
pam-devel \
wayland-devel libxkbcommon-devel \
rust cargo
- name: Build
run: cargo build --verbose