monome / druid

terminal interface for crow
GNU General Public License v3.0
35 stars 16 forks source link

feature-request/discussion: tmux-like window interface. pane for script selection. etc. #33

Closed jlmitch5 closed 5 years ago

jlmitch5 commented 5 years ago

I think it could be really cool to have an additional pane when running druid for script selection upload. Some of the functionality I am envisioning:

See here for some idea of the "pane-windowing" I am thinking about. https://github.com/yaronn/blessed-contrib

Note I am not familiar with best-practices or libs as they relate to terminal display. I imagine there would need to be considerations for:

I figure I'd get the ball rolling about this discussion. Curious what the creators of druid think, as well as the community at large (maybe someone has experience building cool terminal apps like this and has some insight?)

simonvanderveldt commented 5 years ago

Just to be sure I understand ;)

move the repl to a pane

Which part do you mean exactly?

and add another with a file tree pointing to a specific location (maybe a druid/scripts folder, which we could encourage people to use as the place to store their scripts in the readme)

Would you expect this to always be open? And what would you want to use it for? Just for uploading? Or would you also want to be able to view and/or even edit the script?

macro to switch focus between the panes

I guess you mean a keyboard shortcut?

jlmitch5 commented 5 years ago

Which part do you mean exactly?

Something kind of like this:

Screen Shot 2019-10-11 at 7 29 45 PM

Would you expect this to always be open?

Could expand/collapse.

And what would you want to use it for? Just for uploading? Or would you also want to be able to view and/or even edit the script?

Having the ability to view/edit the script could be cool, but I imagine edit would only accessible to those who know/want to use vim/emacs/nano/whatever cli-based text editor we'd decide to wrap. I would not personally use that, as I prefer to do coding in a gui-based editor.

csboling commented 5 years ago

For a more sophisticated graphical IDE experience, it may be easier to write a VSCode/emacs/whatever extension to talk to Crow rather than trying to implement or embed a full featured editor inside Druid. A simple alternate view where you can browse local scripts and fetch from Bowery seems nice though.

tehn commented 5 years ago

i'm having a hard time imagining why we'd ever need a persistent pane with a file list, since uploading is a singular action. i think it makes sense to have a helper function that gives a file navigator to select a file--- but i feel druid should stay pretty simple.

definitely don't want to build an editor. we did this with norns! it's a huge project. split-screen terminal with users editor of choice is quite ideal.

jlmitch5 commented 5 years ago

Some sort of helper could be cool, that you run as a separate thing.

What I’m envisioning here is a thing that makes it easy to swap between a lot of different scripts in a users lib, like scrolling through and selecting apps from Norns.

tehn commented 5 years ago

as a loader? agreed! that'd be great. but i still don't feel that should be a persistent side-window for druid. or maybe it frames druid in a totally different way--- it's just a loader, and users only care about seeing confirmation or error messages... not actually using the REPL. certainly that's a use-case

or as an editor? i think most editors have their own file-selector interface

interesting ideas!

On Fri, Oct 11, 2019 at 9:13 PM John Mitchell notifications@github.com wrote:

Some sort of helper could be cool, that you run as a separate thing.

What I’m envisioning here is a thing that makes it easy to swap between a lot of different scripts in a users lib, like scrolling through and selecting apps from Norns.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/monome/druid/issues/33?email_source=notifications&email_token=AAB4I4BW2X5ADPIW4MCBMT3QOEQDLA5CNFSM4I77E7JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBBRQFY#issuecomment-541267991, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB4I4FYWPJKJU7OW5Q24UDQOEQDLANCNFSM4I77E7JA .

csboling commented 5 years ago

definitely don't want to build an editor. we did this with norns!

And Teletype! :keyboard: ❤️

simonvanderveldt commented 5 years ago

What I’m envisioning here is a thing that makes it easy to swap between a lot of different scripts in a users lib, like scrolling through and selecting apps from Norns.

The changes to the cli proposed in #30 already allow one to do this from the terminal directly, and since the shell already does file browsing I'm not sure there's much benefit to adding another file browser to druid?

trentgill commented 5 years ago

I agree with @simonvanderveldt. I'd vote for extending druid so it works alongside other unix-y applications. It would be a program in a tmux session, rather than recreating a subset of tmux inside itself.

I don't know what that means implementation wise though :/

jlmitch5 commented 5 years ago

Seeing the new interface with the cli (and using crow more frequently), I've gotten used to (and have no issues with) the way things work. I'm gonna close this issue, but if anyone has any ideas around this, we can reopen.

Thanks for the feedback and discussion about the idea, everyone!