xpipe-io / xpipe

Your entire server infrastructure at your fingertips
https://xpipe.io
Apache License 2.0
3.06k stars 82 forks source link

FEATURE REQUEST: Allow manually setting default shell per host #288

Closed neatchee closed 2 weeks ago

neatchee commented 3 months ago

USE CASE:

UI/UX preference for minimalism means I would like to be able to launch my desired shell for a given host without navigating to the specific entry for that shell. For example, on Windows, the Local Machine always uses CMD as the default shell, which means that I need to explicitly select "pwsh" to use Powershell 7 every time

DESIGN

There are two possible options:

1) Simpler: When editing a host (including Local Machine), populate a dropdown for "Default Shell" with known available shells

2) More Consistent with User Expectations/Learned Behavior: When editing a shell environment, add a checkbox for "[make|set as] default for this host"

NOTES

If the selected shell is removed or fails to launch, xpipe should probably fall back to the baked-in default

crschnick commented 3 months ago

The thing with shells is that at least for remote systems, it will always use your default login shell. If you would like to use another shell on a remote system as default, changing the login shell for the user or for SSH would work.

I guess it would be theoretically possible to set such defaults with shell environments in xpipe, I will have to think about how to do this the best way.

neatchee commented 3 months ago

Yeah, I agree this is not exactly elegant and muddies the definition of the term "default".

What I'm really asking for here is that the term 'default' be scoped to xpipe's host configuration rather than scoped to the remote system's own defaults. That is, it would be asking the question "what shell do you want to use if you don't specify one (by clicking directly on the remote system list item)" instead of saying "use the remote system's default shell if you don't specify one".

In that sense, the current behavior for this setting could be presented as Default Shell = Let Remote Host Decide or Use Remote Default

Actually changing the remote host's default shell is a whole separate thing that is probably a valid use-case but not what this feature request intended :D

crschnick commented 2 weeks ago

This is now implemented in 11.3