Parch

Human Interface Guidelines

The Parch HIG defines how applications look, behave, and integrate with Parch GNU/Linux. It exists so that software from different authors, in different toolkits, still feels like one operating system.

How to use the HIG

  • Start with Design philosophy, five principles that resolve most design debates.
  • Build with the Design System, which implements these rules as working components.
  • Follow the toolkit mapping in Platform integration when your app uses GTK or Qt, the HIG defines intent; your toolkit supplies native widgetry.
  • Persian and English are first-class: read RTL and Persian before your first layout, not after your first bug report.

Sections

Scope

The HIG binds first-party Parch applications and sets expectations for third-party software in the Parch repositories. It does not force every app to look identical: a KDE Plasma utility should use Plasma patterns, a libadwaita app should use GNOME patterns, mapped onto the shared intent defined here. Where a Parch rule deliberately differs from a toolkit default, we say so explicitly on the relevant page.

Continue in Human Interface Guidelines

Design philosophyFive principles that guide every Parch interface decision.Visual identity & colorBrand colors, semantic tokens, and how interfaces stay calm in both themes.TypographySaira for Latin, Estedad for Persian, JetBrains Mono for code, scale and rules.Layout, spacing & densityThe 4px grid, content widths, breakpoints, and responsive behavior.Materials: radii, borders & elevationHow Parch surfaces separate: hairlines first, shadows second.IconographyApp icons, UI glyphs, and the rules that keep them coherent.MotionDurations, curves, and what may (and may not) animate.Light & dark themesHow applications follow the system theme and when to override it.RTL & PersianRight-to-left layout rules and Persian-language specifics for Parch applications.AccessibilityContrast, focus, screen readers, and input flexibility, the non-negotiables.Windows & header barsMain windows, header bars, toolbars, and multi-window behavior.Navigation patternsSidebars, tabs, breadcrumbs, back/forward, and deep linking.Dialogs & sheetsModal decisions, alerts, and confirmation flow rules.Forms & settings pagesInput layout, validation timing, and the settings-row pattern.States: empty, loading & errorEvery wait, absence, and failure gets a designed state.Lists, tables & cardsCollections of items: rows, grids, cards, and their selection behavior.Search & filteringSearch placement, scope, and filter behavior.Destructive actionsHow Parch handles removal, overwriting, and irreversible operations.Keyboard interactionFocus order, shortcuts, and platform keyboard conventions.Pointer & touchHover, selection, drag and drop, and touch input.Progress & cancellationCommunicating waits and keeping the user in control of long operations.Unsaved changes & first runProtecting user work and designing the first-run experience.Offline & connectivityNetwork loss is a state, not an error.Platform integrationKDE Plasma, GTK/libadwaita, Wayland, and system theme cooperation.Desktop files, icons & MIMEApplication metadata: desktop entries, icons, MIME associations, and actions.NotificationsWhen to notify, what to say, and how notifications behave.Localization & accessibility integrationShipping translated, accessible applications on Parch.