Commit graph

9947 commits

Author SHA1 Message Date
Daniel Johnson 71765daf4f Smarter searching in the LutrisWindow.
This PR no longer uses SQL to search for games, but instead does it in Python.

However, the benefit is a more forgiving search. The game names and search text are normalized to form KD, and combining characters are extra whitespace are stripped.

This means that "The Signal From Tölva" can now be found by searching for "from   Tolva".

This is a bit sloppy, and a bit "Do what I mean"- but even languages which consider 'ö' a distinct letter should be okay, since they surely won't have games that differ in their names only in that one letter. At least, not often.
2024-03-18 19:01:37 -04:00
Mathieu Comandon 22b0dac784 Prevent Proton usage on 32bit prefixes 2024-03-18 14:55:17 -07:00
Daniel Johnson 69fb6f3cdd Provide more extensive commenting 2024-03-18 17:23:44 -04:00
Mathieu Comandon b8bf74c006 Fix runtime not updating 2024-03-18 12:01:03 -07:00
Mathieu Comandon 6e8aecfef0 Fix time_ago output 2024-03-17 22:01:33 -07:00
Mathieu Comandon 368f9128ea Remove setting GAMEID from create_prefix 2024-03-12 23:46:01 -07:00
Mathieu Comandon 355165433c Directly return version if using latest GE-Proton 2024-03-10 15:50:48 -07:00
Mathieu Comandon 07f117a379 Silence messages about VR Path Registry 2024-03-10 14:41:40 -07:00
Mathieu Comandon 993ebde5e8 Add STORE env var 2024-03-10 13:35:30 -07:00
Mathieu Comandon 7aa376944b Implement proton.get_game_id 2024-03-10 13:25:16 -07:00
Mathieu Comandon e2d68ca3b9 Try out a bigger chunk size for the downloads 2024-03-07 23:10:03 -08:00
Mathieu Comandon 084b8018d9 Adjust advanced state of some options 2024-03-07 23:10:03 -08:00
Mathieu Comandon 1beee61bea Handle errors with Proton path 2024-03-07 23:10:03 -08:00
Mathieu Comandon 38e3b56d47 Add Add command to non installed games 2024-03-07 23:10:03 -08:00
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