mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-04-17 11:43:41 +00:00
feat(gnome): Add "Add to Steam" option to right click menu of executable files
This commit is contained in:
parent
c008482ebd
commit
b11d3c4d52
@ -13,6 +13,7 @@ Requires: steamdeck-backgrounds
|
|||||||
Requires: dbus-x11
|
Requires: dbus-x11
|
||||||
Requires: zenity
|
Requires: zenity
|
||||||
Requires: inxi
|
Requires: inxi
|
||||||
|
Requires: nautilus-python
|
||||||
|
|
||||||
Conflicts: steamdeck-kde-presets
|
Conflicts: steamdeck-kde-presets
|
||||||
Conflicts: steamdeck-kde-presets-desktop
|
Conflicts: steamdeck-kde-presets-desktop
|
||||||
@ -37,6 +38,7 @@ cp -rv usr/bin/* %{buildroot}%{_bindir}
|
|||||||
%files
|
%files
|
||||||
%{_bindir}/steamos-add-to-steam
|
%{_bindir}/steamos-add-to-steam
|
||||||
%{_bindir}/steamos-nested-desktop
|
%{_bindir}/steamos-nested-desktop
|
||||||
|
%{_datadir}/nautilus-python/extensions/steamos-add-to-steam.py
|
||||||
%{_datadir}/applications/steam/steamos-nested-desktop/*
|
%{_datadir}/applications/steam/steamos-nested-desktop/*
|
||||||
|
|
||||||
# Finally, changes from the latest release of your application are generated from
|
# Finally, changes from the latest release of your application are generated from
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
import os
|
||||||
|
from urllib.parse import unquote
|
||||||
|
from gi.repository import Nautilus, GObject
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
class AddToSteamExtension(GObject.GObject, Nautilus.MenuProvider):
|
||||||
|
def _add_to_steam(self, file: Nautilus.FileInfo) -> None:
|
||||||
|
filename = unquote(file.get_uri()[7:])
|
||||||
|
|
||||||
|
os.system("/usr/bin/steamos-add-to-steam " + filename)
|
||||||
|
|
||||||
|
def menu_activate_cb(
|
||||||
|
self,
|
||||||
|
menu: Nautilus.MenuItem,
|
||||||
|
file: Nautilus.FileInfo,
|
||||||
|
) -> None:
|
||||||
|
self._add_to_steam(file)
|
||||||
|
|
||||||
|
def get_file_items(
|
||||||
|
self,
|
||||||
|
files: List[Nautilus.FileInfo],
|
||||||
|
) -> List[Nautilus.MenuItem]:
|
||||||
|
if len(files) != 1:
|
||||||
|
return []
|
||||||
|
|
||||||
|
file = files[0]
|
||||||
|
if file.get_uri_scheme() != "file":
|
||||||
|
return []
|
||||||
|
|
||||||
|
if not os.access(unquote(file.get_uri()[7:]), os.X_OK):
|
||||||
|
return []
|
||||||
|
|
||||||
|
item = Nautilus.MenuItem(
|
||||||
|
name="SteamOS::steamos_add_to_steam",
|
||||||
|
label="Add to Steam",
|
||||||
|
)
|
||||||
|
item.connect("activate", self.menu_activate_cb, file)
|
||||||
|
|
||||||
|
return [
|
||||||
|
item,
|
||||||
|
]
|
Loading…
x
Reference in New Issue
Block a user