| · | 23.09.2026 | Дистрибутив Peppermint OS переходит с X.Org Server на XLibre (45 +8) |
|
Разработчики Linux-дистрибутива Peppermint OS, построенного на пакетной базе Debian GNU/Linux и предлагающего пользовательское окружение на основе рабочего стола Xfce и файлового менеджера Thunar, анонсировали переход на использование по умолчанию XLibre, форка X.Org Server. XLibre будет задействован в следующем обновлении iso-образов PeppermintOS, до публикации которых для тестирования предложены экспериментальные сборки.
В обозримом будущем Peppermint OS планирует оставаться на стеке X11, так как в среде рабочего стола Xfce намерены продолжать полноценную поддержку X11. По мнению разработчиков Peppermint OS, проект XLibre отлично подходит для пользователей, предпочитающих использовать X11 вместо Wayland, так как в нём продолжена работа по исправлению ошибок, сопровождению, чистке и модернизации оригинальной кодовой базы X.Org Server.
| ||
|
Обсуждение (45 +8) |
Тип: Программы |
| ||
| · | 23.09.2026 | Выпуск музыкального проигрывателя Fooyin 0.13 (119 +7) |
|
Состоялся выпуск музыкального проигрывателя Fooyin 0.13, нацеленного на предоставление расширенных возможностей по настройке и адаптации программы под свои предпочтения. В Fooyin предложен набор виджетов с реализацией различных режимов управления музыкальной коллекцией и воспроизведения музыки. Дополнительные возможности могут подключаться в форме плагинов. Для настройки интерфейса предлагается конфигуратор раскладки элементов на экране. Проект написан на языке С++ с использованием библиотеки Qt и распространяется под лицензией GPLv3. Готовые пакеты сформированы для Fedora, Debian и Ubuntu, а также в формате flatpak.
Поддерживается воспроизведение файлов в формате FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, Musepack, Monkey's Audio, VGM и различных трекерных форматов. Среди возможностей Fooyin: извлечение сведений о порядке и длительности звуковых треков из CUE-файлов, воспроизведение без пауз (gapless), создание, импорт и экспорт списков воспроизведения в форматах M3U/M3U8, фильтрация содержимого музыкальной библиотеки по любым полям, древовидное представление коллекции, редактирование тегов, визуализации при помощи спектрограмм, навигация на уровне каталогов в файловой системе с возможностью прямого воспроизведения выбранных файлов. Для внешнего управления проигрывателем может использоваться D-Bus-интерфейс MPRIS (Media Player Remote Interfacing Specification). Наиболее заметные улучшения:
![]() ![]()
| ||
|
Обсуждение (119 +7) |
| ||
| · | 23.09.2026 | Первый выпуск scan, библиотеки разбора текста для C++ с построением конечного автомата при компиляции (49 +10) |
Опубликован первый выпуск библиотеки scan
(0.1.0), разбирающей текст в значения по шаблону, известному на этапе
компиляции. Шаблон или формат записывается как аргумент шаблона C++ и
превращается при компиляции в размеченный детерминированный конечный автомат (tagged deterministic finite automaton, TDFA), обход которого разворачивается по состояниям в код на этапе компиляции с использованием шаблонов C++. Результатом выполнения является значение запрошенного типа. Код проекта написан на C++23 и распространяется под лицензией GPLv3.
import scan;
// Совпадает ли вся строка. Каждая точка входа - ещё и адаптор диапазона.
scan::match<"[a-z]+@[a-z.]+">(address);
address | scan::match<"[a-z]+@[a-z.]+">;
// С группами.
const auto found = scan::match<"([0-9]+)-([a-z]+)">("42-abc");
found.get<1>().to_view(); // "42"
// Начало строки, занятое шаблоном, и первое совпадение где угодно.
scan::starts_with<"[a-z]+">("abc123").whole().to_view(); // "abc"
scan::search<"[0-9]+">("id=4210x").to_view(); // "4210"
// Все совпадения и куски между ними - ленивые представления.
for (const auto& one : text | scan::search_all<"[a-z]+">) { ... }
const auto fields = "a,bb,,ccc" | scan::split<","> | std::ranges::to<std::vector>();
// Значения, а не текст.
struct row { int id; std::string_view name; };
const row one = scan::scan<"{},{[a-z]+}">(line);
// Список, сумма типов, вложенная форма.
struct all { std::vector<int> values; std::variant<int, std::string_view> tail; };
const all got = scan::scan<"{{}{*,?}} {{[0-9]+}|{[a-z]+}}">("1,2,3 abc");
// Начало ввода и то, что от него осталось.
const auto [value, rest] = scan::scan_prefix<"{},{}">(line).take<point>();
// По записи за раз, из чего угодно.
for (const row& one : scan::each<"{},{[a-z]+}\\n">(text).of<row>()) { ... }
Диапазон, который можно прочитать лишь однажды, читается без буферизации, поля собираются по мере поступления символов. Сколько символов придётся удержать, шаблон задаёт при компиляции; там, где такого числа нет, чтение отклоняется при компиляции.
std::istringstream source("set speed 42\\nset gain 7\\n");
source > std::noskipws;
struct command { scan::held<16> name; int value; };
for (const command& one :
scan::each<"set {[a-z]+} {[0-9]+}\\n">(std::views::istream<char>(source))
.of<command>()) { ... }
Производительность.
Замеры проведены на Ryzen 9 9950X, clang 22.1.8 с libc++, -O3 -march=native,LTO. Тридцать две записи за проход, медиана семи проходов.
"([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+)" "alpha,bravo,charlie,delta,echo"
scan::scan<f>.sentinel() 477 нс
re2c 554 нс
scan::scan<f> 659 нс
CTRE 717 нс
RE2 15986 нс
те же пять полей, по двести букв каждое
scan::scan<f>.sentinel() 57.8 нс
re2c 637 нс
CTRE 692 нс
RE2 11751 нс
"[email protected]" распознавание, ничего не извлекается
scan::match<p>.sentinel().scalar() 436 нс
scan::match<p>.scalar() 545 нс
re2c 1186 нс
RE2 2616 нс
CTRE 14339 нс
Свёртка групп по ходу разбора
Типу сообщается, к какой из его групп относится очередной символ, и вычисление выполняется на месте: ни одна итерация цикла не сохраняется, ни одной подстроки не создаётся.
struct tally { unsigned long value = 0; };
struct reading { tally number; std::string_view tail; };
template <>
struct scan::scanner<tally> {
static constexpr std::string_view pattern() { return R"(\\(((_+)(X|Y)*)*\\))"; }
struct state_type { unsigned long total = 0; unsigned place = 0, marks = 0; };
static constexpr state_type begin_groups() { return {}; }
static constexpr void opened_group(state_type& one, scan::group_at<0>) {
one.place = 0; one.marks = 0;
}
static constexpr void closed_group(state_type& one, scan::group_at<0>) {
unsigned long weight = 1;
for (unsigned step = 1; step < one.place; ++step) weight *= 10;
one.total += weight * one.marks;
}
static constexpr void push_group(state_type& one, scan::group_at<1>, char) {
++one.place;
}
static constexpr void push_group(state_type& one, scan::group_at<2>, char letter) {
one.marks += letter == 'Y' ? 2u : 1u;
}
static constexpr tally finish_groups(state_type one) { return {one.total}; }
};
const reading got =
scan::scan<"value={}{[a-z]*}">("value=(__X_XX)abcdefgh").of<reading>();
// got.number.value == 12, got.tail == "abcdefgh"
Контексты и аллокаторы Любой объект вызывающей стороны - аллокатор, пул, арену, что угодно ещё - можно передать в тот вызов, который создаёт значение. Тип контекста при этом не теряется: состояние сканера и каждый его хук могут быть шаблонами по нему, так что в сканере не упомянут ни один тип вызывающей стороны.
struct arena {
std::pmr::memory_resource* where = nullptr;
std::pmr::memory_resource* resource() const { return where; }
};
struct numbers { std::pmr::vector<int> values; };
struct both { numbers left; numbers right; };
template <>
struct scan::scanner<numbers> {
static constexpr std::string_view pattern() { return "([0-9]+)(?:,([0-9]+))*"; }
template <class Told>
struct state { std::pmr::vector<int> values; int running = 0; };
static state<scan::default_context_t> begin_groups() { return {}; }
template <class Told>
requires requires(const Told& one) { one.resource(); }
static state<Told> begin_groups(const Told& told) {
return {std::pmr::vector<int>(told.resource()), 0};
}
template <class Told, std::size_t Which>
static void push_group(state<Told>& one, scan::group_at<Which>, char digit) {
one.running = one.running * 10 + (digit - '0');
}
template <class Told, std::size_t Which>
static void closed_group(state<Told>& one, scan::group_at<Which>) {
one.values.push_back(one.running);
one.running = 0;
}
template <class Told>
static numbers finish_groups(state<Told> one) { return {std::move(one.values)}; }
};
std::pmr::monotonic_buffer_resource bytes;
const arena mine{&bytes};
scan::scan<"{} {}">(text).of<both>(mine); // один на оба места
scan::scan<"{} {}">(text).of<both>(mine, scan::default_context); // по одному на место
scan::scan<"{} {}">(text).of<both>({mine, scan::default_context}); // то же в скобках
const both got = scan::scan<"{} {}">(text).with(mine);
// Контексту не обязательно быть своим типом: аллокатор доходит до того,
// что строит чтение.
struct two { std::pmr::string name; std::pmr::string tail; };
const two kept = scan::scan<"{[a-z]+} {[a-z]+}">(text).of<
Хук получает сам объект вызывающей стороны, а не копию, поэтому состояние
может хранить его адрес: контекст живёт столько же, сколько вызов, а всё чтение происходит внутри этого вызова.
Собирается в clang и GCC. Модули C++ не обязательны: доступны заголовочные файлы (include/), которые генерирует из тех же модулей утилита demodulizer - каждый push в main пересобирает, линкует и коммитит их обратно. Единственная зависимость, Boost.PFR, не нужна при включённых binding packs из C++26.
FetchContent_Declare(scan
GIT_REPOSITORY https://github.com/j4niwzis/scan.git
GIT_TAG v0.1.0)
FetchContent_MakeAvailable(scan)
target_link_libraries(mine PRIVATE scan::scan)
| ||
| · | 22.09.2026 | Релиз операционной системы NetBSD 10.2 (32 +15) |
|
Опубликован релиз операционной системы NetBSD 10.2, который отнесён к категории корректирующих обновлений и включает в основном исправления проблем и уявзимостей, выявленных с момента публикации NetBSD 10.1 в декабре 2024 года. Ветка NetBSD 10 будет поддерживаться до релиза NetBSD 12.0. Для загрузки подготовлены установочные образы размером 639 МБ, доступные в сборках для 57 системных архитектур и 16 различных семейств CPU. Для новых установок рекомендуется использовать недавно опубликованный релиз NetBSD 11.0.
Из не связанных с исправлением ошибок изменений отмечается поддержка новых версий компиляторов, повышение стабильности работы WiFi-драйвера iwm, решение проблем при работе на системах Olimex A64 и MIPS R5000SC, реализация возможности загрузки ядра для amd64 при вызове qemu с опцией "-kernel". Добавлена поддержка устройств ASIX AX88179A USB Ethernet, Asus USB-N10 Nano B1 Wi-Fi, Realtek RTL8126 5Gbps Ethernet, RTL8125D (rev 0x6890000), RIoTboard i.MX6S IOMUX, VMware PV SCSI. Устранены уязвимости в ipfilter, telnet, TCP-стеке ядра, OpenSSL, Unbound и X.Org. Обновлены версии openssl 3.0.21, tmux 3.6a и xkbcomp 1.5.0.
| ||
|
Обсуждение (32 +15) |
Тип: Программы |
| ||
| · | 22.09.2026 | Выпуск операционной системы Solaris 11.4 SRU95 (31 +7) |
|
Компания Oracle опубликовала выпуск операционной системы Solaris 11.4 SRU 95 (Support Repository Update), в котором предложена серия значительных изменений и улучшений для ветки Solaris 11.4. Для установки предложенных в обновлении исправлений достаточно выполнить команду 'pkg update'. Пользователи также могут воспользоваться бесплатной редакцией Solaris 11.4 CBE (Common Build Environment), развиваемой с использованием модели непрерывной публикации новых версий.
Среди изменений в новой версии:
| ||
|
Обсуждение (31 +7) |
Тип: Программы |
| ||
| · | 22.09.2026 | Выпуск медиаплеера VLC 3.0.24 с устранением 130 уязвимостей (49 +20) |
|
Представлен выпуск мультимедийного проигрывателя VLC 3.0.24. Код написан на языке Си и распространяется под лицензией LGPLv2.1. В VLC и во встроенных библиотеках устранено более 130 проблем с безопасностью, вызванных переполнениями буфера, обращением к памяти после её освобождения, целочисленными переполнениями и двойным освобождением памяти (детали пока не раскрываются). Некоторые из уязвимостей могут эксплуатироваться при обработке специально оформленного контента.
Среди изменений, не связанных с уязвимостями и исправлением ошибок:
| ||
|
Обсуждение (49 +20) |
Тип: Программы |
| ||
| · | 21.09.2026 | Проект Convey развивает форк почтового клиента Geary (64 +3) |
|
Опубликован почтовый клиент Convey, продолжающий развитие проекта Geary, новые версии которого не публиковались с мая 2024 года. Наиболее заметным отличием от Geary является переход на использование библиотек GTK4 и libadwaita. Код написан на языке Vala и распространяется под лицензией LGPL.
Среди изменений:
![]()
| ||
|
Обсуждение (64 +3) |
Тип: Программы |
| ||
| · | 21.09.2026 | Выпуск дистрибутива MX Linux 25.3 (49 +14) |
|
Опубликован релиз легковесного дистрибутива MX Linux 25.3, созданного в результате совместной работы сообществ, образовавшихся вокруг проектов antiX и MEPIS. Выпуск основан на пакетной базе Debian с улучшениями от проекта antiX и пакетами из собственного репозитория. В дистрибутиве на выбор можно использовать системы инициализации sysVinit и systemd. Поставляются собственные инструменты для настройки и развёртывания системы. Для загрузки доступны 64-разрядные сборки (x86_64) с рабочим столом Xfce (2.7 ГБ), а также сборки с рабочим столом KDE (3.4 ГБ) и сборки (2.3 ГБ) с оконным менеджером Fluxbox.
В новом выпуске:
| ||
|
Обсуждение (49 +14) |
Тип: Программы |
| ||
| · | 21.09.2026 | Выпуск утилиты для загрузки web-контента GNU Wget2 2.3.0 (42 +26) |
|
Опубликован релиз проекта GNU Wget2 2.3.0, развивающего переписанный с нуля и полностью переработанный вариант программы для автоматизации рекурсивной загрузки контента GNU Wget. Wget2 предоставляет набор дополнительных опций, поддерживает загрузку в несколько потоков, позволяет использовать доступную функциональность через библиотеку libwget, поддерживает протоколы HTTP/2 и TLS 1.3, даёт возможность загружать только изменившиеся данные, может сохранять данные с серверов потокового вещания, корректно обрабатывает интернационализированные доменные имена и может перекодировать загружаемое содержимое. Утилита wget2 поставляется под лицензией GPLv3+, а библиотека под LGPLv3+.
В новой версии основное внимание уделено исправлению ошибок, из изменений в функциональности выделяется расширение поддержки платформы OS/2, обеспечение конвертации ссылок в CSS при указании опции "--convert-links", поддержка атрибута srcdoc в элементе iframe, разбор HTML-тегов data-src и data-srcset, опция "--spider -S" для показа заголовков без загрузки содержимого и опция "--progress=dot" для визуализации прогресса выполнения загрузки.
| ||
|
Обсуждение (42 +26) |
Тип: Программы |
| ||
| · | 19.09.2026 | Новые версии Wine 11.18 и Wine-staging 11.18 (36 +15) |
|
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.18. С момента выпуска 11.17 был закрыто 44 отчёта об ошибках и внесено 380 изменений.
Наиболее важные изменения:
Отдельно сформирован выпуск проекта Wine Staging 11.18, предоставляющего расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 273 дополнительных патчей. В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 11.18 и обновлён код vkd3d. В основной состав Wine перенесён патч, преобразующий заголовочный файл d3d10_1shader.h в файл в формате idl (Interface Definition Language).
Добавлены патчи для преобразования представления цвета YV12 в RGB в коде отрисовки и выполнения проверок исполняемых файлов для архитектуры WoW64 (64-bit Windows-on-Windows), позволяющей выполнять 32-разрядные Windows-приложения в 64-разрядных Unix-системах.
| ||
|
Обсуждение (36 +15) |
Тип: Программы |
| ||
| · | 18.09.2026 | Опубликована библиотека управления памятью jemalloc 5.4 (61 +23) |
|
Представлен релиз библиотеки управления памятью jemalloc 5.4.0, предлагающей альтернативную реализацию функций malloc, оптимизированную для снижения фрагментации и работы на многопроцессорных системах. Для решения проблем с блокировками на многоядерных системах в jemalloc для каждого ядра CPU используется своя изолированная область распределения памяти, что позволяет добиться линейной масштабируемости при росте числа потоков.
В июне 2025 года автор проекта прекратил сопровождение и перевёл репозиторий jemalloc в архивный режим, но в марте этого года разработку возобновила компания Meta, применяющая jemalloc в своей инфраструктуре. Изначально библиотека была разработана для FreeBSD и используется в данной ОС по умолчанию с 2005 года. Код библиотеки написан на Си и распространяется под лицензией BSD. Среди изменений:
| ||
|
Обсуждение (61 +23) |
Тип: Программы |
| ||
| · | 18.09.2026 | Выпуск ESP-KVM 0.51.0, открытой прошивки IP-KVM , с записью экрана на microSD (67 +26) |
|
Опубликован выпуск ESP-KVM 0.51.2, открытой прошивки, превращающей плату на микроконтроллере ESP32-P4 в IP-KVM с доступом к экрану, клавиатуре и мыши удалённого компьютера через браузер, без установки агента на управляемую машину. Код написан на языке Си и распространяется под лицензией Apache 2.0. Основное изменение выпуска - запись происходящего на экране цели на карту microSD самого устройства.
Запись включается кнопкой в веб-интерфейсе и сохраняется в каталог VIDEO в виде файлов .ts с видео H.264. Устройство пишет тот же поток, который отдаёт зрителям, поэтому повторное кодирование не требуется: на плате Espressif ESP32-P4 Function EV при воспроизведении видео на целевой машине частота кадров во время записи осталась на уровне 21-22 в секунду без потерь. Файл .ts воспроизводится в VLC и mpv, а прерванный извлечением карты или отключением питания открывается до момента обрыва. Длинная запись делится на файлы по 10 минут и останавливается через час; оба значения настраиваются. Отдельной кнопкой сохраняется снимок экрана в формате JPEG в папку SCREENSHOTS, в том числе при работе кодека H.264: для снимка задействуется простаивающий аппаратный кодировщик JPEG. Нажатия клавиш и щелчки мышью можно записывать в файл субтитров .srt рядом с видео - в виде строк "Typed: root", "Ctrl+Alt+Delete", "Left click (812, 440)". По умолчанию набранный текст заменяется точками, при необходимости он сохраняется полностью. Раскладка берётся из настроек целевой клавиатуры. Добавлен режим видеорегистратора, работающий по тому же принципу, что автомобильный: устройство постоянно держит последние минуты экрана и сохраняет их вместе с последующими секундами, когда что-то происходит - экран становится однотонным (характерно для экрана аварийной остановки), появляется отслеживаемая фраза, гаснет индикатор питания ATX или оператор нажимает кнопку. Полученный ролик преобразуется в MP4 с главами по каждому событию, а при включённых уведомлениях отправляется в Telegram как воспроизводимое в чате видео. Хранить прошлое можно двумя способами: в оперативной памяти PSRAM, где оно ничего не занимает на карте до наступления события, или на самой карте короткими фрагментами с удалением устаревших - второй способ работает и на платах с ревизией чипа до 3.0, где после запуска кодировщика H.264 свободной PSRAM остаётся около 3 МБ против 11 МБ на новых ревизиях. Появился режим таймлапса: сохраняется один кадр раз в заданное число секунд, воспроизведение идёт со скоростью 25 кадров в секунду, поэтому час работы при интервале 10 секунд укладывается в 14 секунд видео. Записи и снимки собраны в отдельной панели интерфейса, откуда их можно скачать, удалить и воспроизвести без предварительной загрузки файла целиком: MP4 открывается штатным плеером браузера, а .ts разбирается на кадры в самой консоли и декодируется тем же декодером H.264, что и живая картинка, с перемоткой и показом субтитров. Для перемотки на стороне устройства реализована поддержка диапазонов HTTP. Реализован поиск по тексту на экране. Во время записи устройство раз в три секунды читает экран как набор символов и сохраняет прочитанное в файл рядом с видео; в панели записей поиск по фразе показывает, когда она была на экране, и воспроизводит запись с этого момента. Читаются только экраны, нарисованные знакогенератором - BIOS, меню загрузки, программа установки, консоль. Запись, ускоренную съёмку и снимок экрана можно запускать из сценариев устройства ("record 300", "timelapse 60", "screenshot") и из Home Assistant, где для этого есть переключатель и кнопки. Часы устройства теперь синхронизируются по NTP, а часовой пояс выбирается из списка городов в настройках - раньше он хранился в разделе, который интерфейс не показывал. Другие изменения в выпусках, вышедших после 0.45.0:
| ||
| · | 17.09.2026 | Релиз децентрализованной видеовещательной платформы PeerTube 8.3 (62 +13) |
|
Опубликован выпуск платформы PeerTube 8.3, предназначенной для создания независимых децентрализованных систем видеохостинга и видеовещания, альтернативных таким сервисам, как YouTube, Dailymotion и Vimeo. Создаваемая при помощи PeerTube сеть распространения контента основывается на связывании браузеров посетителей между собой и использовании P2P-коммуникаций. Код проекта распространяется под лицензией AGPLv3.
PeerTube даёт возможность запустить собственный сервер для распространения видео и подключить его к общей федеративной сети. Посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео, независимо от того, какой именно сервер они используют. Федеративная сеть PeerTube образуется как содружество связанных между собой небольших серверов хостинга видео, на каждом из которых имеется свой администратор и приняты свои правила. Для взаимодействия серверов в федеративной сети применяется протокол ActivityPub. Идентификатор пользователя формируются как "@имя_пользователя@домен_сервера". При просмотре видео данные по возможности загружаются через обращение к браузерам других посетителей, просматривающих тот же контент. Если запрошенное видео никто не просматривает, отдача организуется сервером, на который загружено видео (используется протокол WebSeed). Помимо распределения трафика между пользователями, просматривающими видео, PeerTube позволяет серверам кэшировать видео других авторов. Таким образом формируется распределённая сеть не только из клиентов, но и из серверов, а также обеспечивается отказоустойчивость. Кроме распространения готового видео имеется поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P. Для управления стримингом могут использоваться типовые программы, такие как OBS. Для начала вещания через PeerTube пользователю необходимо загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только на сервере первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера. Распространять видео с использованием P2P-коммуникаций можно добавив на свой сайт специальный виджет со встроенным web-плеером, по аналогии с тем как на страницы встраиваются ролики с YouTube. Отслеживать появление видео можно через подписку на выбранные видеоканалы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS. В настоящее время в федеративную сеть входит 1779 серверов, поддерживаемых добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube). Изначально платформа PeerTube основывалась на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами. Позднее вместо WebTorrent был задействован протокол HLS (HTTP Live Streaming) в связке с WebRTC, позволяющий адаптивно управлять потоком в зависимости от полосы пропускания. Web-интерфейс построен с использованием фреймворка Angular. Основные новшества PeerTube 8.3:
| ||
|
Обсуждение (62 +13) |
Тип: Программы |
| ||
| · | 17.09.2026 | Выпуск браузера Pale Moon 35.0 (138 +24) |
|
Опубликован релиз web-браузера Pale Moon 35.0.0, ответвившегося от кодовой базы Firefox для обеспечения более высокой эффективности работы, сохранения классического интерфейса, минимизации потребления памяти и предоставления дополнительных возможностей по настройке. Сборки Pale Moon формируются для Windows и Linux (x86_64). Код проекта распространяется под лицензией MPLv2 (Mozilla Public License).
Проект придерживается классической организации интерфейса, без перехода к интегрированным в Firefox 29 и 57 интерфейсам Australis и Photon, и с предоставлением широких возможностей кастомизации. Из удалённых компонентов можно отметить DRM, Social API, WebRTC, PDF-просмотрщик, Сrash Reporter, код для сбора статистики, средства для родительского контроля и людей с ограниченными возможностями. По сравнению с Firefox, в браузер возвращена поддержка расширений, использующих XUL, и сохранена возможность применения как полноценных, так и легковесных тем оформления. Основные изменения:
| ||
|
Обсуждение (138 +24) |
Тип: Программы |
| ||
| · | 17.09.2026 | Выпуск miracle-wm 0.11, композитного менеджера на базе Wayland и Mir (23 +3) |
|
Опубликован выпуск композитного менеджера miracle-wm 0.11, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон, схожую с аналогичной в проектах i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap, а также в пакетах rpm и deb для Fedora и Ubuntu.
Целью miracle-wm является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие продукты, как Swayfx. При этом проект позволяет использовать и классические приёмы работы с плавающими окнами, например, можно размещать отдельные окна поверх мозаичной сетки или закреплять окна к определённому месту на рабочем столе. Поддерживается виртуальные рабочие столы с возможностью выставления для каждого рабочего стола своего режима работы с окнами по умолчанию (мозаичная компоновка или плавающие окна). Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Конфигурация определяется в формате YAML. Для установки miracle-wm можно использовать команду "sudo snap install miracle-wm --classic". Основные изменения:
![]()
| ||
|
Обсуждение (23 +3) |
Тип: Программы |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить новость, Поддержать |