Здравствуй, ЛОР. Не только лишь все знают, что devzero - это на самом деле geekless. Как некоторые из вас помнят, был у меня полуживой проект DE на gtk2.
Планы и желание писать код-то по-прежнему есть, а времени - нет. Ну в общем, посмотрим, как оно пойдёт.
Гитхаб: https://github.com/sde-gui
Что есть сейчас:
Приложения:
- stuurman - файловый менеджер
- stuurman-desktop - менеджер иконок и фона рабочего стола
- waterline - фреймворк апплетов рабочего стола
- spicview - средство просмотра изображений
- rainbow-cm - менеджер буфера обмена
Библиотеки:
- libsde-utils - унифицированные средства резолвинга путей к ресурсам и файлам конфигурации; средства ведения отладочного лога; некоторые вспомогательные функции
- libsde-utils-x11 - вспомогательные функции для работы с X11
- libsde-utils-gtk - вспомогательные функции для работы с Gtk
- libsde-utils-jansson - вспомогательные функции для работы с Jansson
- libsmfm-core - средства работы с файлами, не зависящие от графического тулкита
- libsmfm-gtk - средства работы с файлами, зависящие от Gtk
Changelog:
spicview
На базе исходного кода gpicview 0.2.3, форк в апреле 2012 года.
* Реализация кэша загруженных изображений и предзагрузки изображений:
* Предзагружать и удерживать в кэше следующее и предыдущее изображение в списке. (Опция отключается в
настройках.)
* Регулировать максимальный размер кэша на основании полного объема ОЗУ и объема доступной ОЗУ.
* Сокращать размер кэша при повышении потребления памяти другими приложениями.
* Интеграция с файловым менеджером (библиотека libsmfm) :
* Использовать libsmfm для резолвинга путей.
* Отображать контекстное меню файла как часть контекстного меню открытого изображения.
* Поддержка libsmfm может быть отключена при сборке приложениях.
* Автоматически подстраивать цвет фона приложения под цвета изображения для улучшения визуального
восприятия изображения. (Опция отключается в настройках.)
* Множество улучшений и исправлений в интерфейсе, в том числе:
* Реорганизация диалога настроек.
* Возможность указать в настройках фильтр, используемый для масштабирования изображения.
* Блокировать операции (и соответствующие кнопки панели) изменения, удаления и сохранения файла в
режиме слайдшоу.
* Блокировать операции (и соответствующие кнопки панели), не доступные из текущего состояния
приложения.
* Отображать имя удаляемого файла в диалоге подтверждения удаления.
* Операция Save As переименована в Save a Copy и больше не приводит к переключению просмотра на
каталог сохранения файла.
* Во время сохранения файла отображать уведомление в заголовке окна, блокировать кнопки панели и
переводить указатель мыши в режим GDK_WATCH.
* При запуске программы всегда использовать режим масштабирования Zoom Fit. Автовыбор режима
масштабирования удален, т.к. противоречил принципу наименьшего удивления и мог выглядеть как баг
приложения.
* Возможность показа/скрытия панели инструментов клавишей T или из диалога настроек.
* Состояние отображения/скрытия панели инструментов запоминается отдельно для полноэкранного и
неполноэкранного режимов.
* Возможность отображения панели инструментов в верхней части окна. (Опция включается в настройках.)
* Выход из приложения по нажатию ESC. (Опция отключается в настройках.)
* Отображать контекстное меню по нажатию клавиш MENU или F10.
* При передаче каталога в качестве аргумента командной строки, загружать изображения из этого
каталога.
* При запуске без аргументов отображать изображения из текущего каталога.
* В диалоге About отображать информацию о поддерживаемых форматах файлов и об опциях, с которыми было
собрано приложение.
* Добавлен ключ запуска --about, выводящий в stdout тот же текст, что отображается в диалоге About.
* Прочее:
* Ресурсы компилируются как часть исполняемого файла, а не загружаются из отдельных файлов при запуске
приложениях. Единственными загружаемыми ресурсами в настоящий момент являются файлы локализации.
* Исправление падений.
* Чистка и рефакторинг кода.
rainbow-cm
На базе исходного кода parcellite 2.5. Форк в январе 2015 года.
* Удалено множество избыточных, бесполезных или проблемных функций:
* Удалена опция confirm_clear. Всегда спрашивать подтверждение при очистке истории.
* Удалена опция single_line. (Теперь всегда включена.)
* Удалена опция reverse_history.
* Удалена опция persistent_on_top. Persistent history items всегда отображаются в конце списка.
* Удалена опция current_on_top. (Теперь всегда включена.)
* Удалена опция case_search. Всегда выполнять поиск без учета регистра символов.
* Удалена опция icon_name.
* Удалена опция daemon mode и соответствующий режим.
* Удалена опция persistent_history. (Теперь всегда включена.)
* Удалена опция hyperlinks_only.
* Удалены опции trim_newline и trim_wspace_begend.
* Удалены опции data_size и item_size.
* Удалён невероятно сумасшедший способ обнаружения запущенного экземпляра приложения через анализ
содержимого /proc. Также удалена опция multi_user.
* Удалена возможность автоматической вставки текста в активное окно и все связанные с этой
возможностью опции. Не существует надежного способа реализации.
* Удалена возможность отображать persistent history items в отдельном меню.
* Удалена возможность Copy All to Clip, предназначавшаяся для вставки в буфер обмена всех пунктов
истории разом.
* Удалена возможность правки пунктов меню истории во встроенном диалоге редактирования.
* Удалены возможности, аналогичные xclip. Код настолько ужасен, что не поддаётся рефакторингу, и
второй xclip не нужен, когда есть первый.
* Удалено управление программой через fifo-файлы.
* Удалена поддержка определяемых пользователем действий.
* Удалена поддержка Ubuntu Appindicator.
* Улучшения и исправления в интерфейсе:
* Реорганизация диалога настроек.
* Если меню истории активировано горячей клавишей, отображать его в левом верхнем углу активного окна,
а не под указателем мыши.
* В меню истории добавлены всплывающие подсказки.
* Реализация возможности Search-As-You-Type переписана с использованием GtkIMContext, что позволяет
производить поиск на любом языке.
* Изменена настройка горячих клавиш по умолчанию:
* Mod4 + Insert - вызов меню истории.
* Ctrl + Mod4 + Insert - вызов меню приложения.
* Переименованы опции:
* use_copy -> track_clipboard_selection
* use_primary -> track_primary_selection
* nonprint_disp -> display_nonprinting_characters
* Команда Clear History перенесена из меню истории в меню приложения.
* В меню приложения добавлена команда-флажок Enabled, позволяющая удобным способом временно отключить
слежение за буфером обмена.
* В меню приложения удалены иконки и добавлены всплывающие подсказки.
* Команда Save History, сохраняющая историю в текстовый файл, теперь использует более человекочитаемый
формат файла.
* Persistent history items переименованы в интерфейсе в Pinned history items.
* Рефакторинг, чистка и упрощение кода.
* Полностью переписан код слежения за буфером обмена. Не пытаться отслеживать изменения в буфере поллингом
по таймауту, отслеживать событие изменения владельца буфера.
* Исправление падений и утечек памяти.
waterline
Основана на коде lxpanel 0.5.6, форк в июне 2011 года.
Количество изменений не поддаётся перечислению, если делать раззвёрнутый Changelog, он будет длиной в
несколько страниц. За эти годы было выполнено 996 коммитов.
stuurman + stuurman-desktop + libsmfm
Основаны на коде pcmanfm и libfm 1.2.0, форк в мая 2013 года.
Множество улучшений и исправлений, и еще больше предстоит. Пока еще довольно глючен.
Самой важной выполненной доработкой является, пожалуй, оптимизация процесса чтения каталогов. Об этом я,
видимо, напишу развёрнутый материал, когда у меня найдётся время поднять для проекта сайт.
Сборочные скрипты для Арча: https://github.com/sde-gui/pacman.sde-git Для более других дистрибутивов готовых сборочных рецептов пока нет.
Компилируйте, тестируйте, шлите баг-репорты и пулл-реквесты, устраивайте срач в комментах.
Вечером, как доберусь до домашнего компа, поделюсь планами на будущее и роадмапом. Запарился набирать текст в этой их винде, без нормального редактора.