Sunday, October 23, 2011

Re: Disabling ultra-annoying "drag text with html markup from browsers"

On 10/23/2011 03:10 PM, Bram Moolenaar wrote:
>
> Andrei Avk wrote:
>
>>>> Hi, I asked about this (Disabling "drag text with html markup from
>>>> browsers") about a month ago and I finally got around to trying to find
>>>> a fix and was able to do this by recompiling Gvim with following lines
>>>> commented out:
>>>>
>>>>
>>>> static const GtkTargetEntry selection_targets[] =
>>>> /* {"text/html", 0, TARGET_HTML}, */
>>>>
>>>> static const GtkTargetEntry dnd_targets[] =
>>>> /* {"text/html", 0, TARGET_HTML}, */
>>>>
>>>> Hopefully if anyone else needs this they'll be able to find this
>>>> temporary fix.
>>>
>>> Have you tried removing "html" from the 'clipboard' option?
>>
>> I never had html in my 'clipboard' at all. I think 'clipboard'
>> does not affect drag-n-drop.
>>
>>>
>>>> However, it seems like a completely pointless and annoying feature..
>>>> possibly it would be better to disable html drops by default and have it
>>>> available as an option?
>>>
>>> This is a very useful feature if you are working on web pages.
>>> I have used it to copy syntax-highlighted code, the output from 2html,
>>> into a web page that is edited through a browser.
>>
>>
>> Fair enough, but I think a much more common case is when users drag
>> and drop text from browser, e.g. code samples or anything else, and
>> a typical webpage will have the text surrounded by a great amount
>> of unreadable markup that then has to be deleted.
>>
>> (This is on linux, by the way).
>
> I don't see this. Just a simple copy and paste only contains the text,
> no HTML.
>
> Ah, wait, with gvim and using drag& drop instead of copy& paste I can
> see it. I'm not sure why this happens, must have something to do with
> how GTK deals with the drop. In gui_gtk_set_dnd_targets() it does check
> the HTML flag in 'clipboard'... Ah, this should fix it:
>
>
> *** ../vim-7.3.346/src/gui_gtk_x11.c 2011-08-10 17:44:41.000000000 +0200
> --- src/gui_gtk_x11.c 2011-10-23 20:56:38.000000000 +0200
> ***************
> *** 3081,3087 ****
>
> for (i = 0; i< (int)N_DND_TARGETS; ++i)
> {
> ! if (!clip_html&& selection_targets[i].info == TARGET_HTML)
> n_targets--;
> else
> targets[j++] = dnd_targets[i];
> --- 3081,3087 ----
>
> for (i = 0; i< (int)N_DND_TARGETS; ++i)
> {
> ! if (!clip_html&& dnd_targets[i].info == TARGET_HTML)
> n_targets--;
> else
> targets[j++] = dnd_targets[i];
>
>


This does work! Thanks so much for your response and the fix,
and the truly great editor (I think vim is the most impressive
program I've used).

-ak

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: