Sublime Forum

New Style Tabs

#4

I’d be interested to see what comes out of this…

Other people have mentioned Intellipad, which ships with the Microsoft Oslo SDK, and that certainly has some nice visuals. It also uses WPF, which is very skinnable, from what I understand. I don’t suppose you’re writing on .net managed C++? I’m guessing not.

I think the visuals are a very distinctive aspect of sublime, and they’re the reason I’m using it rather than one of the more pedestrian editors. Y’know. Where the name is regex matches /(ultra)?(edit|text|note)(pad|mate|ed)(pro|plus)?/ and they are keen on their grey toolbars.

All this is a long-winded way to say; I have no artistic ability, but I like it pretty :wink:

0 Likes

#5

Hello,

I like the way the whole editor looks. A while back I wrote a post concerning the dependency of the editor on 3D acceleration which kind of amazed me. I know from your recent posts that this might be quite difficult to change without rewriting the UI, so I guess waiting for the evolution of VMs (VMware already supports 3D) can bypass the problem. Other than that I feel that the UI is very pretty the way it is and the dark colors help in not distracting me from the text that I am writing. If anything I would suggest to gradually make the UI easily skinnable so any artistic nature in the user base can modify it and maybe lure us into using their own version.

These were my two cents on the subject

Regards,

Nick Tzanos

0 Likes

#6

I like the way the tabs look now. But if you want to get rid of 3D look please do it like mockup1 from mvm.

I don’t like the buttons [X] (cross.png) and [V] (downarrow.png) very much because they are to big. Pleaase make [V] a little smaler, maybe as smal as the slider and make [X] optional. I never use [X], I use the context menu of the tab.

But more important than the elegant look of the editor is for me that it never chrashed since I use it. :smiley:

0 Likes

#7

For those that are concerned, I’m not planning on changing the look of the editor as a whole, just freshening up what’s there already.

re: themeing system: I’d like to see the theming system made more flexible, but there are other priorities I need to work on first. It won’t be happening soon.

also, the close button on the right is optional, you can remove it by editing Application.sublime-options, and setting showCloseButton to false.

0 Likes

#8

Ah, I didn’t notice the close button option.

And I reduced the size of the buttons in Default.sublime-theme using “size.tabMiniButtonSize 16”

0 Likes

#9

Take a look at Safari 4 on Windows, it seems like they copied (and improved?) your tabs :smile:.

[size=85](i would like sublime to have an safari-like color scheme black/grey/silver. that would look very slick)[/size]

0 Likes

#10

I love Sublime’s tabs! I can’t even imagine what could make it better.

I just can think of “sliding” effect when dragging (like Chrome). But that’s only eye-candy.

0 Likes

#11

In fact, with sublime orientation on keyboard rather on mouse, and when quick panel of opened buffers is available, tabs become less relevant. It’s like EMACS, ctrl-x ctrl-b - got buffer list, and no tabs are needed.

0 Likes

#12

mvm: agreed; I’ve got an item on my todo list to make the tab bar optional like the toolbar and statusbar are.

0 Likes

#13

There are some changes in 20090315 now: tabs have a slightly flatter look, and per-tab close buttons are now the default, rather than the single close button on this right hand side. The latter can be changed by editing Application.sublime-options.

Tabs are now optional too, with a separate setting for full-screen mode. Pressing Ctrl+Shift+O (bound to Select File) is a viable alternative to using the tabs to switch between files.

0 Likes

#14

I don’t get anything happening with the ‘distraction-free’ menu option; the normal full-screen works fine. If I’m in full-scren and hit S+F11, it returns me to the normal tab mode.

Also, I like the new tabs, and menu keypresses are improved – Either (alt, f) or (alt+f) didn’t work before for opening the file menu, and now they both do.

0 Likes

#15

That’ll be the ‘Extra Full Screen’ package interfering with it (it uses Shift+F11, and takes precedence), you’ll have to uninstall it manually.

0 Likes

#16

Really enjoying the extra polish, the new close buttons are much more discreet.

0 Likes

#17

Sorry, jon, I must be missing somthing; I can’t find anything in either of these folders;

C:\Program Files (x86)\Sublime Text\Pristine Packages
C:\Documents and Settings\Steve\Application Data\Sublime Text\Packages

Where should it be?

0 Likes

#18

Ctrl+Shift+O is very handy. I don’t need the Tabs anymore. Normally I have more files open than fit on the tab bar. So I could not see all the open files at once anyway.

If only the menu bar could look as nice as the rest . I’m using XP, am I missing something?

0 Likes

#19

Steve:

Assuming you have installed the Extra Full Screen package that was linked on a blog post,I would expect there to be an ‘Extra Full Screen’ directory under Application Data\Sublime Text\Packages, as well as an ‘Extra Full Screen.sublime-package’ file in Application Data\Sublime Text\Pristine Packages and Application Data\Sublime Text\Installed Packages.

If it’s not there, I’d be interested to know if the ‘Full Screen (Distraction Free)’ menu item works correctly when selected via the menu item, rather than via pressing Shift+F11

tgkuel: menu bar is always system default, yeah. It would look better if it was drawn in the same style as the rest of the application, I agree.

0 Likes

#20

Jon,
my Firefox uses the Aquatint Black Gloss theme and has a black menubar with white font. I assume they use a very different architecture than yours and it may take an enormous effort to realize it in sublime. But it shows the menubar has not to be system default.
This is not a problem to me - its just eye candy (but I love eye candies :wink: ).

0 Likes

#21

no, I’ve not installed that.

The menu item does the same, and is displayed with the shift+f11 keybinding.

0 Likes

#22

I’ve figured this one out; the distractionFree command in /Default/DistractionFree.py uses the drawcentred option to determine if distractionfree mode is currently running. Since I always run sublime in centred mode, the plugin always thinks I’ve got distractionfree mode on, and running the command attempts to turn it off again. Which exits fullscreen mode and puts all the furniture back.

The fix is to add in an extra property to distinguish distractionfree from not;

import sublime, sublimeplugin

class DistractionFreeCommand(sublimeplugin.TextCommand): def run(self, view, args): if not view.options().get('distractionfree'): view.options().set('distractionfree', True) ...] else: # Drop the explicit options previously set, letting the defaults # show through. view.options().erase('distractionfree') ...]

0 Likes

#23

Actually, a little better is to push and pop options, using an option backup system to save off old values. When you leave distractionfree, you pop off the most recent values for the old values.

import sublime, sublimeplugin

def pushOption(view, name, value):
    backupKey = "%s.backup" % name
    oldValue = view.options().get(name)
    print "saving %s=%s" % (backupKey, oldValue)
    view.options().set(backupKey, oldValue)
    view.options().set(name, value)
    
def popOption(view, name):
    backupKey = "%s.backup" % name
    oldValue = view.options().get(backupKey)
    print "restoring %s=%s" % (name, oldValue)
    view.options().set(name, oldValue)
    view.options().erase(backupKey)

class DistractionFreeCommand(sublimeplugin.TextCommand):
    
    def run(self, view, args):
        
        if not view.options().get('distractionfree'):
            view.options().set('distractionfree', True)
            
            pushOption(view, 'drawCentered', True)
            pushOption(view, 'lineNumbers', False)
            pushOption(view, 'highlightLine', False)
            pushOption(view, 'wrapWidth', 80)
            pushOption(view, 'wordWrap', True)
            pushOption(view, 'wantScrollBars', False)
            pushOption(view, 'rulers', '')

            window = view.window()
            if not window.isFullScreen():
                window.runCommand('toggleFullScreen')
                pass

        else:
            # Drop the explicit options previously set, letting the defaults
            # show through.
            view.options().erase('distractionfree')
            popOption(view, 'drawCentered')
            popOption(view, 'lineNumbers')
            popOption(view, 'highlightLine')
            popOption(view, 'wrapWidth')
            popOption(view, 'wordWrap')
            popOption(view, 'wantScrollBars')
            popOption(view, 'rulers')

            window = view.window()            
            if window.isFullScreen():
                window.runCommand('toggleFullScreen')
0 Likes