LINUX.ORG.RU

[pcmanfm] нескучные патчи

 


0

2

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

Ссылка раз: https://github.com/geekless/libfm
Ссылка два: https://github.com/geekless/pcmanfm

Интегрировано несколько патчей из апстримовского багтрекера и добавлено несколько моих собственных. Что сделано:

  • Исправлено несколько крашей, включая и свеженький краш в одном из последних коммитов pcman-а, делающий собранный из транка ФМ де факто неюзабельным.
  • Добавлены хоткеи для переключения режимов файловой панели.
  • Добавлены хоткеи для переключения режимов сортировки.
  • Добавлены хоткеи для увеличения/уменьшения размера иконок.
  • Добавлена поддержка внешних тумбнейлеров для некоторых типов файлов: video — ffmpegthumbnailer, pdf — pdftoppm, epub — unzip + bash + convert. Также этот патч добавляет возможность отключить ограничение макс.размера тумбнейлящихся файлов: если выставить соответствующий параметр в 0, ФМ будет строить тумбочки для файлов любого размера.
  • Убраны нелепые сообщения об ошибках при перетаскивании файла в его собственный каталог, при перетаскивании файла на самого себя, или при перетаскивании на не-каталог.
  • В статусбаре показывается полное имя выделенного файла (на случай, когда оно слишком длинное, чтобы целиком влезть на панель), а также общий размер выделенных файлов.

Где здесь конпка Like? :)

AX ★★★★★
()

Мдааа, и сплошное «нинужно» в комментах.
Успехов Вам, geekless! ведь на таких и держится community.

anonymous
()

А разве pcmanfm не форкали? Вроде бы недавно новость пролетала на эту тему.

anonymous
()

Впили ещё возможность изменять иконку у выбранной директории и будет вообще годно =]

neocrust ★★★★★
()
Ответ на: комментарий от rafister

И ЧАЯ ЕМУ!!11111 И ЗАДОНЕЙТИТЬ!!!1111111

anonymous
()

почему именно изменения на pcmanfm, а не spacefm? В том-то и дело, что pcmanfm покрылся мхом, а spacefm успешно развивается

doctorx ★★★★
()
Ответ на: комментарий от doctorx

потомушта чсв не позволяет влиться в существующий прожэкт. нужен свой с бл.дж. и шл.

anonymous
()
Ответ на: комментарий от anonymous

с добрым утром. наутилус и долфин как минимум.

Плохо то, что у них несовместимые реализации этого дела.

geekless ★★
() автор топика
Ответ на: комментарий от doctorx

почему именно изменения на pcmanfm, а не spacefm?

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

geekless ★★
() автор топика
Ответ на: комментарий от doctorx

Он даже нормальную русификацию не умеет. Интерфейс (лично мне) кажется непродуманным. У современного pcmanfm лучше.

rafister
()
Ответ на: комментарий от geekless

тебе какое дело? главное что эта фича там есть в отличие от убогих пкманфмов и тунаров.

anonymous
()

Продолжаем

Я тут еще немного пошаманил и:

  • Исправил краш при иконок перетаскивании с/на рабочий стол.
  • Иконки на десктопе стало можно нормально двигать «по чуть-чуть». Раньше нельзя было сдвинуть иконку, если её новое положение перекрывается со старым.
  • Исправил зависающую прокрутку в боковой панели.
  • Добавил вызов контекстного меню по shift+f10.
  • К режиму «компактный вид с прокруткой по горизонтали» добавил компактный вид с прокруткой по вертикали.
  • Можно включить показ дополнительной информации к именам файлов в компактном режиме. Т.е. раньше было «имя файла», теперь можно включить «имя файла + размер», «имя файла + время изменения» и «имя файла + тип файла». Также есть режим «Auto», где вид подписи автоматически выбирается в зависимости от режима сортировки. В проводнике семерки видели двустрочные надписи вида «надпись — дополнительная информация»? Вот это оно. :-D
  • Т.к. режим «Миниатюры» ничем, кроме размера иконок, не отличался от, собственно, режима иконок (миниатюры в обоих режимах всё равно показываются), то я переделал в нём алгоритм размещения иконок: теперь каждый файл занимает столько места, сколько надо под его миниатюру, а не помещается по фиксированной сетке.

Чтобы всё это взлетело, не забывайте, что пересобирать надо не только pcmanfm, но и libfm.

geekless ★★
() автор топика

Добавил кэширование миниатюр в памяти процесса.

Если использовать максимальный размер миниатюр (256x256), потребление памяти может доходить до 150-180 МБ (кэширует до 1000 миниатюр). Это нормально. :-D

geekless ★★
() автор топика
Ответ на: комментарий от geekless

Чувак! Все равно ведь пишешь патчи к libfm и форк lxpanelки. Возьми под крыло и то и другое, чего форкать! Вот оригинальную панель забросили и начали пилить lxpanel2 на gtk3. Но гтк3 это кошмар! Файлманагер я смотрю хотят туда же двинуть. Я в унынии. Багов накопилось, сам pcmanfm из git падает как сцуко (правая кнопка мыши или клик левой на промежуток над адресной строкой).

Луччеб ты договорился с pcman-ом, и в официальных репах пилил lxpanel и pcmanfm на гтк2, и пусть эти долбодятлы дальше с гтк3 экспериментируют, пока оно, гтк3, не придет в божеский вид. И пока нормальных движков/артворка не напишут. А патчи на собственно libfm так и просяцо в апстрим! Зы. Спасибо за твою работу. Ззы. Кстати после того как поприходили апдейты всяких глибсов и т.п. перестала собираться как оригинальная lxpanel так и твоя. a Происходит такая фигня:

/usr/bin/ld: misc.o: undefined reference to symbol 'g_module_symbol' /usr/bin/ld: note: 'g_module_symbol' is defined in DSO /usr/lib/libgmodule-2.0.so.0 so try adding it to the linker command line /usr/lib/libgmodule-2.0.so.0: could not read symbols: Invalid operation

anonymous
()
Ответ на: комментарий от anonymous

Мне буквально вчера дали права коммита в git pcmanfm-а. Вычистим баги, сделаем релиз 1.0.

Жду пока pcman занимается переносом моих патчей. Он вроде этим щас и занимается уже 2-й день, но что-то коммитов нихрена не видно еще. Если за следующие пару дней не нарисуются, буду сам переносить.

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

Насчёт бага сборки, какие версии glib2 и gkt2 юзаются?

geekless ★★
() автор топика
Ответ на: комментарий от geekless

Name : gtk2 Version : 2.24.10-3

Name : glib2 Version : 2.32.0-1

Как не трудно догадаться, это арч. :]

Собственно, другой софт собирается нормально (либфм и pcmanfm пересобирал недавно).

anonymous
()
Ответ на: комментарий от anonymous

Вру! transmission-gtk2 если собирать без установленного в системе miniupnpc, пытается заюзаться встроенная реализация либы в трансмиссии. Не собирается. Не знаю, может чем поможет эта инфа.

anonymous
()
Ответ на: комментарий от anonymous

Возьми под крыло и то и другое, чего форкать!

А ведь дельный совет. :)

AnimusPEXUS
()
Ответ на: комментарий от anonymous

Что-то не воспроизводится твоя ошибка.

$ pacman -Q gtk2 glib2
gtk2 2.24.10-3
glib2 2.30.2-2

$ ./autogen.sh && ./configure --prefix=${HOME}/builds/lxpanel && make clean && make && make install

Компилируется без проблем.

geekless ★★
() автор топика
Ответ на: комментарий от anonymous
$ pacman -Q glib2
glib2 2.32.0-1

Пофиксил одну ошибку инклуда. Ошибок линковки нет всё равно, с этой версией.

geekless ★★
() автор топика
Ответ на: комментарий от anonymous

Вот в очередной раз глиб2 обновился, а толку нет.
Если lxpanelx, то выхлоп такой:

/usr/bin/ld: libfm.o: undefined reference to symbol 'g_module_symbol'
/usr/bin/ld: note: 'g_module_symbol' is defined in DSO /usr/lib/libgmodule-2.0.so.0 so try adding it to the linker command line
/usr/lib/libgmodule-2.0.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status

А если обычная, то:

/usr/bin/ld: lxpanel-plugin.o: undefined reference to symbol 'g_module_symbol'
/usr/bin/ld: note: 'g_module_symbol' is defined in DSO /usr/lib/libgmodule-2.0.so.0 so try adding it to the linker command line
/usr/lib/libgmodule-2.0.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status

Либфм юзаю стоковый из git. В ауре чото камментов не видно, неужто у всех собирается и только у меня косяк какой-то..

anonymous
()
Ответ на: комментарий от anonymous

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

https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=p...

Так действительно собирается. Так что надо фиксить саму lxpanel и кстати lxpanelx с такой же фигней.

Алсо, гиклес, были обещаны панчи в git либфм и псманфм. Ждемс..

anonymous
()
Ответ на: комментарий от geekless

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

ты так говоришь, как будто это плохо :)

waker ★★★★★
()
Ответ на: комментарий от anonymous

преведеги

Снова я. Гиклесс, ты забухал штоле? :) Энивей, ни оригинальные ни твои форки нынче не собираются с новым automake (1.12). «You must have automake > 1.10 or 1.11 installed to compile lxpanel». Такая вот пичалька.

anonymous
()
Ответ на: преведеги от anonymous

Недавно узнал о существовании оного pcmanfm, пробовал компилять - валится при сборке libfm. automake 1.11. Буду дома, выложу лог ошибки.

anonymous
()
12 июля 2012 г.

Пофикшено:

Разрешил в скрипте сборку lxpanelx с automake 1.12, в самих сборочных скриптах правок не потребовалось. Добавил gmodule-2.0 в зависимости. (Хз, почему это раньше не воспроизводилось на идентичной системе.)

libfm и pcmanfm принудительно используют automake 1.11. С automake 1.12 не собираются ни мои версии, ни аптсримовские, ждём фиксов в апстриме. Свои PKGBUILD-ы в AUR-е я поправил.

geekless ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.