Subject: Re: [sup-devel] keybinding to open link under cursor

From: Michael Stapelberg <[email-masked]>
Date: Wed, 01 Feb 2012 03:16:00 +0000

Hi Gabor,

Excerpts from Gabor Nyitrai's message of 2012-01-31 08:54:29 +0000:
> I tried to add a keybinding hook to open a link that is on the current
> line, but I got lost browsing the sup source... how do I this? I got this much:
Isn’t that a feature which should rather go into the terminal emulator? For
urxvt, there is the mark-and-yank script:
https://github.com/bartman/urxvt-scripts

Best regards,
Michael
_______________________________________________
Sup-devel mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel

---

From: Alvaro Herrera <[email-masked]>
Date: Tue, 31 Jan 2012 11:26:10 -0300

Excerpts from Gabor Nyitrai's message of mar ene 31 05:54:29 -0300 2012:
> Hello,

I'm interested, so if you make it work please post it.

How would you handle a link that's longer than the current line?  I
don't know anything about the buffer implementation, so it seems
possible a wrapped line appears just as two lines; other representations
(such as a logical line being composed of more than one physical line)
would make more sense, but I have no idea how to do that or whether it's
even possible.

-- 
Álvaro Herrera <[email-masked]>
_______________________________________________
Sup-devel mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel

---

From: Gabor Nyitrai <[email-masked]>
Date: Tue, 31 Jan 2012 08:54:29 +0000

Hello,

# keybindings.rb

modes['thread-view-mode'].keymap.add :open_link, "Open link on current line", "Y"

class Redwood::ThreadViewMode
    def open_link
        m = @message_lines[curpos] or return

        # get the link from the current line somehow
        #link =~ /http:\/\/[^ ]+/
        
        # testing, just to see some response
        BufferManager.flash "#{curpos}"

        # testing, write content to a file to see what we've got
        path = "/tmp/sup-temp.txt"
        File.open(path, 'w') { |io| io.write m.raw_message }

        # open a browser with the link as argument
        #spawn "chromium-browser", link, [:in, :out, :err] => "/dev/null"
    end
end

Thanks,
Gabor