Requesting to run at startup
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 42/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- desktop, documentation
Rechercherichtung
Beginne mit der Durchsicht der Flatpak Background portal API reference und des verlinkten elementary Calendar pull request. Untersuche anschließend die vorhandene App-Entwicklungsdokumentation dieses Repositorys, um die passende Stelle zu finden. Dokumentiere das Anfordern der Ausführung beim Start über D-Bus und libportal und stelle klar, ob eine Granite-Methode im Umfang liegt; abgeschlossen ist die Aufgabe, wenn der unterstützte Ansatz und die relevanten Optionen für Entwickler von Drittanbieter-Apps erläutert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
We don't currently document how apps should request to run at startup
Proposal
We should document using the background portal to request running at startup either manually through dbus, using libportal, or possibly adding a granite method for this
Prior Art (Optional)
This commit in Calendar: https://github.com/elementary/calendar/pull/681/files#diff-f4e5d48d751c670a8575715da1cb0a0976532427a8b6143c7fdede415a33ba6cR176
Particularly
private void ask_for_background () {
try {
var portal = Portal.Background.get ();
string[] cmd = { "io.elementary.calendar", "--background" };
window.export.begin ((obj, res) => {
var options = new HashTable<string, Variant> (str_hash, str_equal);
options["handle_token"] = Portal.generate_token ();
options["reason"] = _("Calendar wants to initialize with the session");
options["commandline"] = cmd;
options["dbus-activatable"] = false;
options["autostart"] = true;
// TODO: handle response
try {
portal.request_background (window.export.end (res), options);
} catch (Error e) {
warning ("couldnt ask for background access: %s", e.message);
}
});
} catch (Error e) {
warning ("cloudnt connect to portal: %s", e.message);
}
}
and the portal class:
namespace Portal {
const string DBUS_DESKTOP_PATH = "/org/freedesktop/portal/desktop";
const string DBUS_DESKTOP_NAME = "org.freedesktop.portal.Desktop";
Background? background = null;
public static string generate_token () {
return "%s_%i".printf (
GLib.Application.get_default ().application_id.replace (".", "_"),
Random.int_range (0, int32.MAX)
);
}
[DBus (name = "org.freedesktop.portal.Background")]
interface Background : Object {
public abstract uint version { get; }
public static Background @get () throws IOError, DBusError {
if (background == null) {
var connection = GLib.Application.get_default ().get_dbus_connection ();
background = connection.get_proxy_sync<Background> (DBUS_DESKTOP_NAME, DBUS_DESKTOP_PATH);
}
return background;
}
public abstract ObjectPath request_background (string window_handle, HashTable<string, Variant> options) throws IOError, DBusError;
}
}
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 88
- Forks
- 30
- Ø Merge
- 1 T. 9 Std.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus elementary/docs
-
Good First Issue
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
elementary/docs#244 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
elementary/docs#245 ·
-
Priority: Wishlist
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 52/100
elementary/docs#241 · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
elementary/docs#236 · 3 Kommentare ·
-
Needs Design Priority: Wishlist
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 48/100
elementary/docs#235 · 4 Kommentare ·
Alle Issues in elementary/docs
Ähnliche Issues
-
build error: mismatched types i32/i64 (ppc32/musl)Evtl. vergeben @peppergrayxyz hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Supreeeme/xwayland-satellite#525 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 60/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
agentvivekkumar/dontbemichael#426 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Randomize Button on seed parameters for random based effect like cloudsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
storytold/photocraft#5710 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: screenshot audit bug good first issue priority: P3 security severity: info type: correctness
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
pierruno-labs/prowl#31 ·