vimium icon indicating copy to clipboard operation
vimium copied to clipboard

Feature Request: Always show mode

Open AAR072 opened this issue 9 months ago • 8 comments

Greetings contributors, thank you for your time in reading this.

Is there a way to always show the mode that I am in (visual, normal, insert, etc). There is a bar on the bottom when in insert and normal mode, but there is nothing for normal mode. I often find myself spamming escape to leave insert mode. Is there a way to enable it on my own? Otherwise, I think this would be a useful feature.

As far as I can see, this shouldn't be a time-consuming change as there is already the statuses for other modes. If someone can point me towards, where the relevant code is, I would be happy to do it myself.

Thanks.

AAR072 avatar Mar 18 '25 15:03 AAR072

I do not think this is currently possible, but if there is consensus that we want this feature, I'd be willing to implement it or help point you in the right direction/give code reviews. I personally wouldn't use this feature, but if you want to do the coding anyway, you could implement it, make a pr, and see what happens. If you want to avoid coding for something that won't get merged, then you could wait to see if there's more interest. You could also manage your own fork, which isn't so hard. That's what I've been doing for all the features I want. You would write the feature in your own fork anyway. So even if you write the change and it isn't merged into the main project, you could use it in a fork.

UncleSnail avatar Mar 19 '25 19:03 UncleSnail

It's possible for extension icons to have a "Badge". This could be used to show a N when in normal mode and an I when in insert mode and so on.

So you could then pin the extenion icon to your browser toolbar and just glance up at the extension icon and you'd know what mode you were in.

https://developer.chrome.com/docs/extensions/reference/api/action#badge

Darkle avatar Mar 20 '25 08:03 Darkle

I feel like if the effort was being made to show modes, it should be a better solution. Changing the icon would be a little word if it only changed for normal mode. It is a good idea, but I don't know how useful it would be if the user has to keep glanci at their extensions.

On Thu., Mar. 20, 2025, 4:55 a.m. Coop, @.***> wrote:

It's possible for extension icons to have a "Badge". This could be used to show a N when in normal mode and an I when in insert mode and so on.

So you could then pin the extenion icon to your browser toolbar and just glance up at the extension icon and you'd know what mode you were in.

https://developer.chrome.com/docs/extensions/reference/api/action#badge

— Reply to this email directly, view it on GitHub https://github.com/philc/vimium/issues/4653#issuecomment-2739633281, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMWOVNJCPC5DYOBV6XBWRVT2VJ7APAVCNFSM6AAAAABZIPNRPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMZZGYZTGMRYGE . You are receiving this because you authored the thread.Message ID: @.***> [image: Darkle]Darkle left a comment (philc/vimium#4653) https://github.com/philc/vimium/issues/4653#issuecomment-2739633281

It's possible for extension icons to have a "Badge". This could be used to show a N when in normal mode and an I when in insert mode and so on.

So you could then pin the extenion icon to your browser toolbar and just glance up at the extension icon and you'd know what mode you were in.

https://developer.chrome.com/docs/extensions/reference/api/action#badge

— Reply to this email directly, view it on GitHub https://github.com/philc/vimium/issues/4653#issuecomment-2739633281, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMWOVNJCPC5DYOBV6XBWRVT2VJ7APAVCNFSM6AAAAABZIPNRPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMZZGYZTGMRYGE . You are receiving this because you authored the thread.Message ID: @.***>

AAR072 avatar Mar 20 '25 14:03 AAR072

I personally really like the extension badge idea. Having an option to make the extension badge change based on mode would be rather intuitive, and it would ensure that we would never be covering anything on the webpage, which is something we would need to consider with any other solution. And I don't think needing to glance up to see the mode is so far-fetched. In vim/nvim the status bar is at the bottom, so you need to glance down to see the mode. Either way, you are going to need to look somewhere else (ie, you need to glance somewhere), unless we use something that is so obvious it is always visible, like a red border around the window when in insert mode, and that isn't a good default, so if we want users to be able to do that, we would need to allow for them to add custom styles/js for each mode, which I don't think is in scope. In other words, I think the badge idea actually could be pretty good, unintrusive, and require minimal changes compared to the considerations of other options.

UncleSnail avatar Mar 20 '25 20:03 UncleSnail

Good points

It makes sense. But doesn't insert mode show the text on the bottom? Couldn't we put the normal status there?

On Thu., Mar. 20, 2025, 4:10 p.m. Caleb Marcoux, @.***> wrote:

I personally really like the extension badge idea. Having an option to make the extension badge change based on mode would be rather intuitive, and it would ensure that we would never be covering anything on the webpage, which is something we would need to consider with any other solution. And I don't think needing to glance up to see the mode is so far-fetched. In vim/nvim the status bar is at the bottom, so you need to glance down to see the mode. Either way, you are going to need to look somewhere else (ie, you need to glance somewhere), unless we use something that is so obvious it is always visible, like a red border around the window when in insert mode, and that isn't a good default, so if we want users to be able to do that, we would need to allow for them to add custom styles/js for each mode, which I don't think is in scope. In other words, I think the badge idea actually could be pretty good, unintrusive, and require minimal changes compared to the considerations of other options.

— Reply to this email directly, view it on GitHub https://github.com/philc/vimium/issues/4653#issuecomment-2741550681, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMWOVNKZOK2PBUSQTHAK34T2VMODFAVCNFSM6AAAAABZIPNRPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBRGU2TANRYGE . You are receiving this because you authored the thread.Message ID: @.***> [image: UncleSnail]UncleSnail left a comment (philc/vimium#4653) https://github.com/philc/vimium/issues/4653#issuecomment-2741550681

I personally really like the extension badge idea. Having an option to make the extension badge change based on mode would be rather intuitive, and it would ensure that we would never be covering anything on the webpage, which is something we would need to consider with any other solution. And I don't think needing to glance up to see the mode is so far-fetched. In vim/nvim the status bar is at the bottom, so you need to glance down to see the mode. Either way, you are going to need to look somewhere else (ie, you need to glance somewhere), unless we use something that is so obvious it is always visible, like a red border around the window when in insert mode, and that isn't a good default, so if we want users to be able to do that, we would need to allow for them to add custom styles/js for each mode, which I don't think is in scope. In other words, I think the badge idea actually could be pretty good, unintrusive, and require minimal changes compared to the considerations of other options.

— Reply to this email directly, view it on GitHub https://github.com/philc/vimium/issues/4653#issuecomment-2741550681, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMWOVNKZOK2PBUSQTHAK34T2VMODFAVCNFSM6AAAAABZIPNRPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBRGU2TANRYGE . You are receiving this because you authored the thread.Message ID: @.***>

AAR072 avatar Mar 20 '25 21:03 AAR072

Couldn't we put the normal status there?

Yes, indeed we could.

It makes sense. But doesn't insert mode show the text on the bottom?

I will note that insert mode isn't always shown at the bottom. I almost never see it, because I don't normally manually enter insert mode. I would say technically whenever a text box is selected, we are in insert mode. So it wouldn't be as simple as just displaying a "normal mode" label whenever the "insert mode" label isn't shown.

UncleSnail avatar Mar 20 '25 21:03 UncleSnail

Couldn't we put the normal status there?

Yes, indeed we could.

It makes sense. But doesn't insert mode show the text on the bottom?

I will note that insert mode isn't always shown at the bottom. I almost never see it, because I don't normally manually enter insert mode. I would say technically whenever a text box is selected, we are in insert mode. So it wouldn't be as simple as just displaying a "normal mode" label whenever the "insert mode" label isn't shown.

Is there a var tracking if we are in normal and are not sending inputs? If there was, the label implementation would be trivial. If not, I can understand that it could get annoying. Nevertheless, tracking such a thing would be required for the extension icon idea as well.

AAR072 avatar Mar 20 '25 23:03 AAR072

I haven't looked into it, but I'm sure it wouldn't be hard to build (I'm not concerned about that). The main question is whether maintainers want it and if so, what the implementation will be.

UncleSnail avatar Mar 20 '25 23:03 UncleSnail