Caster icon indicating copy to clipboard operation
Caster copied to clipboard

Consolidated caster UI

Open chilimangoes opened this issue 9 years ago • 9 comments

What do you think about consolidating the various caster windows into a single UI? I was thinking it would be nice to have a single caster window with multiple panes for the various bits of information that we want to display, kind of like the ShortTalk window. This way there's only one window to show/hide and it doesn't clutter up the taskbar. It would also help with discoverability, since you don't need to remember the commands for each window. We could show things like the current clipboard contents, multi-copy, sticky list, currently active CCR modules, console output, and status window output.

chilimangoes avatar Aug 27 '15 19:08 chilimangoes

This is what I see the status window evolving into. Right now it only serves as a confirmation of spoken commands and sometimes a list of choices, but I would like it to be much more.

One problem I haven't been able to think of a good solution to though, is screen space. Especially with multi copy and the sticky list, how do I make efficient use of space and still show lots of choices?

synkarius avatar Aug 28 '15 02:08 synkarius

I think the 80/20 rule is relevant here. If we can make it display most of the information that most users want to see most of the time, it would at least be a really good start. Then we can work from there to address edge cases. How many items do you typically have in your multi-copy and sticky list? I'm still getting started with caster, but I find I have a hard time managing (cognitively) more than about 10-20 items at a time, so I tend to prune these lists fairly aggressively.

Another thing to consider is monitor space is pretty cheap these days, and most of programmers I know use multiple large monitors. And if we allow the individual panes to be shown/hidden, repositioned, and resized, then presumably the single window wouldn't take up more screen space than all the little windows someone might have open now. I don't have any experience with GUI development in Python, so I don't know how tall an order that is - but I would be happy to do some playing around with tkinter and see what I can come up with.

chilimangoes avatar Aug 28 '15 15:08 chilimangoes

Another idea I've been tossing around in my head recently that may or may not help address the number of items in multi-copy and sticky list is the idea of a contextual sticky list. I think this is a useful enough feature on its own and I opened a separate issue for it: #95.

chilimangoes avatar Aug 28 '15 16:08 chilimangoes

In my own usage, I never use more than 10 slots. As for 80/20, perhaps we could display only the N most recent or frequent items.

Monitor space is cheap, but I guess to some extent, I'd hope to develop for the least common denominator, in this case small or single monitors, and maybe then have the option to resize the status window?

By all means, please mess around with tk and see what you can come up with. Also, if you find that wxPython offers features that we need which tk lacks, that is a dependency which (though we technically have now with the settings window -- which I'm still on the fence about) I've been considering bringing in fully for a while. I'm not averse to officially including wx.

synkarius avatar Aug 28 '15 23:08 synkarius

I think that it's a reasonable dependency since the common Natlink "requires" it to be used, too.

On Fri, Aug 28, 2015 at 4:55 PM, David Conway [email protected] wrote:

In my own usage, I never use more than 10 slots. As for 80/20, perhaps we could display only the N most recent or frequent items.

Monitor space is cheap, but I guess to some extent, I'd hope to develop for the least common denominator, in this case small or single monitors, and maybe then have the option to resize the status window?

By all means, please mess around with tk and see what you can come up with. Also, if you find that wxPython offers features that we need which tk lacks, that is a dependency that (though we technically have now with the settings window -- which I'm still on the fence about), I've been considering bringing in full time for a while. I'm not averse to officially including wx.

— Reply to this email directly or view it on GitHub https://github.com/synkarius/caster/issues/94#issuecomment-135916807.

Versatilus avatar Aug 29 '15 00:08 Versatilus

I completely agree.

synkarius avatar Aug 29 '15 00:08 synkarius

Does anyone know if one or the other might be better suited for something like this? Like I said, I have zero experience with any of the GUI frameworks in Python, so I'm sure there will be a lot of learning involved either way.

chilimangoes avatar Aug 29 '15 00:08 chilimangoes

Can we update this issue relative to the current state of caster? I can't immediately tell:

  • What information the GUI window would show
  • What are the "various caster windows" now? I only know the one that comes up when saying "record from history"

kendonB avatar May 06 '19 02:05 kendonB

Current state

  • "record from history"
  • "Caster settings editor" edit Settings.toml through GUI
  • the open PR for HUD will include a "status window". Basically replacing the Natlink messages window or command prompt depending on configuration. Also include a pop of GUI to display available commands.

Features not implemented.

  • Displaying multi clipboard

LexiconCode avatar Apr 14 '20 13:04 LexiconCode