Pavel Baksy 89d43b66b5 Complete window.py cleanup - remove 400 lines of obsolete code
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!
2025-12-24 02:05:37 +01:00

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
HTTP client for GNOME
Readme 1.6 MiB
Languages
Python 98.6%
Meson 1.4%