Поиском ничего не нашел

А зачем?

А причина вот тут:
BrowserOpenTab() // chrome://browser/content/browser.js
-> openUILinkIn() // chrome://browser/content/utilityOverlay.js
-> openLinkIn() // chrome://browser/content/utilityOverlay.js

Выделить код

Код:

function openLinkIn(url, where, params) {
  ...
  if (!loadInBackground && w.isBlankPageURL(url))
    w.focusAndSelectUrlBar();
}


В принципе, если очень хочется, можно в Custom Buttons или аналогичном расширении сделать вот так:

Выделить код

Код:

var focusAndSelectUrlBar = window.focusAndSelectUrlBar;
window.focusAndSelectUrlBar = function() {
    new Error().stack.indexOf("\nopenLinkIn@chrome://browser/content/utilityOverlay.js:")
        return true;
    return focusAndSelectUrlBar.apply(this, arguments);
};

Дело в том, что я использую выше упомянутый custom buttons. Некоторые его кнопки используют буфер обмена. Так же я использую Linux и почему-то кнопки используют мышиный буфер обмена вместо обычного. Поэтому имея в буфере текст для кнопки,  я открываю новую вкладку, фокус попадает в адресную строку выделяя текст (у  меня там bookmarkstab) и у меня в буфере уже не то, что мне нужно. Может это поведение можно изменить, я имею в виду использование кнопками custom buttons обычного буфера вместо мышиного как сейчас? Тогда вопрос в названии темы отпадет сам собой

KOT040188 пишет

Может это поведение можно изменить, я имею в виду использование кнопками custom buttons обычного буфера вместо мышиного как сейчас?

Можно.
Пример есть в chrome://browser/content/browser.js:

function readFromClipboard()
{
  var url;

  try {
    // Create transferable that will transfer the text.
    var trans = Components.classes["@mozilla.org/widget/transferable;1"]
                          .createInstance(Components.interfaces.nsITransferable);
    trans.init(getLoadContext());

    trans.addDataFlavor("text/unicode");

    // If available, use selection clipboard, otherwise global one
    if (Services.clipboard.supportsSelectionClipboard())
      Services.clipboard.getData(trans, Services.clipboard.kSelectionClipboard);
    else

      Services.clipboard.getData(trans, Services.clipboard.kGlobalClipboard);

    var data = {};
    var dataLen = {};
    trans.getTransferData("text/unicode", data, dataLen);

    if (data) {
      data = data.value.QueryInterface(Components.interfaces.nsISupportsString);
      url = data.data.substring(0, dataLen.value / 2);
    }
  } catch (ex) {
  }

  return url;
}

Видимо, в кнопках используется или эта функция, или аналогичная.

Как-то все сложно…Ничего не понял…

KOT040188 пишет

Как-то все сложно…Ничего не понял…

А что можно ответить простого, если какие-то кнопки используют мышиный буфер вместо обычного. Видимо, следует внести соответствующие изменения в эти какие-то кнопки.

Как мне кажется дело не в самих кнопках, а в Linux и расширении custom buttons, которое под Linux почему-то оперируют мышиным буфером. А может и в самом фоксе. Ведь кнопки используют то, что им дают: на винде обычный буфер(проверенно) , а в Linux почему-то мышиный.  Интересно было бы узнать у других пользователей Linux и расширения custom buttons,  как у них обстоят дела с буфером. И выявить природу этого явления

KOT040188 пишет

Ведь кнопки используют то, что им дают: на винде обычный буфер(проверенно)

в винде всего 1 буфер.

iDev.Pi пишет

в винде всего 1 буфер.

Да я в курсе,  КО.  Лучше ответьте на вопрос: почему кнопки в Linux используют мышиный буфер? Вот где загадка! Если бы мышиный буфер был жестко прописан в кнопках,  они бы не работали на винде.  Я так думаю…

about:config → middlemouse.paste=false

?

FireForce пишет

about:config → middlemouse.paste=false?

Не понял вопроса :o

middlemouse.paste (Логическое) – вставка текста из буфера обмена кликом средней кнопки мыши. Значения:
   TRUE – Разрешить
   FALSE - Запретить

Как это относится к данной теме? Лишь бы ляпнуть! :angry:

KOT040188 пишет

Как это относится к данной теме? Лишь бы ляпнуть!

Так вы же сами спрашивали:

KOT040188 пишет

Лучше ответьте на вопрос: почему кнопки в Linux используют мышиный буфер?

Вот я и задал вопрос в своем сообщении: перестанут ли кнопки в Linux использовать мышиный буфер, если отключить указанную настройку.

И это... Полегче!

FireForce пишет

about:config → middlemouse.paste=false?

FireForce пишет

Вот я и задал вопрос в своем сообщении: перестанут ли кнопки в Linux использовать мышиный буфер, если отключить указанную настройку.И это... Полегче!

Чувствуете разницу?! Так что давайте уж вы полегче! "Сейчас к людям надо помягче, а на вопросы смотреть ширше"
В какое значение ни ставь параметр middlemouse.paste, вопроса это не решает.

KOT040188 пишет

В какое значение ни ставь параметр middlemouse.paste, вопроса это не решает.

Вы путаетесь в вопросах. Мой ответ был на вопрос о мышином буфере в FF.

KOT040188 пишет
FireForce пишет

about:config → middlemouse.paste=false

Так что давайте уж вы полегче!

Сложно помогать человеку, который простое схематическое описание необходимых действий воспринимает как личное оскорбление. Может быть поэтому вам вот уже более полугода не удается найти решение этой пустяковой проблемы.

Не понял о каком оскорблении идет речь. Да и помощи как таковой не видно, один флуд.

09-03-2014 02:50:27

FireForce пишет

Вы путаетесь в вопросах. Мой ответ был на вопрос о мышином буфере в FF

Отнюдь, я ответил именно на тот вопрос, который бы задали. Как не меняй параметр, кнопки в [firefox] все равно используют мышиный буфер

09-03-2014 02:57:27

FireForce пишет

Может быть поэтому вам вот уже более полугода не удается найти решение этой пустяковой проблемы.

Интересно,  неужели только потому, что я неприятный в общении человек? А может потому, что пока никто не выдал конкретного решения?

KOT040188 пишет

ничего не нашел

KOT040188 пишет

Ничего не понял…

KOT040188 пишет

Не понял вопроса

KOT040188 пишет

Не понял

Ну как с вами работать! „Не понял“, „не нашел“... Для меня становится очевидным, что в данном случае дело вовсе не в

KOT040188 пишет

самих кнопках <...> в Linux <...> расширении custom buttons <...> в самом фоксе

а в вашем нежелании сотрудничать и стремлении в других искать причины собственных проблем.

Ну не хотите помогать - не надо. Я вам руки не заламываю. Если я написал, что ничего не нашел, значит я дурак.  Если я не понял вопроса, значит я тупой. Почему вы все время видите во мне неприятного человека? Возможно я простой пользователь и многого не понимаю и не нахожу именно по этой причине. Не допускали такую мысль? Вы все время хотите сделать из меня монстра.  Как говорится, вы Дартаньян, а все вокруг… Если у вас есть решение любого из двух вопросов, не будте жадными - поделитесь им. Если нету, не делайте из меня монстра.
З. Ы.  Возможно я немного груб в общении.  Извините настроения нету.  А откуда ему взяться, если ситуация с буфером уже достала, эту тему админ три раза удалял, а вы считаете меня монстром…

Короче, кнопки ведут себя исключительно так, как написано в их коде: nsIClipboard позволяет использовать буфер для выделенного текста, если он доступен.

Если хочется чего-то другого, кнопки следует отредактировать, например, заменив там код чтения буфера обмена на функцию из этого сообщения, зачеркнутое должно быть удалено.
За неимением конкретных кнопок подробностей не будет.

Infocatcher пишет

Короче, кнопки ведут себя исключительно так, как написано в их коде: nsIClipboard позволяет использовать буфер для выделенного текста, если он доступен.Если хочется чего-то другого, кнопки следует отредактировать, например, заменив там код чтения буфера обмена на функцию из этого сообщения, зачеркнутое должно быть удалено.За неимением конкретных кнопок подробностей не будет.

Спасибо, этот ответ мне вполне понятен. :) Попробую.
Вместе со вторым вопросом хотелось бы решить и первый. А то иногда мышиный буфер нужен не только для кнопок, а вообще. А он портится при открытии новой вкладки.  Решение вроде было во втором посте, но из-за моей неграмотности я его не совсем понял, извините… А может есть более простое и понятное?

okkamas_knife пишет

правильно делал ибо 1 есть специальный раздел и тема про СВ2

Извините, изначально тема была не про кнопки, а про выделение адреса ;)

Infocatcher пишет

вопросы надо задавать внятно и конкретно а не "У меня не работает!"

Извините, что не грамотно составил вопрос. Я еще только учусь…

Infocatcher пишет

тут нет ни телепатов ни гестапо чтоб вытягивать из вас клещами подробности.

Я всегда с радостью предоставляю подробности. Не надо насылать на меня гестапо :D

KOT040188 пишет

Вместе со вторым вопросом хотелось бы решить и первый. А то иногда мышиный буфер нужен не только для кнопок, а вообще. А он портится при открытии новой вкладки.  Решение вроде было во втором посте, но из-за моей неграмотности я его не совсем понял, извините…

Нужно поместить в инициализацию любой кнопки код из сделать вот так.

Еще можно изменить browser.newtab.url в about:config на нужный адрес и открывать его вот так:

Выделить код

Код:

var tab = gBrowser.addTab("chrome://browser/content/bookmarks/bookmarksPanel.xul");
tab.linkedBrowser.userTypedValue = "";
gBrowser.selectedTab = tab;
focusAndSelectUrlBar();

Infocatcher
Спасибо, так понятнее. Попробую оба способа :)
З.Ы. Жаль что в about:config нельзя отключить выделение адреса в новой вкладке. А между прочим ЕМНИП в старых версиях [firefox] адрес не выделялся.