Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a default design language for T-W apps #8

Open
japhb opened this issue Apr 2, 2024 · 1 comment
Open

Provide a default design language for T-W apps #8

japhb opened this issue Apr 2, 2024 · 1 comment
Assignees

Comments

@japhb
Copy link
Owner

japhb commented Apr 2, 2024

At the moment T-W makes some relatively arbitrary decisions about what the built-in widgets look like and how they act. In addition, the arrangement of Widgets into TopLevels is mostly a matter of convention and the available capabilities of the constraint solving system built into the Layout engine.

This is not to say that no thought has gone into this; I've mostly tried to keep the implemented bits at least somewhat intuitive (to me), but there are a LOT of capabilities one might expect to find that are not yet implemented, and decisions that are currently left entirely to the app developer with no guarantee different app developers will make the same choices.

It would be much more intuitive for the average user, and easier for the app developer, if there were one or more built-in design languages available that can easily be opted in to. The user could then assume that any app based on one of these would act roughly the same (and hopefully as they expect for the app type).

Existing terminal-friendly design languages to consider:

  • IBM 3270 standards (screenshots) - Early CUA (Common User Access) mainframe implementation from the folks that invented it
  • Turbo Vision (screenshots) - 90's CUA-compatible terminal toolkit used for Borland software such as compiler IDEs; much "softer" design than the 3270 standards
  • Far Manager (screenshots) - One of a class of similar file/archive management interfaces, using what appears to be a variant of the Turbo Vision widget set, but arranged in a custom non-CUA fashion
  • Irssi (screenshots) - A "power user" terminal chat interface that typifies a command-centric design: small status and command area at the bottom that receives almost all user input, with a large display area above
  • Mutt (screenshot) - A "power user" terminal email client, using a split screen for overview and detail views, with detailed information in borders
  • WordStar (embedded screenshots) - Another split screen design, except that the upper pane was filled with menu items or control key references
  • 90's video game - A rather fuzzy group, but some common themes could be seen -- menus styled like a stack of buttons, modal toplevels for each different interaction type, pulldown console access, etc.

(More examples very much welcome!)

@japhb japhb self-assigned this Apr 2, 2024
@patrickbkr
Copy link

I just found out about GitUI. Surprisingly it has a UI that works remarkably similar to how I envision my debugger to work and look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants