LINUX.ORG.RU

Сообщения SoulThreads

 

Оконная мозаика

Галерея — Скриншоты

С год назад я уже показывал разные нестандартные способы переключения окошек. Но если одно из них очень просто заменяется связкой dmenu+wmctrl, то вот цветастую штуковину за пределами xmonad никто изобретать не собирался. А удобная же штуковина! Но ведь главный принцип опенсорса — если чего-то нужного тебе нет, просто сделай это сам, верно? Поэтому в свободное время были изучены некоторые доки по иксам, и началось пиление велосипеда, названного чуть позже xwinmosaic.

Итого: программа написана на чистом С + GTK+2, а для работы нужен только EWMH-совместимый оконный менеджер (почти любой, некоторых в том списке нет). Идея та же — для каждого класса окна назначается свой цвет, что позвволяет легче находить нужное окно в списке. Окна, использовавшиеся недавно, выстраиваются ближе к центру. Для работы достаточно повесить запуск xwinmosaic на какой-нибудь хоткей средствами WM.

Жизнь была простой и беззаботной, когда тестирование производилось лишь на своей машинке с kwin, openbox и xmonad, однако после показа сей приблуды ограниченному кругу людей было выловлено (и вылавливается) неограниченное количество багов, как-никак: Си (сегфолты), зоопарк WM (куча неработающих или работающих по-другому функций), своё собственное отсутствие опыта, наконец.

Тем не менее, за неделю программу удалось причесать, и теперь она умеет:


  • Собственно, переключение между окнами
  • Чтение списка элементов из stdin и вывод выбранного элемента в stdout (что позволяет реализовывать похожее на dmenu поведение или даже изменять существующие скрипты простой заменой вызова dmenu на xwinmosaic, только аргументы придётся поменять)
  • Emacs (C-n C-p C-f C-b) / vim (hjkl)-подобная навигация для любителей.
  • Более-менее приличный поиск по элементам (а также по классам окон), в чем-то похожий на тот, что в ido-mode (например, «ff» найдёт все окна Firefox) — активизируется сразу при наборе в стандартном режиме и по / в режиме vim
  • окно непрямоугольной формы (на заднем плане не скриншот экрана, как в xmonad, а сами окошки, в которые можно тыкать), хотя поведение со скриншотом тоже пришлось реализовывать, так как оказалось, что не все ещё WM могут обогнать в функциональности TWM и не реализуют корректное поведение с XShape.
  • Для режима переключения окон реализовано обновление имён и самого списка окон в реальном времени, показ номера десктопа, на котором находится окно, и даже их иконки (всего этого в оригинале не было)
  • Возможность появления центра мозаики под курсором мыши (что показано на первом скриншоте, получается весьма прикольно)
  • Попытка уместить все элементы на экране вместо примитивного выстраивания их ромбиком (из-за чего к иксмонадовскому GridSelect были большие претензии)
  • Куда более приятные цвета, благодаря использованию цветовой модели HSL.
  • Ну и ещё что-то, наверное забыл упомянуть.


Ради забавы было реализовано даже подобие dmenu_run — получается очень радостно и эпилептично (спасибо, Artificial_Thought!).

На скриншотах, собственно, можно наблюдать xwinmosaic в режиме переключения окон и в режиме переключения буферов емакса (невероятно удобно, между прочим) — спасибо за идею и оригинальный скрипт для dmenu товарищу lazyklimm!
Шрифты — PT Sans в интерфейсе, Consolas в емаксе, убунтопатчи; всё та же старая обоина с Ктулху (очень мотивирует), а больше там ничего и не видно, вроде.

Надеюсь, кому-нибудь оно приглянется, поэтому ссылки:
Github: https://github.com/soulthreads/xwinmosaic (не забывайте писать в issues в случае обнаружения багов)
Пакеты для дебиана/убунты: https://launchpad.net/~soulthreads/ archive/xwinmosaic/ (могут быть немного неактуальными)
Арч: https://aur.archlinux.org/packages.php?ID=59660
Gentoo: https://github.com/soulthreads/xwinmosaic/blob/master/contrib/gentoo/xwinmosa... (надо будет напроситься к кому-нибудь в оверлей)

Вот как-то так, надеюсь, вам не надоело чтение этих многобуков.

>>> Просмотр (1024x1200, 302 Kb)

 ,

SoulThreads ()

[oxygen-gtk] Теперь банановый

Форум — Talks

Кажется, многие (ну, из тех, кто пользуется, конечно) ждали, когда oxygen-gtk начнёт поддерживать gtk3. А вот, собственно, и оно: http://hugo-kde.blogspot.com/2012/01/oxygen-gtk3-10-is-out.html

Это, наверное, хорошо.

P.S. А мне вот лично интересно, когда этому научится (если научится) qtcurve, ибо излишняя выпуклость Oxygen несколько раздражает.

SoulThreads ()

XMonad и нетбучные переживания

Галерея — Скриншоты

В последнее время стал достаточно много времени проводить за нетбуком (Lenovo IdeaPad S9), в связи с чем приходится и самому в некоторой степени подстраиваться, и процесс работы переделывать, чтобы из этой железяки какую-то пользу извлечь.

Заодно приходится отворачиваться от тех товарищей-DE-клепателей, которые нынче как-то решили всячески ограничивать способность иметь много окошек (например, затруднением быстрого доступа к ним) и придумывают всякие странные концепции.

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

Для XMonad'а есть несколько интересных решений, я остановился на двух. Первое: XMonad.Actions.GridSelect. Выводит такую вот цветастую мозаику, по которой можно относительно быстро передвигаться, поддерживается мышекликание. Для каждого класса окна — свой цвет, поэтому при желании можно это запомнить и чуть быстрее ориентироваться. Но вот беда: в нём нет поиска (по крайней мере, пока нет). Что делать?

Оказывается, в xmonad-contrib есть такая интересная вещь, как XMonad.Prompt. Ей я, например, заменил dmenu (XMonad.Prompt.Shell) — как бонус получил возможность запускать программы с аргументами. Получил и возможность поиска по окнам — XMonad.Prompt.Window. Вылазит промпт снизу (так емаксерской душе приятнее), автодополнение и прочие штуковины, конечно же, поддерживаются.

Так и живём.

P.S. Debian Wheezy, третье ведро, emacs-snapshot из http://emacs.naquadah.org/
Везде на скриншоте используется шрифт Liberation Mono 9, сглаживание для ≤ 8pt отключено.

xmonad.hs + xmobarrc: https://gist.github.com/1134198

>>> Просмотр (1024x1200, 260 Kb)

 

SoulThreads ()

[screen] Положение строки статуса

Форум — General

При разворачивании окна терминала на весь экран происходит следующая ситуация: внизу остаются свободные пиксели, из-за чего строчка статуса в screen начинает «висеть» в воздухе и выглядит от этого не очень-то и красиво.

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

SoulThreads ()

[корпорация добра] Ваше мнение очень важно для нас

Форум — Talks

Вот вы говорите, что гугль добрый, на G+ вон кучами набегаете (если посмотреть на прикреплённую тему), а между тем, он на месте-то не сидит и аккаунты такими же кучами удаляет. Причины различны: от указания ненастоящего имени до отсутствия причины вообще. И ладно бы только на G+, но ведь и вместе со всем остальным удаляет, даже с почтой на гмейле!
http://www.zdnet.com/blog/violetblue/google-plus-deleting-accounts-en-masse-n...

А вот один товарищ пользовался всем гугловым: почта, календарь, документы, Reader, закладки и ещё тысяча различных сервисов; хранил там свою персональную информацию (ну дурак, конечно, но что поделаешь), а тут ему аккаунт и прикрыли. Разумеется, вместе со всеми тысячами сервисов. И разумеется, без объяснения причины. О дальнейших мытарствах героя можно прочитать здесь: http://www.twitlonger.com/show/bt2p2o (много букв, английский) Скажу лишь, что по пути до этой статьи ему пришлось встретить тонны закрытости и безразличия, ну и аккаунт так и не восстановили.

А теперь вопрос: доверяете ли вы гуглу? Если да, то зачем?

SoulThreads ()

[science][агро] Зарубежные проблемы получения пищевых ресурсов

Форум — Talks

…так вот, похоже, их нет. Почему, спросите вы? А вот, у некоторых товарищей наступил такой перебор картофеля в организме, что они уже начали изничтожать поля с этим самым картофелем. Притом, не просто картофелем, а генно-модифицированным (ну вы поняли, да?), над которым проводились эксперименты по выведению устойчивости к болезням и прочей гадости.
Активисты — вообще весёлые ребята. Движут науку всеми возможными способами.


Для неЪ: http://foodfreedom.wordpress.com/2011/05/29/belgian-protesters-destroy-gm-fie...

SoulThreads ()

[html → pdf] Есть ли такое?

Форум — General

Доброго времени суток, ЛОР.
Имеется кучка html-ек, собранных с помощью wget -m. Хотелось бы сконвертировать всё это добро в один pdf-файл, да так, чтобы гиперссылки (которые внутренние, да и внешние тоже) оставались рабочими, ну и ШГ получаемого файла было приемлемо.
Было опробовано wkhtmltopdf, но оно почему-то не хочет принимать на вход несколько файлов (то есть, пришлось ещё файлы склеивать с помощью gs потом), ну и текст там совсем нигде не кликабельный.
Так вот, существуют ли решения для такого дела?

SoulThreads ()

RSS подписка на новые темы