A modern, native Yamli editor for Wayland that lets you type Arabic using Latin characters. Built with GTK and WebKit, featuring a clean interface and customizable themes.
- Native Wayland support
- Multiple themes (Tokyo Night, Dracula, Nord, Monokai, Solarized Dark)
- Real-time Arabic transliteration
- Auto-saves content locally
- Clean, distraction-free interface
- Customizable fonts, sizes, and spacing
- Fast and lightweight
yay -S yamli-editor
or
paru -S yamli-editor
Download the latest .deb package from the releases page and install it:
sudo dpkg -i yamli-editor-*.deb
sudo apt-get install -f # Install dependencies if needed
Requirements:
- Rust (1.70.0 or later)
- GTK3 development files
- WebKit2GTK development files
# Install dependencies (Arch Linux)
sudo pacman -S gtk3 webkit2gtk base-devel
# Install dependencies (Debian/Ubuntu)
sudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev build-essential
# Clone the repository
git clone https://github.com/ali205412/yamli-editor.git
cd yamli-editor
# Build and run
cargo build --release
./target/release/yamli-editor
- Launch the application
- Start typing in Latin characters - they will be automatically converted to Arabic
- Press Ctrl+P to open preferences and customize the editor
Ctrl + P
: Open preferencesCtrl + Q
: Quit application
The application creates a config.toml
file in the same directory as the executable. You can customize:
- Theme
- Font family and size
- Line height
- Padding
- Border radius
Example configuration:
[theme]
name = "tokyo-night"
[font]
family = "IBM Plex Sans Arabic"
size = 20
line_height = 2.0
[editor]
padding = 30
border_radius = 16
- Tokyo Night (default)
- Dracula
- Nord
- Monokai
- Solarized Dark
The project uses GitHub Actions for:
- Continuous Integration (CI)
- Building and testing on each push
- Code formatting checks
- Clippy linting
- Security audits
- Release automation
- Building Debian packages
- Creating GitHub releases
- Automated AUR updates
- Publishing and updating the AUR package
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.