Glyphs — ♠Ω♫€Λ↔☼۞▼↑۩←®⅜±μπ®

Glyphs Небольшое расширение, с помощью которого можно вставлять в текстовые блоки символы, не попавшие на клавиатуру. Практически аналог Character Map для Windows, но удобнее: для вставки достаточно нажать на символ.

Ссылка на расширение на chrome.google.com/extensions

Скриншот и принцип работы


Glyphs

Принцип работы очень прост. При загрузке страницы Content Script обходит все элементы input.text и textarea и ставит обработчик на onfocus. При фокусировке элемент сохраняется в глобальной переменной.

var currentElement;

var el = document.all;
for(var i=0;i<el.length;i++){
  if(el[i].type == "text" || el[i].type== "textarea")
    el[i].onfocus=function(){
      currentElement=this;
      }
  }


* This source code was highlighted with Source Code Highlighter.


В то же время при щелчке по символу из Browser Action передается сообщение в Content Script с выбранным символом:

function sendGlyph(glyph){
  chrome.windows.getCurrent(function (window){
    chrome.tabs.getSelected(window.id, function(tab)
      {
      var myPort = chrome.tabs.connect(tab.id);
      myPort.postMessage(glyph);
      });
    });
}

* This source code was highlighted with Source Code Highlighter.


Скрипт сообщение получает и вставляет символ в последний выбранный текстовый элемент:

chrome.extension.onConnect.addListener(function(port) {
  port.onMessage.addListener(function(glyph) {
      insertAtCursor(currentElement,glyph);
  });
});


* This source code was highlighted with Source Code Highlighter.


Критика и пожелания приветствуются. Если нужны еще какие-то символы – пишите. Планируется сделать список недавно вставленных символов.

Ссылка на расширение на chrome.google.com/extensions

UPD (1.2): Теперь можно самому задать символы в настройках расширения. Исправлена ошибка при которой каретка ставилась в конец строки.

UPD (1.2.1): Теперь можно задавать несколько символов в шаблоне: :-). Если после предыдущего обновления у вас появилось куча NaN'ов вместо символов, то скопируйте символы из этого файла в настройки.

UPD (1.3): Появилась кнопка Restore. Теперь можно задать HTML-код символа, который будет вставлен при зажатом Ctrl. Мелкие баги в скрипте.
+30
6 декабря 2009, 14:18
18
3fonov 74,6

комментарии (56)

НЛО прилетело и опубликовало эту надпись здесь
+1
ayurganov #
мне иконка очень понравилась. установил почти что ради неё только
–1
nikita2206 #
в стиле adobe)
+2
arinoki #
а я ещё с утра поставил, потому что этот сайт расширений в rss висит ^_^ довольно удобное, спасибо :)
0
wirklich #
да, отличный сайт, я тоже заэрэсэсен на него
–1
shock_one #
А есть такое же, но для firefox'а?
–35
wirklich #
а что такое файерфокс?

кстати, я слышал, есть какая-то опера, но я не люблю, когда громко поют
0
wirklich #
кто меня проминусовал — пидарасы

/вы же об этом знаете, только стесняетесь признаться/

ну давайте, вскрывайтесь ещё, покажите себя!
+1
prool #
кащенизм какой-то
+2
Pantofobos #
0
Dragonizer #
Интеграла там нет.: Р
0
as3k #
У меня одного копирует-вставляет «undefined»?
0
3fonov #
Я с таким не встречался. А где вы пробуете вставить? Какая ОС, версия Хрома?
+1
SpiritOfVox #
Хотелось бы увидеть остальные стрелки: ↵ ⇐ ⇑ ⇒ ⇓ ⇔ и возможность вставлять не только символы, но и их html синонимы — www.intuitive.com/coolweb/entities.html
+1
3fonov #
Хорошо, добавлю. Про синонимы думал, но пока не нашел нормального решения.
0
SpiritOfVox #
Может с какой нибудь клавишей? Скажем зажимаю shift и под символами появляются их синонимы, при клике — вставляются в поле.
0
3fonov #
Можно и так. Попробую что-нибудь смастерить. А ваших стрелочек я пока не нашел :-)
0
SpiritOfVox #
Секретный пароль: «Arrows» на странице www.intuitive.com/coolweb/entities.html ;)
0
3fonov #
Добавил больше символов, плюс вставка HTML-кодов при зажатом Ctrl. Обновитесь в гугловском репозитории, пожалуйста.
0
SpiritOfVox #
Здорово
0
slik #
Знаете… У меня хром вперые за несколько месяцев использования вылетел изза этого расширения… Перезапустил — нажал кнопочку, снова вылет… Мм… Google Chrome 4.0.249.22 (linux)
0
3fonov #
А дебаггера на линуксе нету пока? Посмотреть что происходит?
Вроде я ничего сверхъестественного не делаю.
+3
FeelBetter #
©πα©μδΘ
+5
akira #

Парсер делает смайлы несчастными. ☺
0
ekzoman #
смайлы негры(не расизм)
0
ArchIT #
отличное дополнение, но мне скоро уже понабодится дополнение которое будет группировать или прятать до востребования сами дополнения ☺ (… или может такое уже есть?)
+1
3fonov #
Пока не встречал, но проблема актуальна. ☺
0
Guria #
ну их можно задисейблить на странице chrome:extensions, а сортировку/группировку насколько я знаю должны будут реализовать в браузере позже
+4
Rand0M #
Девочки вконтактика довольны вас! Теперь писать сердечки и рожицы на много проще!!!!1
0
ArcKain #
ага, теперь нужно дополнение вставляющее смайлы ))
+1
t0rnad0 #
Спасибо.

Правда люди, которым это нужно в работе (дизайнеры обычно) всё равно давно уж заучили всевозможные alt+0169 и прочие alt+0171. :)

Но расширение весьма упростит жизнь.
–3
vasfed #
А те, кто не заучили, сели на mac и пользуются типографскими/кастомными раскладками клавы — насколько знаю, это одна из причин такой популярности яблок среди дизайнеров.
Наиболее часто встречающиеся знаки™ там вообще по дефолту есть в раскладке©
+1
guessss_who #
Но типографские/кастомные раскладки — не прерогатива маков. :)
–3
vasfed #
Разумеется, просто там они поддерживаются самой системой безо всяких дополнительных софтин
+3
guessss_who #
Клёво. Но в Windows и в Linux точно та же фигня, представляете? :)
–2
vasfed #
Простите, отстал от форточной жизни :)
0
ArchIT #
Подскажите пожалуйста место откуда все эти сочетания alt+xxxx можно почерпнуть в полном объёме.
–1
Dragonizer #
Википедия говорит:
В разных местах Windows комбинации с Alt-ом работают по-разному, например, в блокноте Alt-937 даст «й» (в CP866 это символ с кодом 169=937 mod 256), Alt-0937 даст «©» (169 в Latin-1), а уже Alt-Plus-3a9 даст «Ω» из Юникода (3a916=937). В WordPad-е и Word-е по-любому будет «Ω». А в консоли сюрприз.
0
guessss_who #
Предпочитаю более кардинальные решения. :) Типа вот этого.
+1
3fonov #
Тоже пользуюсь раскладкой Бирмана, но все символы туда не впихнешь. Да и не зачем.
0
guessss_who #
Собственно… Всё, что действительно нужно для грамотной работы с текстом, вполне влезает на типографскую раскладку клавиатуры. А баловство типа ۞♠♫☼۩⅜ можно, в случае чего, достать из Character Map. :)
НЛО прилетело и опубликовало эту надпись здесь
0
dimap #
Это надо оочень долго делать… Но, думаю, вполне выполнимо
НЛО прилетело и опубликовало эту надпись здесь
+1
NSA #
Есть же Compose Key.
+1
ibnteo #
После вставки первого символа курсор устанавливается в конец текста (проверял на хабровском textarea). При установке в поле описания пишет абракадабру из непечатных символов.
Браузер Chromium 4.0.265.0 (Ubuntu build 33925)
0
3fonov #
Спасибо. Постараюсь исправить.
0
Dragonizer #
А вот такое все равно не наберете:
ИНd∃ਬ∃d∃∐
0
abreka #
<не реклама> copypastecharacter.com/ — пользуюсь давно; работает в любом браузере </не реклама>
0
3fonov #
Видел похожую идею, но там надо открывать новое окно, а потом еще и копировать-вставлять.
НЛО прилетело и опубликовало эту надпись здесь
0
vadbars #
А если нужно использовать «невидимые» символы? Типа «неразрывного пробела» или какой-нить «narrow non-breaking space».
0
3fonov #
Сейчас сделаю добавление произвольных символов. Если у вас будет еще что-то кроме пробелов, то их можно будет отличить.
0
std #
вот такая беда получается после установки:

В строке поиска гугля — то что вставляется после клика в районе «NaN(...)»

Vista + Chromium 4.0.266.0 (33944)
+1
3fonov #
Обновите, пожалуйста, расширение и в настройках замените текст на этот.

Извините за неудобства.
0
std #
Ничего, бывает ;)
Спасибы!

Еще там на страничке расширения ссылка получилась кривая: <httр://www.chromeextensions.org/utilities/glyphs/vtrifonov.livejournal.com>

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.