Skip to content

Add Flatpak packaging for Sidemark (GNOME runtime, desktop metadata, docs) - #63

Draft
brokkoli71 with Copilot wants to merge 2 commits into
masterfrom
copilot/add-flatpak-packaging-support
Draft

Add Flatpak packaging for Sidemark (GNOME runtime, desktop metadata, docs)#63
brokkoli71 with Copilot wants to merge 2 commits into
masterfrom
copilot/add-flatpak-packaging-support

Conversation

Copilot AI commented Jun 18, 2026

Copy link
Copy Markdown

This PR adds Flatpak as an additional Linux distribution path for Sidemark while preserving existing native installation (install.sh) and AUR packaging. It introduces build metadata and desktop integration assets needed to run the current GTK4/libadwaita Python app in a Flatpak sandbox with host file access.

  • Flatpak manifest and build layout

    • Added flatpak/de.hspitz.sidemark.yml using:
      • app-id: de.hspitz.sidemark
      • runtime: org.gnome.Platform//47
      • sdk: org.gnome.Sdk//47
      • command: sidemark
    • Declared sandbox permissions for desktop usage and user document access (--filesystem=home, Wayland/X11, DRI).
  • Application install/launch wiring inside Flatpak

    • Added flatpak/sidemark-launcher and install rules to place:
      • app code at /app/share/sidemark/sidemark.py
      • launcher at /app/bin/sidemark
      • desktop file at /app/share/applications/de.hspitz.sidemark.desktop
      • icon at /app/share/icons/hicolor/scalable/apps/de.hspitz.sidemark.svg
  • Dependency module for Python packages

    • Added flatpak/requirements.txt and manifest module to install Python deps into /app with pip (numpy, PyMuPDF, pycairo), matching app runtime expectations.
  • Desktop/appstream metadata

    • Added flatpak/de.hspitz.sidemark.metainfo.xml with appstream metadata for desktop-app packaging and software-center visibility.
  • User documentation

    • Updated README.md with a Flatpak section covering build/install/run and host file forwarding usage.
    • Explicitly keeps Flatpak as an additive option, not a replacement for native/AUR installs.
# flatpak/de.hspitz.sidemark.yml (excerpt)
app-id: de.hspitz.sidemark
runtime: org.gnome.Platform
runtime-version: '47'
sdk: org.gnome.Sdk
command: sidemark
finish-args:
  - --socket=wayland
  - --socket=fallback-x11
  - --device=dri
  - --filesystem=home

Copilot AI changed the title [WIP] Add Flatpak packaging support for Sidemark Add Flatpak packaging for Sidemark (GNOME runtime, desktop metadata, docs) Jun 18, 2026
Copilot AI requested a review from brokkoli71 June 18, 2026 14:07
brokkoli71 added a commit that referenced this pull request Jun 18, 2026
…ble tool bindings)

- #63 bug: first 'Open recent' click does nothing — popdown+popup race between
  two popovers on the same menu button
- #64 right-click / modifier combos to assign tools (customizable bindings map)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ShZ2ZkG7Ej4qBGRxkhrP2Z
brokkoli71 added a commit that referenced this pull request Jun 20, 2026
The ☰ menu had sibling popovers for "Open recent" and "Keyboard shortcuts"
parented to the same menu button. Clicking an item did menu_pop.popdown()
then sibling.popup() in one callback; GTK4 suppresses the second popover
while the first is still dismissing, so the first click only closed the
menu. Deferring the popup() to the menu's "closed" signal did not help —
that signal fires synchronously during popdown(), still mid-animation.

Drop the sibling popovers entirely: the menu popover now holds a single
Gtk.Stack with main/recent/shortcuts pages, switched in place via
_show_menu_page() with a "← title" back button per sub-page. No second
popover means no race.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BgBDYhTgny2T3hV1QPiVAh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants