Commit graph

9933 commits

Author SHA1 Message Date
Daniel Johnson 25f908131a Do not default to removing games from the library if library sync is on, but continue to default that way when it is off.
When sync is on, the Uninstall dialog would now actually remove the game from the Lutris.net account as well, and I don't think that is intended. It's not what we used to do, in any case.
2024-03-07 19:52:28 -05:00
Daniel Johnson bf7dcdf1a7 Run the sync setting change through on_setting_change.
This way the settings-changed signal will fire, which I need for the notification bar.
2024-03-07 19:18:48 -05:00
Daniel Johnson 99f0e1b352 Correct the password reset link for Lutris.net
The trailing '/' it has breaks it; without that it's fine.
2024-03-07 18:58:41 -05:00
Daniel Johnson 6e812df4b4 Fix incorrect test of library_sync_enabled. 2024-03-07 17:02:31 -05:00
Daniel Johnson 53db91f8cb Convert 'sync library' checkbox into a switch
Because all the worlds a cell-phone, everything has to be switches!

Well, maybe not that, but we use switches for many other settings very like this in the preferences, and it's odd to have one be a checkbox.
2024-03-07 16:41:22 -05:00
Daniel Johnson 07d95e1a15 Add a section to "Accounts" to explicitly sync your entire library at once.
This provides a place to put a spinner that you'll see after logging in, if sync is turned on.
2024-03-07 16:38:18 -05:00
Mathieu Comandon 2ac897b719 Add HDR toggle for Gamescope 2024-03-07 00:46:43 -08:00
Mathieu Comandon 4f137566ff Move GAMEID and add Proton-GE (Latest) to Proton versions 2024-03-07 00:46:43 -08:00
Mathieu Comandon b6fd9e27f7 Silence some gamemode messages 2024-03-07 00:46:43 -08:00
Daniel Johnson 63a2f110df Guard against use of sync_local_library when the user is not logged in.
Let's not take an exception for this. It happens on each Lutris startup, if you aren't logged in already.
2024-03-06 19:40:04 -05:00
Daniel Johnson 1f1f00d345 Hook up the spinner on the Games sidebar row to trigger while a sync in happening. 2024-03-06 19:27:27 -05:00
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