mirror of
https://github.com/1Remote/1Remote.git
synced 2026-04-25 13:36:03 +03:00
[GH-ISSUE #427] Command line options (cli parameters) #3245
Labels
No labels
area-configuration
area-ct-app
area-ct-rdp
area-ct-remoteapp
area-ct-ssh
area-ct-vnc
area-launcher
area-list
area-tags
area-teamwork
bug
chore
dependencies
general-build/ci
general-performance
general-refactor
general-security
general-supportive
general-ux
meta-documentation
meta-enhancement
meta-enhancement
meta-feature
meta-help-wanted
meta-unknown-error
priority-hi
priority-low
pull-request
question
resolution-duplicate
resolution-invalid
resolution-wontfix
stale
task-put-off
task-still-considering
task-working-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/1Remote#3245
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @majkinetor on GitHub (May 27, 2023).
Original GitHub issue: https://github.com/1Remote/1Remote/issues/427
Originally assigned to: @majkinetor, @VShawn on GitHub.
1Remote should have several command line options that can be used for installation, startup and connection running.
--(un)installRuns all of the (un)install-*** options
--(un)install-desktop-shortcut(Un)Install desktop shortcut and exit
--(un)install-startup(Un)Install registry startup entry and exit
--start-minimizedRun app minimized
ULID:<connection-id>or<connection-name>or#<tag-name>Run app and imediatelly execute and/or focus connection name or tag. NOTE: we could have just one here if this is problematic (tag or single connection name)
Documentation
TODO (@majkinetor)
Examples
Details
Future work
After CLI options are done, here are the things that should be done in the subsequent tickets that I will create separatelly:
5. Start minimized should be removed as it is pointless
Install/Uninstall
We could expand this with some more but this is enough for the start IMO and to be able to have installation routine for #402.
I intentionally didn't want to introducd option for "all users", start menu entries and uninstall in "programs and files". The first two are IMO not needed - 1RM is not a kind of program that will be used by multiple users on single machine IMO (and if that is needed, each user could have its own portable copy), and since it doesn't have multiple runable items start menu entery is usless. We could add uninstall entery that will just call
1remote.exe --uninstallbut it will leave files on the disk and it doesn't seem important. I think we could just add those in the GUI options, for example System integration tab in options that would enable user to run all those things that we will be able to do via CLI (after these are implemented) via convenient buttons and/or checkboxes.Run minimized
Startup minimized is implemented the wrong way. 1RM should have an app argument that does that, which will then setup to be used in Windows registry. That way, when one runs 1Remote by hand or shortcut icon, it will show the main window, which is expected behavior.
@majkinetor commented on GitHub (May 27, 2023):
There is small problem with this and winget - user will have to shutdown app first in order for it to get updated. But that is the same for all portable apps, its not specific to 1RM. There is no way to go around this as winget will first unpack the zip archive over existing location which will fail as exe is already in use. We could technically make -install option make 1RM to copy itself to another location and previously kill any running 1Remote.exe, but I am not sure if we should go those lengths at the moment (although its almost trivial to do).
Chocolatey package will shut down the app first and if it was started before, rerun it after update, so it doesn't have this problem. This can be done as choco uses pwsh script, feature that winget doesn't have.
@majkinetor commented on GitHub (May 27, 2023):
As for some examples @VShawn , check up everything. It has CLI option for all installation routines, which I united via single option, but you could separate them too.
@majkinetor commented on GitHub (May 27, 2023):
BTW, I would also add here some command line options regarding the running of specific connections. But I consider this to be lower priority task and could be also done in future. Something like:
-run #tag-foo-run 'con name foo'1Remote would accept multiple of those. This would enable 'create desktop shortcut` for specific connection(s).
@VShawn commented on GitHub (May 28, 2023):
You are right :)
I designed this feature in the prototype of PRM. users could create shortcuts in the right-click context menu of the connection. then they could search and open connections through tools like Everything. Now, we can still keep the action of creating shortcuts in context menu
P.S.
I'd like that there will be a todo list like #401, for each issue after the discussion is completed, so that we can confirm the work to be done. After all, these tickets may not be started for some time, and without a todo list, we may forget the objectives.
@majkinetor commented on GitHub (May 28, 2023):
Yeah, you are right about todo list. However, it can be done only after the discussion, so I'll make sure we have it in the opening post.
@majkinetor commented on GitHub (May 28, 2023):
Yeah, you are right about todo list. However, it can be done only after the discussion, so I'll make sure we have it in the opening post.
@majkinetor commented on GitHub (May 29, 2023):
@VShawn, I edited the first post. Please take a look and if you have comments or questions or think something should be modified, bring it on.
@VShawn commented on GitHub (May 30, 2023):
I think it's good :)
@VShawn commented on GitHub (Jun 12, 2023):
connection-nameor#tagi think it should be case insensitive?And the command will start all connections named
connection-namefrom all databases?from this point I wanna add a protocol like
path/to/1Remote.exe id:xxxxxto start a specific connection forenable 'create desktop shortcutfor specific connection(s).`.@majkinetor commented on GitHub (Jun 12, 2023):
Yes
Well, you can have multiple same named connections even in the local database. So yes, all should be started if that is the case I guess.
Yes, we should have connection id, but I would use it in addition to connection name as it is not CLI friendly - majority of the people won't have duplicate connection names anyway. I will add it to the above list.
@majkinetor commented on GitHub (Jun 12, 2023):
BTW, the
id:15is also a valid name. Not sure that we needid:prefix then.So
1remote 15 17vs1remote id:15 id:17.Perhaps we should forbid naming connections by number ?
@VShawn commented on GitHub (Jun 14, 2023):
I've done all the task in this ticke? Do I need to continue adding a desktop shortcut for connection in this ticket?
@majkinetor commented on GitHub (Jun 14, 2023):
Nah, this is for CLI options only.
@majkinetor commented on GitHub (Jun 14, 2023):
Nah, this is for CLI options only.
@majkinetor commented on GitHub (Jun 14, 2023):
Lets keep this open until I test it and add documentation.
@VShawn commented on GitHub (Jun 15, 2023):
auto build is donw since I import the COM
Windows Script Host Object Modelin order to creat a desktop shortcutI can build it on my dev env, but if failed with github action.
Build Error from github action:
The task "ResolveComReference" is not supported on the .NET Core version of MSBuild.BSo you are not able to test cli until I find out how to fix github action.
@majkinetor commented on GitHub (Jun 15, 2023):
What about this one.
Other then that, you could embed nircmd (license allows it). Its around 100KB.
@VShawn commented on GitHub (Jun 17, 2023):
It was eventually built
@majkinetor commented on GitHub (Jun 21, 2023):
I tested it and everything works. Maybe we want to have
/?as standardized but its not teribly important as we will have web docs.@majkinetor commented on GitHub (Jun 21, 2023):
Actually reopening this while docs are not done.
@majkinetor commented on GitHub (Jun 21, 2023):
Ahh, this is awesome:
@majkinetor commented on GitHub (Jun 21, 2023):
Ahh, this is awesome:
@VShawn commented on GitHub (Jun 22, 2023):
You even changed the icon of the shortcut. I also considered mapping the shortcut icon to the server icon when developing, but the icon of connections stored in 1RM is in PNG format while shortcuts only support ICO icons.