porcupine
porcupine copied to clipboard
make some API for statusbar
Similar to settingsdialog, but for statusbar. So plugins can add their own buttons, labels to it. For example, I would rather see the filetype selector there than in the menubar. I know, there is bottom_frame
, but this would be much better.
There was an API for statusbar, but I got rid of it because it was too limited. Maybe it's time to reconsider this.
I don't like the settings API, because it has boilerplate code for every type of widget. This will definitely be a problem with a statusbar API too, because every widget in the status bar must be as small as possible vertically, to prevent making the status bar too thick.
I'd also highly recommend a global status bar.
Since the statusbar already has two rows, maybe the top row could be tab-specific and the bottom row could be global.
In the global status bar, maybe there could be a system to display messages with priorities? That would be useful for #1141. You could have two messages:
- High priority: "A new version of Porcupine is available." With two buttons next to it: [Update now] [Plz never show this to me ever again]
- Low priority: "Line 123, column 45"
So when Porcupine starts, you would see the update notification, but if you dismiss it you would see the line and column numbers (which it is now showing all the time).
I think VS Code and Ayón handled the statusbar pretty well :D.
I also noticed that selecting text is way less laggier when the statusbar is disabled. Statusbar.update_labels
does too much thing.