Files
clan-core/pkgs/ui/clan-app/README.md
2025-05-15 12:00:24 +01:00

2.4 KiB
Raw Blame History

Clan App

A powerful application that allows users to create and manage their own Clans.

Getting Started

To run the local dev environment:

 nix run .#ui-dev

This will start a process-compose instance running pkgs/ui/webview-ui/app and pkgs/ui/clan-app, with the web server accessible at http://localhost:3000.

Debugging Style and Layout

# Enable the GTK debugger
gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true

# Start the application with the debugger attached
GTK_DEBUG=interactive ./bin/clan-app --debug

Appending --debug flag enables debug logging printed into the console.

Profiling

To activate profiling you can run

CLAN_CLI_PERF=1 ./bin/clan-app

Library Components

Note:

we recognized bugs when starting some cli-commands through the integrated vs-code terminal. If encountering issues make sure to run commands in a regular os-shell.

lib-Adw has a demo application showing all widgets. You can run it by executing

adwaita-1-demo

GTK4 has a demo application showing all widgets. You can run it by executing

gtk4-widget-factory

To find available icons execute

gtk4-icon-browser

Here are some important documentation links related to the Clan App:

  • GTK4 PyGobject Reference: This link provides the PyGObject reference documentation for GTK4, the toolkit used for building the user interface of the clan app. It includes information about GTK4 widgets, signals, and other features.

  • Adw Widget Gallery: This link showcases a widget gallery for Adw, allowing you to see the available widgets and their visual appearance. It can be helpful for designing the user interface of the clan app.

  • GNOME Human Interface Guidelines: This link provides the GNOME Human Interface Guidelines, which offer design and usability recommendations for creating GNOME applications. It covers topics such as layout, navigation, and interaction patterns.

Error handling

Error dialogs should be avoided where possible, since they are disruptive.

For simple non-critical errors, toasts can be a good alternative.