Sublime Forum

Floating output panel (2 screen work), invisibles and line number customization

#1

Hi! A long time TextMate user here. I have recently started working (again) with Windows in my new job and I have purchased Sublime for doing everyday’s file edits and (Sci)Python development.

However there are couple of things (features) present in TextMate that are (for some reason) missing in sublime.

  1. Output panel has a fixed layout, and it cannot be made either floating or vertical (eg. right part of the window). This is really a big annoyance when working on multi-monitor setup, and I want the output to be in the 2nd screen while have my dev windows on 1st screen. This is the way I work in TextMate and in Visual Studio.

    Honestly I don’t really understand why Console and Output are special panels, if Sublime have such a nice support for splitted layout? Why they can behave like any other editor windows and be part of split/tabbed layout, that can be easily moved around? I know there’s sublime-text-2-buildview plugin, but this is kind of hacky solution.

  2. Invisibles color cannot be customized for some reason, while TextMate supports it I think from very beginning via “invisibles” entry in color schemes, but for some reason Sublime does not, and color for tabs and spaces is hard-coded, also Sublime does not show line-breaks when show invisibles is on. I use this feature a lot when reviewing the code, for mixed or trailing whitespace stuff. I know you can change alpha of foreground color to somehow change tabs, but it does not affect spaces.

  3. Last thing, maybe not really important, but it would be great if we could be able to customize line numbers, eg. just use smaller font for them. This would really improve the experience, especially when large files have 4 digit line numbers that take quite a lot of horizontal space, while it is still good to have them.

Anyway Sublime is really great app and I really enjoy working with it now everyday.

Cheers,
Adam

2 Likes

Detached console window
#2

Just made an account to agree with this point. Widescreen/multi-monitor setups aren’t particularly useful when the output is stuck at the bottom of the screen. The bugs present in sublime-text-2-buildview prevent me from going that route, but imho this feature should be integrated into the editor regardless.

0 Likes

#3

Other then the current exec command from the Default package that is used with many build systems, anything is free to use a normal view that is part of the editor panes. In fact, the find panel provides this option.

I think it is mostly the case of plugin authors choosing to implement using the output panel.

1 Like

#4

Why would they choose any other solution, what would be the purpose of output panel at all if plugin authors chose to use normal view instead.

To be honest this is kind of shortcoming or/and design flaw in Sublime. Output panel is kind of crippled comparing TextMate, that provides floating or docked left/right/bottom version that renders HTML, which can let you produce almost any kind of output.

Sublime has great own HTML renderer which seems to be perfect for Output panel (except I think it has no text selection/copy support), but this feature isn’t really used, eg. for rendering compile error list or … Search results that land in normal view, which is kind of poor-man’s solution.

So I think it would be best to have a multiple Output panels (depending on results type) that can be docked/dragged as any other Text view, but they offer HTML view instead text edit view.

0 Likes

#5

The purpose is that it is pretty trivial to support either. If the the user/plugin author wants a temporary output pane at the bottom of the screen, use an output view. Otherwise call the API function to create a normal view. They don’t have to be exclusive of each other. For instance, I have an SFTP package I developed. I don’t believe anyone has ever asked for the output of that to be in a normal view or docked to the right/left.

minihtml is still relatively young, and not nearly a full HTML engine. It is currently designed to allow for users to create supplementary UI elements such as popups and phantoms (inline non-code “elements”). Just this year things like inline padding and backgrounds were added. There are some more enhancements coming, but I don’t think our intention is to pass the acid2 test or implement flexbox. We have not decided yet to allow full views to use minihtml, plus there are many layout options not supported and that may never be supported (tables, floats, etc).

I’m in no way presenting any official Sublime HQ opinion on this, but I would be hesitant to allow such a thing myself. Allowing a kitchen sink of UI options, IMO often leads to confusing interfaces, funky panel interactions, and complex implementations. Since the UI toolkit is 100% developed and maintained in-house, each feature added leads to more maintenance overhead and opportunities for edge-case bugs. That said, I’m not suggesting we have a perfect UI now, or that we won’t ever add anything.

2 Likes

#6

That’s why I am actually not proposing new future, but reuse and even simplification of existing ones. Split and tabbed flexible layout is already supported by ST for text views, so why not use them for output too, instead of “special” output view. I don’t see any benefit there to be honest, since both deal with plain text (not hypertext).

As for HTML output, this is just an idea to somehow be in par with TextMate. I don’t think anyone needs advanced HTML features, and current features are more than enough for producing nice error or diagnostic messages. But this would give also far more possibilities for plugin writers, eg. nicely rendered Python help side by side with Python code, LaTeX document TOC, and many many others.

0 Likes

#7

Hi, I found a solution to the floating build panel posted by Dharma Works on Youtube: https://www.youtube.com/watch?v=jB-Uzc6iHyI
It summarises down to:
Install package: BuildView
Create a secondary window: Alt-Shift-2
Build your script: Ctrl+B
Move it to the secondary window
Suppress default window pop-up: Add
“show-panel_on_build”: false,
to your settings file.

0 Likes