Zuhaib Ali
Zuhaib Ali

Reputation: 3384

Sublime Text URL handler for ubuntu

How can I make sublime text 2 respond to txmt url scheme in ubuntu? This has been possible in OSX through subl-handler and in Windows through SublimeProtocol.

Upvotes: 10

Views: 1964

Answers (3)

Christopher Reeve
Christopher Reeve

Reputation: 26

I don't have the reputation to comment, but I would like to add to the accepted answer, that you'll need to also configure your browser to open txmt files with the new ~/bin/sublime-handler

I saved my handler in /usr/bin, which also works btw.

To configure Firefox:

  1. go to Edit > Preferences > Applications or enter the following into the URI field about:preferences#applications
  2. search for txmt
  3. on the txmt entry click on the action field and browse for your sublime-handler file

Upvotes: 0

mcaleaa
mcaleaa

Reputation: 577

Adding an answer, because I don't have enough reputation for a comment.

For Ubuntu 14.04, Sublime Text 3, the instructions above work. Thank you so much, @ByScripts!

In Step 3, replace:

sublime-text-2 $request # Launch ST2

with:

subl $request # Launch ST3

... and don't forget to add your own username in Step 1:

Exec=/home/<your_user>/bin/sublime-handler %u

Upvotes: 2

Byscripts
Byscripts

Reputation: 2588

I asked me the same question today, seeing the txmt protocol with "better_errors" gem for Rails.

I search a long time but found nothing, so I tried to make it by myself.

I write an article and my blog, but I copy it here, for "future-proofness" :

Step 1

Create the file /usr/share/applications/sublime-handler.desktop

[Desktop Entry]
Name=Sublime Text 2 URL Handler
GenericName=Text Editor
Comment=Handle URL Scheme txmt://
Exec=/home/<your_user>/bin/sublime-handler %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/txmt;
Icon=sublime-text-2
Categories=TextEditor;Development;Utility;
Name[en_US]=Sublime Text 2 URL Handler

Step 2: Update the MIME-types database

$ sudo update-desktop-database

Step 3: Create the ~/bin/sublime-handler file

#!/usr/bin/env bash

request=${1:23}               # Delete the first 23 characters
request=${request//%2F//}     # Replace %2F with /
request=${request/&line=/:}   # Replace &line= with :
request=${request/&column=/:} # Replace &column= with :
sublime-text-2 $request       # Launch ST2

Then make it executable : $ chmod +x ~/bin/sublime-handler

Step 4: Test a txmt:// file

If that dosen't work, say me, I'll try to help you.

Upvotes: 20

Related Questions