Giter Club home page Giter Club logo

Comments (30)

tkashkin avatar tkashkin commented on May 18, 2024

Good idea.
I don't know how to tie it to the existing interface. Do you have any ideas?
It will probably require some sort of popup with filters and a tab in settings dialog to manage tags.

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

GOG library tags can be imported, their API sends them with owned games list.
Steam tags should be possible to import too.

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@cosmicchipsocket what do you think about something like this?

filters_mockup

I also need some icon for filters popup. Some sort of tag icon may be appropriate, but what if this popup will later have other filters?

from gamehub.

KeyboardDanni avatar KeyboardDanni commented on May 18, 2024

From a glance I have a hard time figuring out how the pop-up works. Is Include/Exclude a mode switch, or a tab view? If it's a whitelist/blacklist switch, I'd have a hard time picturing a use case for it. And I haven't seen a dual-column selector like that in a UI in a while. Why not a simple checklist?

Either that, or have collapsible headers line the "Installed"/"Not installed" headers that are already in the list view, but add a clickable -/+ icon to the side. Headers would need to be introduced to the icons view for this to work.

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

This layout was the first thing that I've thought of, but I agree that it may not be a good solution.
Probably checklist will be better.

Do you suggest Steam-like headers for tags. I don't really like this solution, because expected behaviour in this case is to list game in each tag it has, and it may become too much.

Example: I have used Depressurizer to import Steam tags as library categories. I have many categories. This is a VR section with just 11 games and it's already a mess if games have multiple tags.

image

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@neuromancer, @MessedUpHare, do you have any ideas or suggestions?

from gamehub.

neuromancer avatar neuromancer commented on May 18, 2024

I think you can add IGDB support and extract keywords from there as well.

from gamehub.

KeyboardDanni avatar KeyboardDanni commented on May 18, 2024

If there's automatic tagging, I'd prefer that it be optional, and placed separately in the list from user-made categories.

Maybe have a settings dialog for managing the categories, where you can rename/delete user categories, and choose between providers for automatic ones?

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

What do you think about this?

image

The first two tags (favorites and hidden) are builtin non-removable tags.
The rest of them are imported from GOG. They are created by user but GOG can probably have some predefined ones.

Also it's probably the right place to add some additional filters like platforms (should be visible if non-native games are enabled).

Do you think tags search is needed here? Or sorting builtin > user-created > imported will be enough?

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

Tags are working now (no user-created tags yet).

GOG tags will be imported. Games can be marked as favorite or hidden with right click in both grid and list views.

from gamehub.

neuromancer avatar neuromancer commented on May 18, 2024

I'm afraid that last revision is broken for me. It does not load any game, I believe is related with #48, but it does not seem to be fixed changing some options (and unfortunately, I won't be able to submit a proper issue report in two weeks).

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@neuromancer I'm still not sure what's the problem as it fixed itself on my laptop. Have you waited long enough to get all your games cached in db?

from gamehub.

neuromancer avatar neuromancer commented on May 18, 2024

GOG categories are working, but the icon of that menu is missing:

missing-icon

(I'm using 53e10bb )

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@cosmicchipsocket check with the latest commit in dev branch. Do you have any ideas or suggestions?

from gamehub.

KeyboardDanni avatar KeyboardDanni commented on May 18, 2024

Went ahead and installed the latest dev build. It looks pretty good so far, although I'd expect custom tags to have their own headers (similar to Favorites), though simply hiding the categories I don't want is good enough for now.

I'm not sure why I can select GOG tags for games on Steam. There's also the issue of every game being listed as "Run with compatibility layer" but that's an unrelated issue.

from gamehub.

KeyboardDanni avatar KeyboardDanni commented on May 18, 2024

Bug report: Making a new tag named "Complete" and then hiding it will instead hide the "Not installed" category.

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

Went ahead and installed the latest dev build.

Right now master branch is more recent than dev (but most of the difference are fixes for AppImage and building on 16.04).

There's also the issue of every game being listed as "Run with compatibility layer" but that's an unrelated issue.

Yes, I know about that bug.

I'd expect custom tags to have their own headers

What header should be displayed if game has multiple tags?

I'm not sure why I can select GOG tags for games on Steam.

I'm not sure why it should be limited. GOG tags are the same as any other tags, all the difference is that GOG tags are auto-imported from GOG and have GOG icon.

Bug report: Making a new tag named "Complete" and then hiding it will instead hide the "Not installed" category.

I see that, not sure yet why that happens. It doesn't hide all of the not installed games, but some of them.
There's now quite complicated logic in filtering, there's a very high chance it won't handle some cases correctly.
One possible way to fix this is to refactor filtering to use only tags and implement all of the current conditions (except search) as builtin tags (like favorites and hidden currently are).

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@cosmicchipsocket

Bug report: Making a new tag named "Complete" and then hiding it will instead hide the "Not installed" category.

Should be fixed in dev branch (0.11.2-1-dev). It actually worked correctly, but broke after adding "Installed" tag (#69). Now it should work properly with "Not installed" tag added.

from gamehub.

KeyboardDanni avatar KeyboardDanni commented on May 18, 2024

I'm not sure why it should be limited. GOG tags are the same as any other tags, all the difference is that GOG tags are auto-imported from GOG and have GOG icon.

Because the GOG icon on them implies that they are synchronized with GOG and it'd be hard to conceptualize GOG knowing how to apply a tag to a Steam game.

(At the very least I'd like to be able to disable the GOG tags)

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@cosmicchipsocket imported tags can be disabled since cb4c384.

from gamehub.

gwemmie avatar gwemmie commented on May 18, 2024

Are there any plans to support importing Steam's categories as tags? I have a major amount of categories set up, too, and I'd like to have them totally synced between GameHub and Steam. Doing that manually would be too ridiculous.

@tkashkin You mentioned importing Steam's categories in with Depressurizer earlier? How exactly did you do that? I'm only just now hearing about Depressurizer, and it seems to be Windows-only. I'm on Linux. I do have a Windows VM, but if I used it, is there actually a way through Depressurizer to, I guess, export Steam's categories as a format that's easy to plug into GameHub's config files, and then copy those config files into Linux? I mean, that's way too roundabout to be a permanent workaround. However, I wouldn't mind doing it this first time until more of a sync situation can be implemented.

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@Jimi-James

Are there any plans to support importing Steam's categories as tags?

No plans right now, but it should be doable. I'll need to research how does Steam store user-added categories.

You mentioned importing Steam's categories in with Depressurizer earlier?

I have mentioned it only as an example of what a mess it would be if there was a list header for each tag and game had multiple tags.

from gamehub.

gwemmie avatar gwemmie commented on May 18, 2024

@tkashkin

No plans right now, but it should be doable. I'll need to research how does Steam store user-added categories.

Oh, I'm pretty sure that's in <steam>/userdata/<UID>/7/remote/sharedconfig.vdf. Actually, I just checked my sharedconfig.vdf and, yeah, all my custom categories organized by app ID, and I think also all my custom shortcuts and their categories, were in that file. Ooh, importing custom shortcuts would be cool, too, though probably much more complicated.

I have mentioned it only as an example of what a mess it would be if there was a list header for each tag and game had multiple tags.

Oh, wait, I just realized you actually imported Steam community tags. As in not user categories. OK, yeah, I see, that wasn't what I was hoping at all. Oh well.

from gamehub.

gwemmie avatar gwemmie commented on May 18, 2024

After all the bugfixing we just did elsewhere, GameHub is almost flawless for my setup! All that's left to do now is get my Steam categories and non-Steam game shortcuts in a sync setup with GameHub.

Which I've figured out the best way to accomplish is on my own, in a launcher-agnostic way (I've lived through Ice and Steam-ROM-Maneger each working and then stopping working forever, forgetting their settings now and then along the way, and I'm sick of that). It looks like I'll be able to build a launcher-agnostic syncing setup using only Bash scripts that I'll figure out how to plug into GameHub's config files, the steam://rungameid/ command (because it actually supports non-Steam shortcuts if you can get their appIDs), and a way to parse Steam's infamous shortcuts.vdf (to get not only those appIDs, but also the shortcuts' categories). The non-non-Steam games already have their category info stored in a much more parseable--that is, actual plain text--file (despite its being the same file extension), sharedconfig.vdf.

Turns out there's not only a Python library for that (https://pypi.org/project/vdf/), but also a complete project someone else has already "finished" (it's a bit out-of-date now: https://github.com/CorporalQuesadilla/Steam-Shortcut-Manager), who I'm now talking to over reddit. When I have more time later, I'll probably help with that, and either way, once it's all back in working order, I can put what I figure out about GameHub integration into its wiki, and then post back here with that whole setup!

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@Jimi-James GameHub can already read, change and save shortcuts.vdf. It supports adding games to Steam as non-Steam games. #149 (comment)

Now it adds games to shortcuts.vdf with one tag ("GameHub").

It should be possible to extend it to allow two-way sync.

from gamehub.

gwemmie avatar gwemmie commented on May 18, 2024

Oh! I... OK, I just failed to find that setting myself. I guess I didn't realize it was already there because I didn't try adding a shortcut through GameHub yet (as I had actually just finished dramatically reorganizing my Steam library immediately before finding GameHub)? And because the two-way sync hasn't been implemented yet? So when that happens, everything will just show up in here? To be honest, I'd rather wait for two-way sync to be implemented, and then when I have time and if it hasn't happened yet, try helping with a pull request, than set up the same custom shortcuts and categories all over again in a new program.

Does the current implementation already use, or have an option to use, steam://rungameid/ to run those custom shortcuts through Steam, so that you can get an in-game status, the overlay, and controller configs and such?

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

Does the current implementation already use, or have an option to use, steam://rungameid/ to run those custom shortcuts through Steam, so that you can get an in-game status, the overlay, and controller configs and such?

No, it does not. This is an interesting idea, but I'm not sure yet how to implement it.

Current supported scenario is a bit different:

  • Install GOG/Humble/etc game through GameHub
  • Add shortcut to Steam via "Add to Steam library" button in game properties
  • Use Steam Big Picture or desktop client as a launcher and it will launch game through GameHub

from gamehub.

gwemmie avatar gwemmie commented on May 18, 2024

Alright, that's what I figured, as it doesn't seem to work with native games yet. If I try to make just a shortcut to a binary on my system, I get a shortcut that doesn't actually do anything. It lists itself as Not installed, and trying to install it does nothing. Clicking Add to steam does nothing. On top of that, it won't even remember the binary that it's set to use.

from gamehub.

tkashkin avatar tkashkin commented on May 18, 2024

@Jimi-James that's weird. It works fine for me:

screenshot

Added shortcut:

  |- [3]
    |- StartDir: .
    |- LaunchOptions: --run user:b5eccde58b6cca7892b38a4c0a7a7ec5
    |- OpenVR: 0
    |- AllowOverlay: 1
    |- AllowDesktopConfig: 1
    |- [tags]
      |- 0: GameHub
    |- exe: com.github.tkashkin.gamehub
    |- LastPlayTime: 1
    |- AppName: QZDoom
    |- IsHidden: 0
    |- ShortcutPath: /usr/share/applications/com.github.tkashkin.gamehub.desktop

Run GameHub from terminal with at least --debug argument and try to do that again.

from gamehub.

gwemmie avatar gwemmie commented on May 18, 2024

The plot thickened--I took a while to notice (I've been in a busy spell), but Steam actually did get my Test shortcut added to it. Several times--once for each time I pressed the button, only to be confused by the lack of any feedback. So, the only thing that's actually not working there is I can't set a binary or a starting path--both always become blank again as soon as I close and reopen that shortcut's config window. Weirdly, a binary (Target) and starting path do end up being set in the corresponding Steam shortcut, but they're not exactly what I had in mind:

Screenshot_2019-04-02_10-00-32

When I'm less busy again (probably later this week), I'll try all this again from scratch with the --debug option.

EDIT: Looking back at your last comment, I'm just now realizing that what I'm seeing in that screenshot might have been intended. I can see that the shortcut you've added--and, with the proper launch option, also those Test shortcuts I added--are actually meant to launch a game from Steam to GameHub. I didn't realize that was the only Steam shortcut functionality GameHub had so far. What I'm actually looking for is the opposite: a shortcut in GameHub, that uses steam://rungameid/<appid> to run a corresponding shortcut or even a normal Steam game, through Steam.

In other words, basically exactly the same thing as each game launcher that is automatically added into GameHub when it is synced with Steam for each Steam game, but with 2 differences:
-The shortcut in question was added into GameHub manually by the user and may have custom settings, like launch options and such.
-The shortcut allows the user to specify the exact <appid> that is passed into steam://rungameid/--the exact command that, I've just now been reminded, you mentioned is already used by GameHub to run Steam games: #101 (comment)

The user could specify the appID of a normal Steam game, or they could scour the <steam>/userdata files (probably shortcuts.vdf) for the appid of a custom non-Steam game shortcut, and put that one in.

If/when GameHub gains 2-way Steam category/shortcut syncing functionality, that feature could be combined with this feature, for one or both of two more differences between the GameHub's own default Steam launchers and these custom shortcuts:
-The user can choose a non-Steam shortcut, from a menu that lists all non-Steam shortcuts, as the <appid> that is run by that shortcut that they are adding to GameHub.
-GameHub automatically populates its Steam list (or maybe a separate list next to the Steam list in those game provider buttons at the top that include GOG and Humble) with all of your non-Steam shortcuts, already set up to run through Steam by steam://rungameid/<appid>.

from gamehub.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.