Commit graph

9972 commits

Author SHA1 Message Date
Daniel Johnson
52e3eb4862 Add notifications for Lutris login and library sync.
This can now trigger a full library sync when you log in, if sync is enabled, and then it will update the view when that completes. No progress spinner yet.

This is done with NotificationSource to avoid using GTK signals, which would require introducing GObjects all over.
2024-03-06 19:21:11 -05:00
Daniel Johnson
2f5754ab9a Fix escaping bugs for Lutris desktop entries
We need URLs to escape /, which is somehow not the default. We also need to escape % in the desktop file, which indicates a 'field code'.
2024-03-04 19:51:53 -05:00
Daniel Johnson
4a9406f82a Supply missing game-name parameter. Taken from PR #5344.
Thanks @MadByteDE!
2024-03-04 19:12:42 -05:00
Daniel Johnson
2153fcd91c Make game.has_runner more robust- that is, False if it there's a runner name that is no longer valid.
This will make code that uses has_runner as a guard not crash over obsolete runner names.

Resolves #5343
2024-03-04 16:34:01 -05:00
Maximiliano Sandoval
bdae06f3e5 metainfo: Add developer
AppStream 1.0 deprecated developer_name, we cannot remove it yet since
some frontends still use it, but we add its replacement.

See https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-developer.
2024-03-03 12:45:25 -08:00
Daniel Johnson
bc36431f37 This is ugly, but hack in some tolerance for the different keys that the banner and icon are supposed to use.
This restores ordinary banner and icon download, but should still work when and if the API is updated.
2024-03-03 07:15:56 -05:00
Daniel Johnson
f48f3c8c3a Remove except: handlers that are useless or can be replaced with empty lists instead.
This wasn't a smart use of exceptions in the first place; just returns lists instead of Optional[str], it all works more smoothly like this.
2024-03-03 06:59:41 -05:00
Daniel Johnson
a6e5bcd2bc
Merge pull request #5340 from MoetaYuko/patch-1
Fix custom wine due to passing the wrong config
2024-03-02 09:59:43 -05:00
MoetaYuko
34c775ce55
Fix custom wine due to passing the wrong config 2024-03-02 22:54:48 +08:00
Mathieu Comandon
e523dbcf58 Simplify get_ulwgl_path 2024-03-01 19:13:06 -08:00
Mathieu Comandon
fe3edd83da Support launching directly from ~/.local/share/ULWGL 2024-03-01 18:17:16 -08:00
Mathieu Comandon
aabc632341 Support ULWGL even if script not in PATH 2024-03-01 17:58:24 -08:00
Daniel Johnson
87dadb7410 Change get_installer_runner_version() back to returning None if versions are not supported.
We had a bug where has_runner_versions was not being set; it's safer if you can just override this one method to support these.
2024-03-01 19:27:54 -05:00
Daniel Johnson
f3d6b55418 Restore get_runtime_icon_path() to returning None for missing icons.
All callers just have an except:, so the exception was just an impediment.
2024-03-01 19:07:07 -05:00
Daniel Johnson
d689747b7e Split get_pixbuf_by_path() in two also
get_pixbuf_by_path() will return None for missing images but get_required_pixbuf_by_path() will throw MissingMediaError.
2024-03-01 19:03:00 -05:00
Daniel Johnson
cf774dfb08 Re-order arguments for errors
It's too easy to pass the message anonymously, so lets make that work.
2024-03-01 18:47:13 -05:00
Daniel Johnson
1b896e0365 Split find_executable() into two functions
find_executable() will now return None if the executable was not found, as this is the expected behavior in Lutris. Some callers updated to use this instead of having an except clause or a call to can_find_executable().

find_required_executable() throws MissingExecutableError in that case, which is a common case. We'll use this when the error should propagate - the more common case. The longer name is meant to be a clue that this function is special, because it won't return None.
2024-03-01 17:08:21 -05:00
Mathieu Comandon
651368aa75 Allow setting ULWGL to a custom location 2024-03-01 06:35:38 -08:00
Mathieu Comandon
563fa17e37 Allow running from Lutris runtime folder again 2024-03-01 06:32:40 -08:00
Mathieu Comandon
886037d5e9 Add function to read GAMEID to proton module (not yet implemented) 2024-03-01 04:45:14 -08:00
Mathieu Comandon
7c4bed7ce5 😡 2024-03-01 02:29:18 -08:00
Mathieu Comandon
82b44a4cc2 Update get_command code for Proton 2024-03-01 02:26:20 -08:00
Mathieu Comandon
01765e1b6f Revert "Fix check for 'ulwgl-run' presence."
This reverts commit fadc55eb2d.
2024-03-01 01:58:44 -08:00
Mathieu Comandon
99f270713d Support both globally installed and locally installed ulwgl 2024-03-01 01:57:35 -08:00
Daniel Johnson
bd40f7ef56 Explicitly specify the output device for xrandr call to set resolution.
This can probably be better - we might pick the output device based on the 'gpu' setting if set. But baby steps.

Resolves #933
2024-02-28 19:54:38 -05:00
Daniel Johnson
fadc55eb2d Fix check for 'ulwgl-run' presence.
We don't return None from find_executable() ever, we raise MissingExecutableError.

So, an except instead of an if.
2024-02-28 19:54:38 -05:00
Rafał Mikrut
5378de4060 Add CI checks for every commit 2024-02-28 16:27:06 -08:00
Daniel Johnson
467993d41a Replace regular expression grep of desktop file with the Gio API for this. 2024-02-28 19:14:18 -05:00
Aqa-Ib
67c0f807e9 Add .desktop file's path to working directory on local source games 2024-02-28 16:02:55 -08:00
Mathieu Comandon
8b7190a384 Extract get_proton_path_for_version 2024-02-27 16:17:23 -08:00
Mathieu Comandon
16df7887a4 Add proton module 2024-02-27 15:53:36 -08:00
Mathieu Comandon
4c002148c3 Switch more ulwgl-run to find_executable 2024-02-27 14:33:02 -08:00
Mathieu Comandon
083fca5310 Switch ulwgl detection to find_executble, stop raising exception if executable not found 2024-02-27 14:20:27 -08:00
Mathieu Comandon
35e29e657c Sync categories to website 2024-02-26 22:56:20 -08:00
GloriousEggroll
f4cfc6f3e6 change ulwgl-run path to auto-find based on 'which ulwgl-run' output
fixup
2024-02-26 19:40:55 -07:00
Mathieu Comandon
daa3eea2e9 Add issuelocker script 2024-02-26 17:53:56 -08:00
Mathieu Comandon
351be70065 Remove audio import 2024-02-24 21:39:09 -08:00
Mathieu Comandon
2e55201467 Remove reset Pulseaudio option because it's 2024 and we use Pipewire 2024-02-24 21:32:46 -08:00
Mathieu Comandon
558a62c8b6 Remove unused game_id 2024-02-24 21:18:22 -08:00
Mathieu Comandon
24f8fee432 Re-enable imports sorting 2024-02-24 21:14:32 -08:00
Mathieu Comandon
b9ae42fd9b Add a #noqa 2024-02-24 21:07:29 -08:00
Mathieu Comandon
395d8a03f0 Ruff fixes 2024-02-24 21:05:10 -08:00
Mathieu Comandon
38fbe9f05e Ruff reformat 2024-02-24 21:02:06 -08:00
Mathieu Comandon
2c9d12337d Update Makefile 2024-02-24 21:01:38 -08:00
Mathieu Comandon
1a96ec822c Update ruff.toml 2024-02-24 20:58:42 -08:00
Mathieu Comandon
7ec328131b Merge branch 'qarmin-ruff' 2024-02-24 20:56:00 -08:00
Mathieu Comandon
2b9b89d068 Start making xrandr logs more noisy so we eventually reduce their calls 2024-02-23 16:24:25 -08:00
Mathieu Comandon
c8b4fc1332 Add environment variable to be able to bypass all vkquery calls 2024-02-23 14:56:31 -08:00
Daniel Johnson
4345d044de More extensive commenting for GameActions 2024-02-23 13:44:22 -08:00
Daniel Johnson
4559073cde Remove the games list from all GameActions but MultiGameActions; SingleGameActions.game can just be an ordinary field. 2024-02-23 13:44:22 -08:00