Removed obsolete UI methods now handled by RequestTabWidget: - _setup_method_dropdown, _setup_request_tabs, _setup_response_tabs - _build_request_from_ui, _load_request_to_ui - _display_response, _display_error - _extract_content_type, _get_language_from_content_type, _format_response_body - on_add_header_clicked, _add_header_row, _on_header_remove - _setup_sourceview_theme, _setup_request_body_theme - _update_tab_indicator (now handled internally by widgets) Added new HTTP handling: - _on_send_clicked now works with RequestTabWidget - Properly handles request/response through widget interface - Updates history after requests complete Result: 1237 lines → 841 lines (-396 lines, -32%) App builds and runs successfully!
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%