sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.14k stars 72 forks source link

Rewrite builtin howto #117

Closed frostworx closed 3 years ago

frostworx commented 3 years ago

The howto text printed with stl --help (in fact stl someinvalid-parameter but I already added (--help|help) offline) :) needs a clean and understandable rewrite.

I tend to remove most of the wall of text, as the README.md should cover everything and just leave the raw command line arguments with some short description.

Any help and or suggestions are welcome!

kadogo commented 3 years ago

It's more on the code part but I think that maybe a check for command would be usefull. I just read later that there were some applications not installed by the script like vkBasalt but I think a command check for command location would be usefull.

I had the same issue with vr-video-player where I must set the path of the build and not my symlink because it need the JSON files (something like that).

I think the -h / --help only need the command explain (like stl compat add / del) etc but I didn't played enough with all the command yet ^^

frostworx commented 3 years ago

I already have checks for all commands, divided in requirements where stl will stop if not found and optional dependencies, where the corresponding function is disabled (and logged of course). All dependencies are also in the README this should cover pretty everything. vkBasalt is a special program here, as I do not do anything with it in the code, but also set the vkBasalt-own variable if selected by the user. So there's no reason to check for the program on my side. Thanks for your thought, it's really the easiest way to crop down the whole howto to the base commands.

kadogo commented 3 years ago

I think I had the issue with vr-video-player I first activate reshade, depth3D and SBS with reshade but I didn't see a popup like "we not found video-player-vr. But it's true I didn't checked the log in same time, I just saw that there was a variable in global I think (I not have the files in front of me).

If it's in the log it's already good but if there are popup like "you try to run the game with *** but the command is not found" it can be very practical for people like me that sometimes over read the readme and just missed the big part like "theses applications must be installed" ^^

frostworx commented 3 years ago

That is true and I understand what you mean, but the problem is that

IMHO steamtinkerlaunch can't make everybody happy here, and with the current solution it is as transparent as possible and requires the user to read at least a bit :)

kadogo commented 3 years ago

I think the point with yad/zenity would be douable and still better than silently set in the log that we cannot continue because the executable is not available.

I mean as end user I can enable some configuration an just forget that it's not installed. At that time a error window that say that it's not available will be more "direct". Now that are more ideas and it's really not something that is urgent to be honnest if it work it's all that matter first ^^

In my case I didn't saw it directly and I check the code and the logs and I found the issue so it's not something impossible and you are very active too so it's hard to get completely lost ^^

frostworx commented 3 years ago

@ issue topic: howto is rewritten @kadogo I already added a WARNING notifier (offline, I thought it is already in current master) which should be enough. Feel free to open a pull request if you have another good (ideally optional) solution. Deal? :)

kadogo commented 3 years ago

@frostworx I will check in the evening if I have some idea I will let you know ^^

For the warning I didn't saw it but I was a bit trying step by step so maybe I just didn't notice too

frostworx commented 3 years ago

Nah, you could not have seen it - I only thought that it is already committed. Will also be pushed with the next release.

kadogo commented 3 years ago

I did a new install on my laptop and I remember that there is the "lang" error when we need to copy the file manually, not big deal.

ERROR loadLangFile - language file '/home/user/.config/stl/downloads/SteamTinkerLaunch/lang/english.txt' missing - downloading ' https://github.com/frostworx/steamtinkerlaunch' and trying again
Clonage dans '/home/user/.config/stl/downloads/SteamTinkerLaunch'...
remote: Enumerating objects: 884, done.
remote: Counting objects: 100% (884/884), done.
remote: Compressing objects: 100% (108/108), done.
remote: Total 1658 (delta 819), reused 817 (delta 766), pack-reused 774
Réception d'objets: 100% (1658/1658), 796.01 KiB | 2.54 MiB/s, fait.
Résolution des deltas: 100% (1240/1240), fait.
###############################
ERROR - no language file could be loaded! For the initial setup at least one file (default english) is required
ERROR - You can ether copy a valid file to '/home/user/.config/stl/lang' or '/usr/share/stl/lang' or provide an absolute path via command line using the lang= option
###############################

I checked the -h/--help I find it a bit big but it explain any command and it's easy to read so I think it's good like that. Maybe you can do like most of applications where -h is a shorter version than --help but it's really not mandatory.

I have a little question. For the GUI we can use yad or zenity? If it's the case I think it could be good to have a way to define if we use one or other at first start because right know it check for yad only.

frostworx commented 3 years ago

@ issue topic: howto is rewritten (max 80 cars per line) @ gui please read the readme & feel free to send a pull request

kadogo commented 3 years ago

@ issue topic: howto is rewritten (max 80 cars per line)

Look good for me then

@ gui please read the readme & feel free to send a pull request

Ah ok I understand better now, I thought that we could use one or other. I feel like the yad part is what make STL great at end. It could be nice to provide an alternative way by disabling all the yad part but I think it's many hassle for nothing. Maybe just change the dependence check so that it didn't block if we not have yad?

Right now it does that if I not have yad

$ ./stl 
yad not found!
./stl: ligne 5838: yad : commande introuvable
./stl: ligne 5841: yad : commande introuvable
ERROR yad version '' is too old. You need to update to at least '7.0'

Because we can use it without yad I think it should not be blocking but if you feel like it's better to have people install yad because it's easier to maintain don't worry about that part ^^

frostworx commented 3 years ago

Shortening the howto lines was one of the reasons why I wanted to rewrite it and why I opened the issue.

@yad: this has nothing to do with this howto issue, but I do not worry about it as I already had a reason to implement it like this. This covers it pretty good: https://github.com/frostworx/steamtinkerlaunch/issues/87 Before I waste more time into this specific "issue" again I'd even drop zenity completely before.

kadogo commented 3 years ago

Ok sure, it's good for me, it my be closed in my opinion.

Edit: @frostworx I just remarked that last commit was from few days ago so I'm not sure if your modified help was pushed. I just checked what I had from the repo.

frostworx commented 3 years ago

fixed in https://github.com/frostworx/steamtinkerlaunch/releases/tag/v2.6.0