1

I'm making a tmux session manager which allows you to pre-configure your sessions in a nice language and then switch between them (sort of like tmuxifier), but it will also allow you to create a config for a session based on a repository found on the system (meaning the session root would be the path to the repo).

I also want it to be modular and provide the ability to fuzzy find sessions and repos during creation of the session config.

Due to technicalities I must choose one of these approaches to create a config for a session from a fuzzily picked repo but they both have tradeoffs:

Approach 1:

session-manager new-session "$(session-manager find-repos | fzf --tmux)"

This way the user can easily do what they want with the output, although this could be considered more complex. The original plan was to display shortened names(meaning starting from the top level the shortest "path" that would be unique) but with this I can't do that, so it would look like this:

fuzzy finder with full paths

I think it looks a little bit noisy (but some may consider this more practical), compared to the shortened version (see Approach 2). Alternatively combining these two is possible, meaning: [short name] -- [path]

Approach 2:

session-manager pick-repo

And then it would be configured something like this:

filter_command = { program = "fzf", args = ["--tmux"] }

It's not composable and I think it could be considered less flexible for the user but it's simpler. But with this we can have our shortened paths:

fuzzy finder with shortened paths

Which of those would offer a better user experience?

1 Answer 1

0

Who is your intended user, and can you run these options and questions by them? That will probably give you the best results.

My hunch, based on nothing more than working as a UX guy in a deeply complex tech environment with a lot of developers (and having almost no context on your project) is that in a command line environment those users are going to want MORE information and clarity per line, rather than a nicely formatted list that doesn't give as much detail.

Heck, I'm barely Unix-enabled myself, but I often want to copy a command or a path from a previous line in my session and just paste it in to construct something new or repeat something old... if the results I'm seeing don't give me complete information it means I need to do more work to construct that new command/path.

This calculus would likely be entirely different in a UI, of course, but based on what little I can glean about your project and users, I'd expect the more detailed version 1 would be better received.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.