Change Tracking: - Track modifications to URL, method, body, syntax, and headers - Show • indicator on modified tab labels - Real-time update of tab state on any change - Each tab independently tracks its modification state Unsaved Change Warnings: - Warn when closing tabs with unsaved changes - Warn when closing application with any unsaved tabs - Destructive action styling for close confirmations - Smart messages: single tab vs multiple tabs Smart Tab Loading: - Detect empty "New Request" tabs (no URL, body, or headers) - Replace empty tabs when loading from sidebar/history - Create new tab when current tab has changes - Seamless workflow without unnecessary tabs Application Close Protection: - Prevent accidental data loss on app close - Check all tabs for unsaved changes - Show confirmation dialog before closing - Works with all close methods (X, Alt+F4, Quit) Bug Fixes: - Fix signal handler to accept variable arguments - Proper handling of notify::selected signals
Roster
A modern HTTP client for GNOME, built with GTK 4 and libadwaita.
Features
- Send HTTP requests (GET, POST, PUT, DELETE)
- Configure custom headers and request bodies
- View response headers and bodies
- Track request history with persistence
- Beautiful GNOME-native UI
Dependencies
- GTK 4
- libadwaita 1
- Python 3
- HTTPie (http command)
Building
meson setup builddir
meson compile -C builddir
sudo meson install -C builddir
Usage
Roster uses HTTPie as the backend for making HTTP requests. Ensure HTTPie is installed:
pip install httpie
# or on Fedora
sudo dnf install httpie
Then run Roster from your application menu or with the roster command.
Description
Languages
Python
98.6%
Meson
1.4%