Movatterモバイル変換


[0]ホーム

URL:


Hackage :: [Package]

desktop-portal:Desktop Portal.

[desktop,flatpak,gui,library,mit,portal,xdg ] [Propose Tags ] [Report a vulnerability ]

A Haskell wrapper for the XDG Desktop Portal DBUS API.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions[RSS]0.0.1.0,0.1.0.0,0.1.1.0,0.2.0.0,0.2.1.0,0.2.2.0,0.3.0.0,0.3.1.0,0.3.2.0,0.4.0.0,0.5.0.0,0.6.0.0,0.6.0.1,0.6.0.2,0.7.0.0,0.8.0.0,0.8.0.1,0.8.0.2
Change logChangeLog.md
Dependenciesbase (>=4.7 && <5),binary (>=0.8.9.3 && <0.9),bytestring (>=0.12.2.0 && <0.13),containers (>=0.7 && <0.8),data-default (>=0.8.0.1 && <0.9),dbus (>=1.3.9 && <1.5),directory (>=1.3.9.0 && <1.4),filepath (>=1.5.0.0 && <1.6),modern-uri (>=0.3.6.1 && <0.4),network (>=3.2.7.0 && <3.3),os-string (>=2.0.0 && <2.1),random (>=1.2.1.3 && <1.3),text (>=2.1.2 && <2.2),unix (>=2.8.6.0 && <2.9) [details]
LicenseMIT
Author
Maintainergarethdanielsmith@gmail.com
Uploadedbygarethdanielsmith at2025-08-15T13:27:19Z
CategoryGUI,XDG,Flatpak,Desktop,Portal
Home pagehttps://app.radicle.xyz/nodes/ash.radicle.garden/rad:z36pipjz8YLAs3m9boMmJCQgPuKnJ
Bug trackerhttps://app.radicle.xyz/nodes/ash.radicle.garden/rad:z36pipjz8YLAs3m9boMmJCQgPuKnJ/issues
Source repohead: git clonehttps://ash.radicle.garden/z36pipjz8YLAs3m9boMmJCQgPuKnJ.git
Distributions
Downloads973 total (49 in the last 30 days)
Rating(no votes yet)[estimated byBayesian average]
Your Rating
  • λ
  • λ
  • λ
StatusDocs available[build log]
Last success reported on 2025-08-15[all 1 reports]

Readme for desktop-portal-0.8.0.2

[back to package description]

Haskell Desktop Portal

A Haskell wrapper for theXDG Desktop Portal DBUS API. Likelibportal, but written in Haskell. Primarily intended to support applications packaged as Flatpaks (seemonomer-flatpak-example).

Current Status

  • Unstable. Functionality and API may change considerably.

FAQs

  • Q. Why does this not use Template Haskell to generate interface code from theXML API definitions?
  • A. The Portal API does not lend itself to code generation because inputs and outputs are mostly informally defined via vardicts rather than via simple positional parameters. Also the XML definitions are LGPL, which would make this library LGPL too.

API Documentation

See the generated docs onHackage.

Example Code

Themonomer-flatpak-example app includes example code for many of the APIs.

Development Guide

How to contribute

  • If you just want to add a wrapper for an API method that is not currently supported, open a PR.
  • If you want something less straightforward, open an issue to discuss it.

General Guidelines

  • Module/function/field names should mimic the underlying portal API as much as possible.
  • Functions should generally be tested (see existing tests for examples).
  • API methods that take or return a variable set of values via a vardict should be translated into Haskell functions that take records called...Options and return records called...Results.
  • ...Options records should have aDefault instance where all fields have a reasonable empty value.
  • Record fields should not have unique prefixes.
  • API methods that return URIs that are known to always befile: URIs should be wrapped with functions returningSystem.OsPath. If they are not known to be file URIs, thenText.URI.URI should be returned.

Scripts

./scripts/format.sh # format the source code./scripts/publish.sh # publish to hackage

Produced byhackage andCabal 3.16.1.0.


[8]ページ先頭

©2009-2026 Movatter.jp