Sublime Forum

Interface Suggestions


Use HiDPI textures too

Importance: High
Description: Use @2x @3x assets for textures too.
Motivation: Currently, Sublime Text theme doesn’t use HiDPI assets for textures, that’s why they are blurry with dpi scaling greater than 1.0.



True Emacs-style buffer splits. What I mean by that is the ability to split a buffer and retain the set of open files on both sides of the split. Opening a file on one side opens it on the other (but doesn’t make it active). Closing a file on one side closes it on the other as well. Thus, unsplitting is simply removing a UI element, with no disambiguation of file sets or redundantly-open files to deal with. Origami isn’t a bad attempt to get some of this functionality in Sublime, but it falls short simply because Sublime itself doesn’t have a notion of files that are open in multiple splits simultaneously. The retaining, linked opening, and linked closing are critical features.

While Sublime’s split views as they stand are still useful, they could be enormously more useful if they worked in this significantly more standard fashion. (for context, Vim, jEdit and a number of other editors also use Emacs-style splitting)



Ability to specify the Sublime Text window size in the launch command

Importance: Major

It would be immensely useful if Sublime Text could have windows launched with specific sizes.

At the moment a new window can be launched using -n or --new-window and a specific project with --project <project>, as well as a variety of other command line options.

Adding something like --size <WidthxHeight> would be fantastic.

I use Sublime Text for almost all of my text editing and usually have a very large window open containing a programming project. Often I’ll open a new ST window to write some notes, a forum post, to edit a system config file, or even to write an email, and these windows will mostly be opened on a different desktop workspace to my programming project window. When the new window opens it is huge, the same size as my programming project’s window, so it always needs to be resized. This becomes a real chore when it has to be done frequently every day and I’d really appreciate the ability to create some system hotkeys to launch ST windows with a variety of sizes each appropriate to the task in hand. Of course the size command line option could be used with the --project option to load appropriate settings too; e.g. no minimap, ruler, or side bar for the forum posts window.

This feature would be easy to add since ST already stores, and then uses on launch, the size of the most recent window. The session file, Local/Session.sublime_session, contains new_window_width and new_window_height settings.

Usage Examples
subl --new-window --size 900x1050 --project '/path/to/Forum Post.sublime-project'
subl --new-window --size 750x500 --project '/path/to/Git Commit.sublime-project' --wait

Many thanks.



Custom window title format

Importance: Moderate

Description: A setting for a format string to determine the window title based on project name, current file, etc. Example:

window_title: "{project_name} - {file_name} - Sublime Text"

Motivation: Suppose I have two windows currently named “MyReasonablyLongFileName.js (trunk) - Sublime Text” and “MyReasonablyLongFileName.js (rc) - Sublime Text”; or, as my task bar calls them, “MyReasonably…” and “MyReasonably…”. I would like instead to see “trunk - MyReas…” and “rc - MyReason…”.

This could be combined with websash’s suggestion above to do something similar with tab names.



##Improve Window Joins

Currently, sublime requires a “tearing” motion to join windows. As seen below you can’t move in a straight direction without first “tearing” the tab off:


I think it would be best to make it work more like chrome as seen here:


(This is based off this post)



That would be an excellent improvement, diego.



I like the idea of a nice editor/resolver for keybindings. In the interest of getting some portion of that functionality sooner, here are some simple alternatives based on Atom’s behavior that could probably be implemented more quickly.

First, Atom has an option that allows the user to completely disable all the default keybindings that a particular package defines. It’s not super flexible since you have to recreate any keybindings that you actually do want in your config file, but could help here. Perhaps adding a ignored_package_keybindings setting that works similarly to the ignored_packages would work here as a stopgap.

Additionally, Atom can show a Keybinding Resolver panel. With a key combination (Super+. on OSX) you can open a window on the bottom that works somewhat similarly to the sublime.log_commands(True) console command. But what really makes it useful here is that any time you press a key combination, it will show all the matching rules for that key binding along with the various contexts, not just the one that it ended up using. This can make it somewhat easier to figure out what’s actually happening, as well as to debug your own context-dependent keybindings.



Side-by-Side Editor for Package Settings

Importance: Minor

I like the new side-by-side settings window that shows the commented default settings file in one pane and the user settings in another pane. It would be great to be able to get the same view when editing the settings for any package.

Caveat: I’m not sure if this request is actually possible to enable globally, since it appears to me that the menu items for each package’s settings are defined in the package itself.

1 Like


It’s already available. However developers of the custom packages should provide it manually. See this.

1 Like


Would like the ability to adjust the editor window top margin/padding so text is not up against the top bar.



I actually wrote a plugin to do just what you asked: Side-by-Side Settings

1 Like


Just tried it out. This is great, nice work!



We’ve implemented Emacs-style splitting in the Emacs Pro Essentials plugin. In order to get around the bug that Sublime asks you to save when you close a view, even if that same buffer is already open in another view, we do not delete views displaying modified buffers. Instead, we allow the duplicate view to existing in another pane until the user saves the changes, at which point all duplicate views (within a single pane) are removed.

You get a lot more than just that with this plugin though, so it might not be right for you.



I wanted this too, here’s what I did:

# -*- encoding: utf-8 -*-

import sublime_plugin

class SetSyntaxPythonCommand(sublime_plugin.TextCommand):

    def run(self, edit):
        self.view.settings().set('gutter', False)

It’s not a great solution because:

  • you have this background color that is different from the console’s (often)
  • each time you open a new window, you have to do it again.
  • you need to bind it to a shortcut, because you can’t access the console’s view from something else than a TextCommand when it’s focused.


I’m not sure if this discussion is worth writing something into, but I have a suggestion and I don’t know where else to post it.

It would be great if there was a support for panels with buttons. So, you can create your own panel with buttons and you can assign any action to button.

The perfect example would be REAPER, a digital audio workstation software. Actually, their approach to interface is state of art. With it you’re able to mimic any DAW out there (if you’re too used to interface of Cubase or ProTools or anything).

Would be great if Sublime had same abilities, but I understand it can require the entire rewrite to make it same good as REAPER. So, I don’t ask same flexibility. I just ask for a panel with buttons.

It could be a hardcoded single panel on the top, that would be enough for me. Would be great if there was an ability to put images on those buttons, but I don’t ask that. Ability to put a string name to a button would be enough as unicode symbols c an serve as icons.

Why I need this? There are certain commands in command palette that I use very often, but using them via command palette is not too comfortable. I.e. I often use git add all, git status, git commit writting them every time is annoying. Roaming through menus for same case is even more annoying. Having a button that I can just push would be a breeze.

I know my example could be not very good. But I imagine buttons panel can be a game changer in some cases.


1 Like


The ability to control font and font size per match in a color scheme. For some things like markdown or org files, being able to use a bigger or different font can go a long way to improve readability.



The ability to fold but control the fold indicator icon. (Or not have one) and exclude searching from the fold. (Like emacs narrowing)

For some tricks like exporting a section of a buffer or visualizing the summary of a big buffer of functions this can be a really powerful way to work.