Скрипт на Perl в допомогу HTML-верстальнику
Привіт! Я веб-розробник, і при верстці того чи іншого HTML-шаблону постійно доводиться перевіряти піксельні відстані, співвідношення, кути тощо. непотрібні дрібниці. Зрозуміло, є всілякі dev-тулзи, екранні лупи, скріншоти з графічним редактором, нарешті, прости Господи. Але це все не те. І тут мені прийшла в голову ідея. На що нам композитні менеджери і мишка? Чому б не міряти прямо поверх сторінки браузера? Заковика була лише в тому, що крім Perl, JavaScript, та інших псп і башт я толком ніяких мов не знаю. Але я наполегливий. В результаті я-таки написав щось.
Вийшла дуже кумедна звірка, про яку і пишу тут, теша себе надією, що комусь може знадобиться. Хоча... Через, викладену вище, вийшла звіряча своєрідною: Linux, GTK + 2, Perl (з додатками GTK2-Perl, Perl YAML, Perl Math::Round).
Отже, ідея була ось у чому. Запускаємо скрипт (я для зручності повісив його на хоткей), відкривається GTK-шне вікно у фулскріні з прозорим фоном. Все. Далі за допомогою Cairo, Perl і чиєїсь бабусі поверх поточної живої відмальовки екрана виводяться лінії курсора (горизонтальна і вертикальна - перехрестя на весь екран). За допомогою миші та клавіатури можна виділяти різні області екрана. При цьому відображається прямокутник виділення, діагональ, числові значення (ширина, висота, початкові та кінцеві координати, кут), допоміжні напрямні (центрові, золотий переріз тощо; все це вмикається або вимикається і налаштовується в налаштуванні). Потрібен увімкнений композитний режим виводу.
У процесі виділення є можливість робити скріншоти виділеного до буфера обміну даними і/або файла на диску, зберігати в буфері обміну поточні числові значення виділення, перемикатися в режим виділення з центру, обмежувати виділення якимось із зазначених співвідношень сторін (можна налаштовувати їх і додавати нові в конфізі), змінювати кольори різних ліній за списком колірних схем (налаштовуються в тому ж конфігу; взагалі, там майже все налаштовується, так що далі постараюся не обговорюватися) та ін.
Ви можете зберігати поточні виділення. Тобто, натиснув кнопочку, виділення залишається на екрані - можна робити нове. Крім того, можна ставити напрямні - поки тільки горизонтальні і вертикальні (з можливістю прилипання до них при виділенні, природно). Напрямні, ясень пінь, теж зберігаються.
Взагалі, існує як би три основних шари: поточного вибору, збережених виділень і збережених напрямних. Між шарами збережених виділень і напрямних можна перемикатися, вибирати будь-яке збережене виділення або напрямну, перетягувати, видаляти... Остапа понесло, і він почав описувати майже векторний редактор, тільки без фігур і на прозорому тлі програми. Власне, в цьому і суть скрипту + корисні циферки вимірювань перед очима.
Для зручності скріншотів я реалізував «маскування» виділення (поточного або вибраного збереженого), коли затінюється все, крім виділеного. Прозорість затінення керується тією ж мишкою із затиснутим альтом.
Загалом, функціоналу нарасло вже досить багато, і зараз ловлю себе на думці, що безсистемно, сумбурно і без подробиць починаю переписувати вже власноруч написаний мануал. Скрипт опенсорсний, GPL v3, так що це не реклама, і пишу про нього сюди з двома цілями: поділитися зі світом, і отримати за можливості конструктивну критику з метою його поліпшення.
Детальніше можна почитати в мануалі на моєму сайті.
Взагалі, скрипт входить до складу задуманого пакету утиліток, яких накопичилося вже пристойно, але для цього поста завів окремий репозитарій на гітхабі.
Буду радий коментарям, пропозиціям і критиці.












