Giter Site home page Giter Site logo

Comments (11)

romkatv avatar romkatv commented on August 16, 2024

Why is prompt-at-bottom the default behavior?

Only if you enable tmux. Most users don't enable it, so the default is prompt at the top.

I've just pushed a commit that explicitly sets prompt-at-bottom to no if you choose to enable tmux in the installer.

Having prompt at bottom is objectively better but unfortunately having objectively good defaults causes way too many questions from new users so I have to make the defaults suboptimal and then allow those who care to undo the damage. There are many other features of this nature in zsh4humans.

Why do you prefer your terminal prompt to be at the bottom of your screen from the get-go?

By having prompt at bottom you have all most important information always displayed in the same place:

  • The prompt itself.
  • The command line.
  • The end of output of the last command. If there is a lot of output, the last portion of it is almost always the most important as it usually says "success" or "failure".
  • The question and the cursor when a command wants your input.

You don't have to scan the screen to find the most important information because it's always at the bottom. You can position your terminal window so that it's most convenient for you to look at that place.

If prompt starts at the top, it'll eventually drop to the bottom and stay there anyway. The only advantage of starting at the top is to avoid surprising new users.

in literally every modern shell prompt the input cursor goes from top to bottom

Because it's the only UI that is possible to implement on top of TTY. zsh4humans does the "impossible" thing by extending the capability of TTY with two extra operations: save screen and restore screen.

on my phone etc on handheld, touch screens I'd appreciate having it at the bottom

Also note how the most important information (what you are typing and the last messages) are displayed close to each other.

from zsh4humans.

ccelik97 avatar ccelik97 commented on August 16, 2024

Having prompt at bottom is objectively better

I guess what you say makes some sense from your perspective but I really had a "I beg to differ" moment when I first saw you say that in some older issue here with so much confidence like there can't be any common exceptions to that. :D

You have your points and I agree with them in the cases you mentioned but in the case of using a terminal emulator with tabs on a desktop/laptop computer screen (e.g. your eyes usually glance at the upper-left to middle parts of a screen/window) having the terminal prompt start at the very bottom of the screen is jarring and I'd rather not get used to it as I don't have a problem with locating where my prompt is to begin with. Because:

  • Your p10k theme looks nice & recognizable, even the lean style I'm using.

  • If I scrolled way up in the output, pressing a key brings focus to the prompt anyway (but if the prompt were to stay in the view like a text input box on a chat app even after scrolling way up then I'd consider it as a real difference maker).

That's why I asked "Why do you prefer ...?" so thanks for answering; I got to understand your view a little better.

from zsh4humans.

ccelik97 avatar ccelik97 commented on August 16, 2024

so I have to make the defaults suboptimal and then allow those who care to undo the damage.

By the way, what other defaults in Zsh4Humans do you consider as suboptimal?

from zsh4humans.

romkatv avatar romkatv commented on August 16, 2024

If you prefer, imagine that I preface all my statements with "In my opinion". So, "in my opinion, prompt at bottom is objectively better". I truly believe that it is.

your eyes usually glance at the upper-left to middle parts of a screen/window

That's a habit formed by using shells with prompt at the top. Habits can change. I used to look for prompt in my terminal at the top, too, but now I look for it at the bottom.

By the way, what other defaults in Zsh4Humans do you consider as suboptimal?

They are all described in tips.

from zsh4humans.

ccelik97 avatar ccelik97 commented on August 16, 2024

"in my opinion ... is objectively better"

Nope, that's not how objectivity works. :D

If something is a personal view on a matter and not a consensus (e.g. backed by statistics, on which I haven't seen any such studies so far) then by definition it isn't objective. And as by definition there can't be a mention of a consensus in a sample size of 1 (is anecdotal) it's statistically insignificant: It just doesn't make sense to refer to subjective views as objectivity without any further studies to be done on a sample size of 2 at the very least (but a sample size of just 2 is often considered as insignificant as just 1 if the population size is considerably larger than "several" so, the closer your sample size to the size of the entire population, the better).

Anyway, my intention was to understand your view better, not to really argue with it as at least the defaults I didn't always prefer to have are easy to change so thanks again for answering (and providing these options).

from zsh4humans.

romkatv avatar romkatv commented on August 16, 2024

Objective isn't the same thing as consensus. Leaving that aside, my statement works for any definition of "objective" that you like.

Whenever I make a statement "X", you can substitute it for any of the following. Choose what best suits you.

  • X is true.
  • I think X is true.
  • In my opinion X is true.
  • X is objectively true.
  • I think X is objectively true.
  • etc.

I wouldn't be claiming X if I didn't believe it. On the other hand, anything I claim comes from me, so it's my opinion.

I'm not trying to argue semantics here. I'm trying to explain how my communication should be interpreted in order to extract the intended meaning from it.

from zsh4humans.

romkatv avatar romkatv commented on August 16, 2024

my intention was to understand your view better, not to really argue

I would prefer the opposite. I don't find the discussion of personal quirks particularly valuable. On the other hand, I would be happy if you provided arguments opposing the claim that prompt at bottom is better. I presented mine expecting that you would either be convinced or argue against my proposition.

from zsh4humans.

romkatv avatar romkatv commented on August 16, 2024

I've tried to clean up my position. Is it more convincing?

Q: Why is prompt at bottom better?
A: Because it allows for the the most important information in the terminal to always be at the same position.

Q: Why don't shells implement prompt at bottom?
A: Because it cannot be done on top of TTY.

Q: Why don't all zsh4humans users use prompt at bottom?
A: They either don't realize that it's better or don't want to incur switching costs.

Q: Doesn't it mean that prompt at bottom is worse for some users?
A: I'm staying on iPhone 13 because I don't want to incur switching costs. It does not mean that iPhone 13 is better than 14.

Q: Why is prompt at bottom not the default in zsh4humans.
A: The cost of switching to zsh4humans is already high. If all unorthodox features were enabled by default, new users would be overwhelmed.

from zsh4humans.

ccelik97 avatar ccelik97 commented on August 16, 2024

Objective isn't the same thing as consensus.

You're correct, they aren't the same things. I'd in fact give you the benefit of the doubt here as even if you were to tell me that "n>2 number of people have responded and the consensus is as I told you so" I'd have taken it as objective enough in this case.

I'm trying to explain how my communication should be interpreted in order to extract the intended meaning from it.

Yeah, that's why I wanted to learn more about your point of view.

I don't find the discussion of personal quirks particularly valuable.

It is valuable when you're the developer behind a popular project within a collaborating community lol, that's the point.

if you provided arguments opposing the claim that prompt at bottom is better.

I already did, in fact 2 times so far here and here but to repeat myself: I find it easier when my prompt & cursor starts at the top, closer to the window/tab titles in comparison to it starting at the bottom; on a desktop/laptop computer (as in the presence of a keyboard that's separate to the computer screen). But if it was on a more intimate, hands-on medium like typing on a smartphone screen using a touch keyboard that takes up space at the bottom part of a vertical screen then it'd make more sense to me to have my prompt closer to my touch based, on-screen keyboard (similarly to the next-word suggestions & messagebox positioning).

I've tried to clean up my position. Is it more convincing? ...

Yeah, you went to great lengths to explain your point and again, thank you for that. It's important to clarify what you mean especially in the case of being the person behind such a popular project. Now me and possibly others too will be able to understand what you mean more clearly when you say such things.

from zsh4humans.

ccelik97 avatar ccelik97 commented on August 16, 2024

Btw I have another question (not necessarily a feature request):

As you managed to change the position of the prompt to the bottom by using tmux, would it also be possible to display the prompt at the center of the tmux view, floating over the rest of the view? For a result kinda similarly to ScreenKey or Show Me The Key I mean.

So the outputs/logs of the previously ran commands would be displayed on the entire underlying tmux view with the prompt displaying in the middle/on the center with a semi transparent or even blurred background (does tmux support blur in views?) etc.

from zsh4humans.

romkatv avatar romkatv commented on August 16, 2024

No, that isn't possible.

from zsh4humans.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.