LINUX.ORG.RU

Сообщения geekless

 

Пофиксил в Firefox открытие внешней ссылки в указанном при запуске профиле

Форум — Talks

Коротко суть проблемы — никакое сочетание опций командной строки не позволяет добиться в Firefox следующего поведения:

  • Если указанный профиль еще не запущен, он запускается, и в нём открывается ссылка.
  • Если указанный профиль уже запущен, в нём открывается ссылка. Именно в указанном профиле, а не в первой попавшейся запущенной копии FF.

Я полагал, раз это не фиксят (и даже костылей никаких нет для обхода проблемы), значит там надо переворотить прилично кода, и проблема, возможно, лежит на уровне архитектуры одного из компонет. Оказалось — решение составляет пять срочек кода. Пять!

В общем, вот патч:

diff -r 89b5fccb0514 toolkit/xre/nsAppRunner.cpp
--- a/toolkit/xre/nsAppRunner.cpp	Thu Jul 14 12:20:34 2011 -0400
+++ b/toolkit/xre/nsAppRunner.cpp	Sat Jul 23 03:14:32 2011 +0700
@@ -461,6 +461,8 @@
       if (strimatch(aArg, arg)) {
         if (aRemArg)
           RemoveArg(curarg);
+        else
+          ++curarg;
         if (!aParam) {
           ar = ARG_FOUND;
           break;
@@ -1408,10 +1410,17 @@
   nsresult rv;
   ArgResult ar;
 
+  const char *profile = 0;
   nsCAutoString program(gAppData->name);
   ToLowerCase(program);
   const char *username = getenv("LOGNAME");
 
+  ar = CheckArg("p", PR_FALSE, &profile, PR_FALSE);
+  if (ar == ARG_BAD) {
+    PR_fprintf(PR_STDERR, "Error: argument -p requires a profile name\n");
+    return REMOTE_ARG_BAD;
+  }
+
   const char *temp = nsnull;
   ar = CheckArg("a", PR_TRUE, &temp);
   if (ar == ARG_BAD) {
@@ -1434,7 +1443,7 @@
  
   nsXPIDLCString response;
   PRBool success = PR_FALSE;
-  rv = client.SendCommandLine(program.get(), username, nsnull,
+  rv = client.SendCommandLine(program.get(), username, profile,
                               gArgc, gArgv, aDesktopStartupID,
                               getter_Copies(response), &success);
   // did the command fail?

Может я чего-то не учел, и есть какие-то технические причины, почему это не было сделано ранее? Хотя я не вижу ни одной причины. Похоже, просто не дописали код, и так его и бросили. Протестируйте, пожалуйста. И кто-нибудь, может быть, отправит это в апстрим? Я бы отправил, но у меня сейчас времени нет на общение с этими милыми ребятами, что там любят в комментариях к багрепортам писать, что багов нет, это фантастика.

Алсо, у меня в блоге чуть больше инфы и скриншот патченного браузера в качестве пруфпика. ;)

geekless
()

[php][история успеха][закопать]

Форум — Talks

Отлаживал тут один скрипт на php, наткнулся на эпичные грабли:

~$ php -r 'echo print_r(2732120973, true)."\n";'
2732120973
~$ # good
~$ php -r 'echo print_r(2732120973>0, true)."\n";'
1
~$ # fine
~$php -r 'echo print_r(2732120973 % 8, true)."\n";'
-3
~$ # FUUUUUUUU...

Они идиоты. Убейте их кто-нибудь. Пожалуйста.

 ,

geekless
()

PKGBUILD для LXPanel GlobalMenu

Форум — Talks

Запилил нормальные PKGBUILD-ы на библиотеку GlobalMenu и на апплет для lxpanel, не тащащие в зависимостях половину гнома.

Если кому нужны, налетай, торопись, пока горячее.

geekless
()

[разметка диска] Я идиот, посоветуйте мне что-нибудь

Форум — General

Не знаю, в какой конкретно тех.раздел это больше подходит, поэтому пусть будет в General.

Есть диск 500 ГБ с таблицей разделов формата msdos, размеченный следующим образом:

  • boot
  • Свободная область 1
  • extended
    • home
    • файлопомойка
    • archlinux
    • gentoo
    • ... еще штук пять разных систем
    • Свободная область 2

Т.к. первичных разделов возможно не больше 4, вся основная «жизнь» на диске протекает в extended области. Проблема возникла со свободной областью #1. Внезапно выяснилось, что она занимает аж 74 гига. (Да, я слоупок.) Даже и не помню, как так получилось, и под что я столько место оставлял.

Место, фактически, пропадает впустую, т.к. там можно создать только 2 раздела. Ок, один раздел я откушу, чтобы поставить *BSD — это будет как раз кстати, т.к. без геморроя его можно поставить только на первичный раздел. Но ему 10 гигов хватит за глаза. Вопрос в том, что делать с остальными 64-мя? Мне этот кусок такой здоровый целиком не нужен, а вот побить его на части было бы полезно.

Переразметить диск не могу, т.к. некуда слить бэкап.

Есть какой-нибудь не костыльный способ разбить место на первичном разделе на дополнительные подразделы? Ну то есть вариант «разметить ФС, создать там файлы произвольного размера и использовать их как образы для вложенных ФС» очевиден, однако это будет невероятной величины костыль. Другие идеи?

 

geekless
()

[макось][зонд] 20 баксов за воздух

Форум — Talks

Бродя по блогам, случайно наткнулся на ссылку вот на это.

Для Ъ: Некий комбайн для макоси, сочетающий в себе лаунчер с инстант поиском, менеджер хоткеев, некий недотайлинг окон, калькулятор (калькулятор, обязательно надо калькулятор! без калькулятора всё пропало, ничего не получится! а вот с калькулятором будет о-го-го, в лучших традициях комбайнероводства, комбайнеры всего мира уверенно одобряют) и что-то там еще. Стоит 20 баксов. В качестве «киллер фичи» присутствует... эээ... в общем, просто вслушайтесь в эту музыку: «Теперь системная кнопка Zoom действительно разворачивает окна. На весь экран».

А еще там есть отзывы. Они, конечно, написаны самими разрабами, но если всё же нет — то доставляют отдельно. Примеры творчества:

“I recently bought NuKit and am very happy with it. Of course it does a lot of nice things and I'm still learning all its features but so far, all is great!” (Еще б ты не был рад, отдав 20 баксов за нифига. Кто ж просто так признается, что идиот.)

“Speed is essential when working on multiple projects with various deadlines. NuKit allows us to be quicker on our macs, which is priceless”. (Человек-маковод открыл для себя хоткеи. Вся его жизнь перевернулась, а клавиатура вдруг предстала перед ним в новом свете: ОМГ, на ней есть кнопки!!)

“If you are looking for a fast simple utility that can handle many of your daily needs on your computer then you might consider this tiny but in the meantime great application”. (Tiny комбайн — чего только не встретишь на просторах Руси-матушки инернета.)

“I love your product. It is simple. Fast. Nice looking. And I've been looking for the combination of Launcher + Shortcuts for some time”. (В этом месте должно бы последовать логичное продолжение в виде гей-порно, но, к счастью, не последовало.)

Резюмируя: недоWM и лаунчер с хоткеями. Видимо, какой-то линуксойд случайно попользовавшись маком (я имею ввиду, тем, который с экраном; хотя не исключено, что и тем, который цветет на огороде бабы Мани) и увидев тамошний бардак, решил, что надо не щелкать клювом, а делать на этом деньги. На коленке слепил программу по образу и подобию утилит из гнома или кед, и вот он перед нами, результат — «a fast simple utility that can handle many of your daily needs». И еще она умеет «разворачивать окна на весь экран!!!1111слюнисоплимониторвговне». Нувыпонели.

Мужики, я что спросить-то хотел. Они там что, реально готовы за это платить? И платят? И радуются еще? И все эти люди живут на одной планете с нами — с ума сойти!

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

В общем, надо срочно брать руки в ноги и портировать туда очередную утилиту из кде, по 20 баксов с носа. Пока мы тут очередной срач вокруг вейландов устраиваем, там деньги бесплатно раздают. Вперед, товарищи, и да пребудет с нами капитализм.

 ,

geekless
()

[lorgoogle] Встраиваемый функциональный язык

Форум — Development

Разыскивается встраиваемый функциональный язык, пригодный для удобных вычислений на древовидных структурах данных.

Требования:

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

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

Пока присматриваюсь к универсальным ЯП: лиспам и Tcl, но хотелось бы найти что-то более заточенное под задачу, если оно существует в природе.

 

geekless
()

[готов для] Поставил я этот ваш Agilia...

Форум — Talks

Поставил я, значит, сегодня этот самый AgiliaLinux.

Если и существует графический установщик, не вызывающий желания открутить разработчику голову, то это он. Не думал, что когда-нибудь такое скажу, но так и есть — этот GUI определённо делали люди, которые пользуются земными компьютерами, а не пришельцы с Альфы Центавра. Респект разработчикам, очень удобно всё сделано.

Система, конечно, сырая до невозможности. Например, из коробки оснастка для управления pppoe ставится, а сам ppp — нет. (Кривые зависимости?) XFCE-шный терминал делает что-то ужасное, заставляя иксы сжирать до 80% CPU, пока он запущен. Решил проблему поставив православный urxvt. Установщик пакетов при ошибке чтения во время анализа репозитория молча закрывается, ничего не сообщая, что конкретно случилось. (Устанавливал с поцарапанной болванки.) «man: command not found» тоже порадовало. Ну и много прочих подобных багов по мелочи.

Но видно, что ребята стараются. Несколько вариантов рабочего окружения — кроме банальных GNOME и KDE, есть собственная сборка среднеминимального окружения на основе OpenBox и сильноминимального на основе Fluxbox, а также возможность поставить XFCE или LXDE — все эти варианты на одном установочном диске. Openbox-овый псевдоDE очень достойным получился, хотя и собран из кучи не связанных программ. Разумеется, минимальный вариант установки без иксов и прикладного ПО тоже предусмотрен.

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

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

geekless
()

Модифицированная lxpanel + апплет globalmenu

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

Как и говорил, доделал панель задач для lxpanel и делюсь результатом.

Список фич, по сравнению с оригинальной панелью задач:

Новые режимы. Оригинальная LXPanel Taskbar имеет два режима отображения окон: классический и группировка окон одного приложения одну кнопку с выпадающим списком. Данный форк добавляет еще два: группировка окон одного приложения рядом на панели, но без слияния в одну кнопку, и режим отображения только кнопки для активного окна. В режиме отображения активного окна обычное поведение левой кнопки мыши (свернуть/восстановить) теряет смысл, поэтому щелчок левой кнопкой мыши открывает теперь контекстное меню окна (аналогично правому).

Улучшение режима группировки. В режиме группировки окна, относящиеся к одному приложению, группируются, только когда таких окон несколько. Если приожение имеет едиснтвенное окно, оно остаётся на панели «как есть», без группы. Такое поведение может вызывать недобства в работе, т.к. не позволяет выработать автоматизм при взаимодействии с панелью: часть объектов панели при щелчке левой кнопкой мыши показывает выпадающее меню, а часть - выполняет переключение на другое окно. Чтобы улучшить ситуацию, была добавлена опция создания групп и для одиночных окон тоже: теперь любой объект панели задач ведет себя одинаковым, предсказуемым образом.

Возможность отключить отображение иконок окон. В LXPanel Taskbar присутствовала возможность отображать иконки с заголовками или только иконки. Этот патч добавляет возможность отображать только заголовки, без иконок.

Закрытие окон в один клик. Добавлена возможность отображать на панели кнопки закрытия окон. Это может быть удобно, например, если ваш оконный менеджер настроен не отображать заголовки окон.

Доступ к контектному меню настройки LXPanel. Поскольку панель задач перехватывает щелчок ПКМ, вызывать её настройки было раньше достаточно не удобно: необходимо щелкнуть по любому другому апплету, который отображает контестное меню панели по ПКМ, открыть общие натсройки панели, а затем оттуда открыть настройки апплета панели задач. Сейчас контекстное меню LXPanel отображается при щелчке ПКМ по панели задач, если при этом удерживать клавишу CTRL.

Внутренние доработки в «ядре» панели. В диалогах конфигурации апплетов добавлена возможность использовать выпадающие списки. В API icon-grid добавлена функция для позиционирования одного элемента после другого.

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

На скриншоте на панели видны следующие апплеты:

  • кнопка доступа в список установленных приложений,
  • панель задач для переключения между окнами, отображающая сгруппированные окна со всех рабочих столов,
  • апплет globalmenu, отображающий главное меню активного окна,
  • панель задач, играющая роль заголовка активного окна,
  • часы,
  • трей.

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

 ,

geekless
()

[ССЗБ] Какое же говно это наше GTK

Форум — Talks

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

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

Компоненты зачем-то разбиты на две группы - оконные и безоконные - между которыми, пролегает такая хорошая, качественная железобетонная стена. Можно даже побиться об неё головой. Вместо того, чтобы на уровне архитектуры дать возможность любому компоненту работать как в отдельном под-окне, так и в окне родителя, предлагаются танцы с бубном EventBox.

Средства для кустомизации компонент наследованием находятся в зачаточном состоянии, а для кустомизации тонкой настройкой в рантайме - и вовсе в противозачаточном. Часть компонент нуждается в разбиении на субкомпоненты, например, ужасный GtkNotebook. Часть компонент просто написана задней лапой. Исходники производят полное впечатление, что перед нами не универсальный тулкит, на котором работает чертова уйма гуёв, а всё тот же костыльный набор виджетов для GIMP-а.

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

 

geekless
()

Модифицированная LXPanel

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

На скрине пропатченная LXPanel, над которой я сейчас работаю. Решил немного доделать Taskbar для неё:

Во-первых, добавить режим «Отображать только кнопку активного окна». Мне все названия окон видеть не нужно, зато видеть полное название активного кона - желательно. А когда кнопок несколько, оно может не уместиться целиком на кнопку.

Во-вторых, добавить непосредственно на сами кнопки окон мелкие кнопки для закрытия окна (и возможно, для сворачивания-разворачивания). Получается довольно симпатично - в уже привычном всем стиле табов браузера/терминала/whatever.

Первая доработка тривиальна, с ней проблем не возникло. Результат можно увидеть здесь. А вот кнопки закрытия пока не работают. Дело в том, что плашка для окна рисуется при помощи GtkToggleButton. GtkToggleButton является контейнером, в него, например, можно добавить иконку и label. Но попытка добавить в него вложенную кнопку приводит к тому, что эта вложенная кнопка не работает. Пляски с Event Box и прочими костылями пока не помогли. Видимо, придётся переделывать весь таскбар, выкинув из него GtkToggleButton-ы полностью.

Так что если кто-нибудь знает, как можно малой кровью заставить работать кнопку-в-кнопке, пишите в комментах. Функция task_build_gui в файле src/plugins/taskbar.c (версия программы - 0.5.6) - это если у кого-то возникнет желание покопаться, копать можно оттуда.

В-третьих, режим отображения «только иконки, без подписей» у этой панели есть, а вот обратный надо будет сделать. Мне нужно видеть только название окна, а иконка не нужна. :)

Почему именно эту панель взял на опыты: простые и понятные исходники + низкие системные требования. При этом, уже довольно функциональна, надо только чуток допилить, и станет идеальна.

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

Также думаю покопаться в исходниках globalmenu на предмет, можно ли его оформить как плагин к LXPanel. Собственно, ради использования вместе с ним, этот патч и пишется. Будет одна удобная панель с меню активного окна, его заголовокм и кнопкой закрытия + трей.

P.S.

Пилю всё это на свежеустановленной Генте, т.к. решил окончательно мигрировать с Арча. Ну а это, в свою очередь, послужило толчком окончательно порвать с gnome и запилить раз и навсегда десктоп, удобный лично для меня и не зависящий от идиотизма гноморазрабов.

 , ,

geekless
()

Обзор графических просмотрщиков

Форум — Talks

По мотивам вот этого треда.

Сделал обзор графических просмотрщиков для GNU/Linux. Может быть, будет полезен кому-нибудь. ;)

Рассмотрены следующие программы: viewnior, eog, gpicview, ristretto, mirage, comix, feh, gqview, geeqie. Конечно, есть и другой софт для просмотра, модификации и каталогизации изображений, но невозможно объять необъятное.

geekless
()

[жж] Нормальные файловые менеджеры вообще существуют?

Форум — Talks

Встала задача разгрести довольно большую файлопомойку. Нужен файловый менеджер, умеющий следующее:
* инстант превью выделенного файла
* просмотр содержимого архивов in-place либо распаковка архива по хоткею
* помнит список последних N каталогов, куда производилось копирование/перемещение файлов и позволяет быстро скидывать туда
файлы (или хотя бы даёт возможность вручную сформировать такой список)
* показывает общий размер данных в каталоге (т.е. считает и кэширует du в фоне)
* не тормозит, т.к. если ждать по секунде на каждую смену каталога или превьюшки, можно файлопомойку месяц разгребать

Да, есть gui утилиты, где эти функции можно получить по отдельности. Но поскольку за 30 лет гуёвины так и не научились интегрироваться друг с другом хотя бы на уровне консольного пайп-конвейера, мне нужен инструмент, где всё это есть вместе.

Что имеем:
nautilus — тормозное убожество. Ничего из перечисленного не умеет.
pcmanfm — не сохраняет выделение на каталоге при возврате по истории на шаг назад, говно. Ничего из перечисленного не умеет.
xfe — вообще не пашет переход вперед/назад по истории, забагован. Дальше не смотрел.
gnome-commander — моргает панелями при каждой смене каталога, жалко глаза. Честно не осилил отыскать в нём превью выделенного файла на другой панели. Начал подозревать, что разработчики были вообще не в курсе, что это — одна из традиционных фич двухпанельника. Превью по F3 хоть формально и работает, но эта тварь опять мограет панелями, когда закрываешь окно просмотра.
dolphin — «Размер устанавливаемых файлов: 167,21 МБ». Да и без установки понятно, что оно будет тормозить, но всё же решил установить. И не ошибся — тормозит так, что nautilus обзавидуется.
krusader — еще один монстр, вытягивающий за собой половину kde. Ну вот нахрена файловому менеджеру звуковая подсистема и пакет иконок на 25 метров? MS-style пакетирования софта в действии. Тормозит еще сильнее dolphin, пользоваться невозможно.

Единственным хотя бы работоспособным (без явных багов и тормозов) ФМ оказался thunar. Но и в нём нужной функциональности нет.

Дальше я задолбался. Если это всё — мейнстримовые (ну кроме xfe) ФМ, то страшно представить каковы же остальные. Они же ничего не умеют (ну допустим, dolphin и krusader что-нибудь умеют — но тормозить зачем!). И ничем друг от друга не отличаются. Не понятно, зачем вообще разрабатывался этот софт, и о чем думали разработчики, потому что эти файловые менеджеры не пригодны для управления файлами. Забагованное велосипедостроительство. Я практически уверен, что никто из разработчиков этих велосипедов реально не пользуется своими поделиями — это не выглядит как софт сделанный для своих нужд, это выглядит как софт, сделанный на заказ по принципу «получи и отвали», а потом выложенный под свободной лицензией.

В итоге, самым удобным, функциональным и быстрым «файловым менеджером» оказался набор алиасов для bash.

Человечество обречено.

 

geekless
()

[lorgoogle] Продвинутые фичи эмулятора терминала

Форум — General

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

Про фичи urxvt-а в курсе — интересует, как у остальных обстоит с этим делом.

 

geekless
()

[gui][и всё-таки она вертится] FOX toolkit, adie

Форум — Talks

В продолжение треда. Наткнулся совершенно случайно на тулкит FOX и редактор adie. Ну то есть я про FOX и раньше слышал краем уха, но посмотреть не было повода.

Про его внутренности говорить не буду, так как не в курсе — просто несколько чисто внешних наблюдений:

* Диалог открытия файлов. Практически полностью скопирован из винды — хорошие идеи нужно нагло копировать, всё правильно. Довольно гибко настраиваемый режим просмотра, сортировка, простейшие файловые операции, букмарки. Не как кдешный, конечно, но и отнюдь не убогий by design gtk-шный file chooser, все фичи которого — это на самом деле задокументированные баги.

* Диалог выбора цвета. Выбор по цветовому кругу. Выбор по значениям RGB, HSV и CMY ползунками или вводом точных значений. Выбор по палитре стандартных цветов. Выбор/сохранение цветов в пользовательскую палитру из 24-х элементов. Возможность взять цвет «пипеткой» прямо с экрана. Единственное, чего не хватает — возможности ввести цвет в виде значения #RRGGBB.

* В диалоге выбора шрифта можно фильтровать список по character set, width, pitch и scalable.

Казалось бы, неужели так сложно в дизайне стандартных диалогов: не делать хуже, чем есть в уже существующих реализациях. Вот почему у разработчика FOX toolkit это получилось, а у всей толпы авторов gtk - нет?

Текстовый редактор adie - отдельная песня. Боковая панель с деревом файлов. Подсветка синтаксиса. Персистентные букмарки. Поиск с регэкспами. Куча мелких удобств вида «открыть выделенное», «вставить из файла/извлечь в файл», «goto (..», «goto ..)», «select (..)», запоминание позиции в файлах, «search and replace history is stored persistently» и т.п. Разумеется, почти всё это вроде как очевидно и должно быть в любом уважающем себя редакторе. Но почему, блджад, этого нет в редакторах «для простого пользователя»?!

Быстрый. Реально, зараза, быстрый gui. Между двумя окнами редактора переключение происходит мгновенно, я как ни старался, не смог обнаружить никакой задержки отрисовки. Всё остальное — открытие диалогов, реакция на ввод и т.п. — тоже реактивно. Глянул еще пару софтин на этом тулките, но у них отрисовка подтормаживает, не так сильно, как в приложениях на gtk, но подтормаживает. Возможно, кривовато написаны. А этот редактор - непосредственно от автора тулкита, показывает нам, что тулкит на самом деле реально быстрый.

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

Жручесть памяти пониженная (в редакторе открыто 2 окна, в одном из которых - html главной страницы ЛОРа) :

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
vadim    10448  1.5  1.3  33412 17844 pts/7    S+   19:36   1:08 adie
При том что на самом деле кучу места там просто сожрал libGLcore:
vadim@host3:~$ pmap -q 10448 | grep -v ':' | awk '$4 != "[" {print $2 " " $4}' | sort -rh | head -n5
11960K /usr/lib/libGLcore.so.173.14.30
3092K /usr/lib/libFOX-1.6.so.0.0.43
2048K /usr/lib/locale/locale-archive
1588K /usr/lib/libGLcore.so.173.14.30
1404K /lib/libc-2.13.so

После открытия 5-мегабайтного html стало так:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
vadim    10448  1.5  2.2  43988 28616 pts/7    S+   19:36   1:19 adie
Для сравнения: на этом же файле gedit и emacs отъедают больше сотни метров и наааачинааааюююют туууупииить.

Разумеется, есть мелкие баги. Т.к. и девелоперская, и пользователськая база у проекта маленькая, это понятно и простительно. Баги можно поправить, недореализованное - реализовать, были бы разработчики.

Что характерно, этот редактор обычно даже не упоминается в статьях типа «обзор 10-ти лучших редакторов для linux» и подобных.

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

 

geekless
()

[иксы][gui][вперде] Пора сваливать на другой глобус

Форум — Talks

Берем несколько (первых попавшихся под руку) приложений и смотрим на отзывчивость интерфейса.

xterm (с запущенным emacs)
Ресайз окна — мгновенно.
Обновление окна при таскании другого окна поверх него — мгновенно.
Реакция emacs-а на ввод символов — мгновенно.
Прокрутка текста в emacs-е — мгновенно.

lxterminal (с запущенным emacs)
Ресайз окна — с практически неощутимой задержкой.
Обновление окна — мгновенно.
Реакция emacs-а на ввод символов — мгновенно.
Прокрутка текста в emacs-е — мгновенно.

gnome-terminal (с запущенным emacs)
Ресайз окна — с едва заметной задержкой и морганием окна.
Обновление окна — чуток подлагивает.
Реакция emacs-а на ввод символов — мгновенно.
Прокрутка текста в emacs-е — мгновенно.

emacs (графическая морда)
Ресайз окна — сама морда мгновенно перерисовывается, но перерисовку буфера с текстом бывает заметно глазом.
Обновление окна — мгновенно, он отдельные куски морды моргают.
Реакция на ввод символов — мгновенно.
Прокрутка текста — мгновенно.

scite
Ресайз окна — видно, как рисуется окно.
Обновление окна — видно, как рисуется окно.
Реакция на ввод символов — мгновенно.
Прокрутка текста — сильно чувствуется задержка.

gedit
Ресайз окна — даже последнему слоупоку видно, как долго и упорно рисуется окно!
Обновление окна — аналогично, долго и упорно рисуется окно.
Реакция на ввод символов — падает пропорционально количеству строк ниже курсора, блджад!!! Вплоть до слайдшоу на крупных файлах. Не верю своим глазам. Вспоминаю, не курил ли чего накануне. Вроде бы нет.
Прокрутка текста — чувствуется задержка.

Так. Ладно. Запускаем xcompmgr и повторяем эксперимент. В тех случах, где слегка моргало — моргать перестаёт. Там где сильно моргало — композитинг помочь бессилен, только сильнее стало заметно лаги.


И после этого пусть анонимные аналитики продолжают рассказывать, как существующая архитектура иксов мешает достичь высокой производительности гуя на десктопе. Что, кто-то всерьез верит, что с переходом на вейланд или любой другой велосипед, разработчики тулкитов и приложений внезапно и резко научатся программировать? Они этот навык долго и последовательно выдавливали из себя на протяжении 15 лет, не надейтесь, такого не будет.

Отдельную благодарность выражаю разработчикам gedit (точнее gtksourceview; впрочем, это одни и те же люди), эти ребята сделали мой день.

 ,

geekless
()

[проприетарщина][nvidia]вперде

Форум — Talks

.

nvidia-173xx and nvidia-96xx removed from extra

The nvidia-173xx and nvidia-96xx driver packages have been removed from our repositories as they are incompatible with newer xorg servers. This can only be fixed by an upstream update, which has not happened yet.

For most video cards, the best alternative should be xf86-video-nouveau; see: https://wiki.archlinux.org/index.php/Nouveau

As lower-grade options, you might also consider xf86-video-nv and xf86-video-vesa: simply remove the old nvidia driver(s), install these, and the xorg server will automatically pick the best at startup.

 ,

geekless
()

[совсем не первоапрельское] Об истинных пользователях free software

Форум — Talks

Качественный вброс на тему различий истинных и ложных пользователей free software.

Для Ъ:

Представьте себе - живут в некоторой стране люди, производят всякие сельскохозяйственные продукты. Один яблоки выращивает, другой пшеницу, третий - овец разводит на мясо.

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

Недоеденные объедки еды выкидывают на помойку. Где этими объедками кормятся вороны.

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

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

А что людям невкусно - так это ж мелочи. Главное - вороны, они определяют судьбу.

К чему я это все? А именно так выглядит сегодня мир OpenSource. От разработчиков, которые что-то полезное делают и обмениваются этой пользой друг с другом постоянно требуют прогнуться под интересы «обычного пользователя». Волю которого толкуют специальные жрецы-авгуры.

Живьем того пользователя никто не видел, и почему именно его интересы должны быть приоритетны - неопнятно. Он не приносит сообществу никакой пользы. Не пишет кода, не шлет багрепортов. Только подбирает то, что сделано другими. Благо операция копирования бесплатна.

Но талантливые демагоги-авгуры уже добились того, что для людей, то есть для существ наделенных речью, и способных выразить свои мысли (на языке, понятном компьютеру) open source среды стали крайне неудобны.

Дискас.

geekless
()

graphviz-подобная тулза для рисования pie chart

Форум — Desktop

Требуется утилита для автоматического построения pie chart. Чтобы можно было скормить данные через параметры вызова или stdin и получить картинку с результатом.

Гугл не помог.

geekless
()

[HATE][история успеха][убивать] font-manager

Форум — Talks

Поставил я из интереса этот font-manager посмотреть, что за фигня такая. Запустил, потыкал, никаких настроек не применял, закрыл, удалил. А потом обнаружил вот это:

$ cat ~/.fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

<!--
    This file is maintained by Font Manager.

    If you wish to make any changes it is suggested you do so using

        /media/work/home/vadim/.config/font-manager/local.conf

    Any changes made to this file will be automatically relocated there
    at startup and any settings already in that file will be overwritten.
-->

    <include ignore_missing="yes">/media/work/home/vadim/.config/font-manager/conf.d</include>
    <include ignore_missing="yes">/media/work/home/vadim/.config/font-manager/directories.conf</include>
    <include ignore_missing="yes">/media/work/home/vadim/.config/font-manager/local.conf</include>
    <include ignore_missing="yes">/media/work/home/vadim/.config/font-manager/select.conf</include>

</fontconfig>

Быдлокодеры быдлопрограмм на быдлопитоне захватили все репозитории этого нашего линукса. Костыли, отслеживающие права доступа не по аккаунтам, а по запущенному ПО, становятся всё актуальнее.

И ладно: у меня есть бэкап конфигов — но сам факт!

 , ,

geekless
()

[консолемания][юзабилити] Допилил ~/.bashrc показывать имена команд в заголовке

Форум — Talks

Как я и писал в галерее, у меня bash настроен отображать выполняемые команды в заголовке окна, что дико удобно, когда открыто 100500 эмуляторов терминала, и надо найти нужный в alt+tab-списке.

Сегодня у меня дошли руки прикрутить туда же показ названий сигналов, если команда была убита сигналом. За одно привел в порядок быдлокод в ~/.bashrc и дописал комментарии, так что теперь не стыдно показать результат анонимусу.

В общем, кому нужно, забирайте. Для Ъ не будет, т.к. там простыня кода на полторы экранных страницы.

 

geekless
()

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