Sublime Forum

Interface Suggestions


Not on Windows at least - I right click and “Copy File Path” for a non active tab (only one tab group / single layout) and it copies the path of the active tab, not the tab I right clicked on.
Ah, but some actions seem to work, like “Close Tabs to the Right”…

EDIT: nevermind, I worked out how it works: "Reveal in tree view" on tab bar
I will delete this request :smiley:



Importance: major.

In my opinion, keybindings are currently very broken, mostly because package maintainers cannot be trusted not to hijack the default keybindings. Sometimes this is because they don’t use that functionality, sometimes it is because they don’t use that platform. Examples off the top of my head (maybe OS X specific):

  • TextPastry hijacks super+alt+b, which should show the build output panel

  • SublimeManpage hijacks super+alt+w, which should toggle “select word” in the find panel

  • PlainTasks hijacks alt+enter, which should insert a newline after the current line

Many (most?) packages hijack some kind of keybinding. Currently, if is difficult to solve these annoyances:

  • It is very difficult to identify which package has hijacked the keybinding

  • There is no centralised place to look to see what a key is bound to

  • You have to find out what the original keybinding was in order to “override” it back to its default. In example 2 above, this is a complicated context-dependent keybinding. Maybe you just want to reinstate the functionality for the find dialog but leave the package binding elsewhere. It can be hard to figure out what is needed.

Personally (though I think this will be unpopular) I think this is the perfect case for a specialised GUI interface. It could be as simple as a searchable table with the following columns:

Keybinding           Context           Command                 Set by                           Reset to default

super+alt+b          everywhere        what_ever               TextPastry                       [button]
alt+enter            everywhere        mark_completed          PlainTasks                       [button]
super+alt+w          everywhere        search_something        SublimeManpage                   [button]
super+alt+w          find_panel        toggle_word             Default                          [button]
ctrl+alt+super+c     everywhere        copy_basename_and_line  User                             [button]
super+shift+n        everywhere        new_window              Default (OS X).sublime-keymap    [button]
super+shift+x        output_panel      misc_command            SomeRandomFile.sublime-keymap    [button]
  • Clicking on a filename could open that filename to be edited.
  • Clicking on keybinding could directly edit the keybinding, by adding it to the User’s keybindings and marking this change in the table.
  • The “reset to default” button would either remove the keybinding from a file, or add an override back to default to the User’s keybindings file, depending on where it is set.

I think something like this would make the keybinding system so much more easy to use.



Importance: Minor

I’m late to the party, and I don’t know if this counts, but I’d love a fix for this issue.

1 Like





Show lines between parent and child nodes in the sidebar treeview of project files.

can make it optional via a preference picked up in a theme


split this topic #83

4 posts were split to a new topic: Package Control Focus Stealing


Package Control Focus Stealing

minihtml 2.0

minihtml in a view

We already have special views, called sheets I guess, to render images. Maybe those can be merged with minihtml views since minihtml can render images and more. They can be used for changelogs and lots of readonly views used by different packages.

minihtml docked to the left/right/bottom of a view

It could be used to render support information, git status, documentation, second sidebar, etc.
The docked view could be either scrollable with the view or have it’s own separate scrollbar.

minihtml popup positioned based on view/window/screen

Right now we can only show a popup at a text point on the view, but it would be helpful to be able to render a popup notification on the top right or bottom right of the view or window or sometimes even the corner of the screen.



Icon shortcut bar based in the scope

Importance: Minor
Description: Icon bar based in the scope of the open file, it will trigger a command same as a normal shortcut do. The icon could be a PNG. As the rest of the bars, it could be hidded.

If you work with a couple of programming languages, could be hard to remember each shortcut. If you work with embedded languages, means sometimes you have not the two hands on your keyboard, so sometimes it’s easy to work only with the mouse.



I’d love the ability to set the tab color, or even just the text, to visually group related tabs together.

Sometimes you open 3 tabs for the current task, then you have an urgent job and open 2 more, then while you’re waiting on someone you start another job and open 4 more.


1 Like


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