1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
# Copyright 2025 Simon McVittie
# SPDX-License-Identifier: LGPL-2.1-or-later
from ..module import get_introspection_module
from ..overrides import override
from gi.repository import GLib
GioUnix = get_introspection_module("GioUnix")
__all__ = []
if (GLib.MAJOR_VERSION, GLib.MINOR_VERSION) < (2, 86):
# In older versions of GLib there was some confusion between the
# platform-specific classes in GioUnix and their equivalents in Gio,
# resulting in functions like g_desktop_app_info_get_action_name()
# being assumed to be a global function that happened to take a
# Gio.DesktopAppInfo first parameter, instead of being a method on a
# GioUnix.DesktopAppInfo instance. There are not very many classes and
# methods in GioUnix, so we can wrap them and provide the intended API.
@override
class DesktopAppInfo(GioUnix.DesktopAppInfo):
def get_action_name(self, action_name):
return GioUnix.DesktopAppInfo.get_action_name(self, action_name)
def get_boolean(self, key):
return GioUnix.DesktopAppInfo.get_boolean(self, key)
def get_categories(self):
return GioUnix.DesktopAppInfo.get_categories(self)
def get_filename(self):
return GioUnix.DesktopAppInfo.get_filename(self)
def get_generic_name(self):
return GioUnix.DesktopAppInfo.get_generic_name(self)
def get_is_hidden(self):
return GioUnix.DesktopAppInfo.get_is_hidden(self)
def get_keywords(self):
return GioUnix.DesktopAppInfo.get_keywords(self)
def get_locale_string(self, key):
return GioUnix.DesktopAppInfo.get_locale_string(self, key)
def get_nodisplay(self):
return GioUnix.DesktopAppInfo.get_nodisplay(self)
def get_show_in(self, desktop_env=None):
return GioUnix.DesktopAppInfo.get_show_in(self, desktop_env)
def get_startup_wm_class(self):
return GioUnix.DesktopAppInfo.get_startup_wm_class(self)
def get_string(self, key):
return GioUnix.DesktopAppInfo.get_string(self, key)
def get_string_list(self, key):
return GioUnix.DesktopAppInfo.get_string_list(self, key)
def has_key(self, key):
return GioUnix.DesktopAppInfo.has_key(self, key)
def launch_action(self, action_name, launch_context=None):
GioUnix.DesktopAppInfo.launch_action(
self,
action_name,
launch_context,
)
def launch_uris_as_manager(
self,
uris,
launch_context,
spawn_flags,
user_setup=None,
user_setup_data=None,
pid_callback=None,
pid_callback_data=None,
):
return GioUnix.DesktopAppInfo.launch_uris_as_manager(
self,
uris,
launch_context,
spawn_flags,
user_setup,
user_setup_data,
pid_callback,
pid_callback_data,
)
def launch_uris_as_manager_with_fds(
self,
uris,
launch_context,
spawn_flags,
user_setup,
user_setup_data,
pid_callback,
pid_callback_data,
stdin_fd,
stdout_fd,
stderr_fd,
):
return GioUnix.DesktopAppInfo.launch_uris_as_manager_with_fds(
self,
uris,
launch_context,
spawn_flags,
user_setup,
user_setup_data,
pid_callback,
pid_callback_data,
stdin_fd,
stdout_fd,
stderr_fd,
)
def list_actions(self):
return GioUnix.DesktopAppInfo.list_actions(self)
__all__.append("DesktopAppInfo")
@override
class FDMessage(GioUnix.FDMessage):
def append_fd(self, fd):
return GioUnix.FDMessage.append_fd(self, fd)
def get_fd_list(self):
return GioUnix.FDMessage.get_fd_list(self)
def steal_fds(self):
return GioUnix.FDMessage.steal_fds(self)
__all__.append("FDMessage")
@override
class InputStream(GioUnix.InputStream):
def get_close_fd(self):
return GioUnix.InputStream.get_close_fd(self)
def get_fd(self):
return GioUnix.InputStream.get_fd(self)
def set_close_fd(self, close_fd):
GioUnix.InputStream.set_close_fd(self, close_fd)
__all__.append("InputStream")
@override
class MountMonitor(GioUnix.MountMonitor):
def set_rate_limit(self, limit_msec):
GioUnix.MountMonitor.set_rate_limit(limit_msec)
__all__.append("MountMonitor")
@override
class OutputStream(GioUnix.OutputStream):
def get_close_fd(self):
return GioUnix.OutputStream.get_close_fd(self)
def get_fd(self):
return GioUnix.OutputStream.get_fd(self)
def set_close_fd(self, close_fd):
GioUnix.OutputStream.set_close_fd(self, close_fd)
__all__.append("OutputStream")
|