Skip to content

ali205412/wf-recorder-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5009f5a · Feb 19, 2025

History

12 Commits
Nov 22, 2024
Feb 19, 2025
Feb 19, 2025
Nov 22, 2024
Jan 31, 2025
Feb 19, 2025
Feb 19, 2025
Nov 22, 2024
Nov 22, 2024
Nov 22, 2024
Feb 1, 2025
Nov 22, 2024

Repository files navigation

WF Recorder GUI

CI Release AUR version

A modern, minimal, and sleek GUI for wf-recorder, the Wayland screen recorder. Built with GTK4 and Rust, featuring an intuitive interface and efficient workflow.

Features

  • Modern GTK4 native interface
  • Clean, minimal design
  • Full screen and region capture
  • Multiple audio source options:
    • System audio
    • Microphone
    • No audio
  • Multiple output formats:
    • WebM
    • MP4
    • MKV
  • Custom save location
  • Hardware acceleration support
  • Wayland native

Installation

Arch Linux (Recommended)

Install from AUR:

yay -S wf-recorder-gui

or

paru -S wf-recorder-gui

Other Distributions

Build from source:

  1. Install dependencies (package names may vary):

    • GTK4
    • libadwaita
    • wf-recorder
    • Rust toolchain
  2. Build and install:

git clone https://github.com/ali205412/wf-recorder-gui.git
cd wf-recorder-gui
cargo build --release
sudo install -Dm755 target/release/wf-recorder-gui /usr/bin/wf-recorder-gui
sudo install -Dm644 wf-recorder-gui.desktop /usr/share/applications/wf-recorder-gui.desktop

Usage

  1. Launch the application
  2. Choose your recording options:
    • Select output format (WebM/MP4/MKV)
    • Choose capture mode (Full Screen/Region)
    • Select audio source (System/Microphone/None)
    • Set save location
  3. Click Record to start
  4. Click Stop when finished

Development

Requirements

  • Arch Linux (recommended for development)
  • Dependencies:
sudo pacman -S gtk4 libadwaita wf-recorder base-devel rust

Project Structure

src/
├── audio/       # Audio handling
├── config/      # Configuration management
├── recorder/    # Recording functionality
├── ui/         # User interface components
└── main.rs     # Application entry point

CI/CD Workflows

The project uses GitHub Actions for:

  • Continuous Integration (CI)
    • Building and testing on Arch Linux
    • Code formatting checks
    • Clippy linting
    • Security audits
  • Release automation
    • Building Arch packages
    • Creating GitHub releases
  • Automated AUR updates
    • Publishing and updating the AUR package

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please make sure to:

  • Follow the existing code style
  • Add tests if applicable
  • Update documentation as needed

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • wf-recorder - The underlying screen recording utility
  • GTK - The GUI toolkit
  • All contributors and users of this project

Support

If you encounter any issues or have suggestions:

  1. Check the Issues page
  2. Open a new issue if needed
  3. Provide as much detail as possible:
    • System information
    • Steps to reproduce
    • Expected vs actual behavior