@fosspost · Post #590 · 23.12.2020 г., 10:39
Xfce 4.16 released, finally with fractional scaling: https://xfce.org/about/news/?post=1608595200 #Xfce
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #121 · 20 јул.
Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример). Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать? В Django по умолчанию есть готовая функция slugify для таких случаев. Но я её никогда не использую. Почему? Потому что её недостаточно! Приведём пример >>> from django.utils.text import slugify >>> slugify('This is a Title') 'this-is-a-title' Пока всё отлично >>> slugify('This is a "Title!"') 'this-is-a-title' Спец символы удалились, всё хорошо. >>> slugify('Это заголовок статьи') '' Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить >>> slugify('Это заголовок статьи', allow_unicode=True) 'это-заголовок-статьи' Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте. Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою. Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку: 🔸1. Исходный текст: >>> text = 'Мой заголовок №10 😁!' Взял специально посложней со специальными символами. 🔸2. Транслит Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги. from unidecode import unidecode >>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山") 'N S (r) u P 1/4 Yue Shan' Очень крутая библиотека, советую👍 В нашем случае получаем такое преобразование: >>> text = unidecode(text) >>> print(text) 'Moi zagolovok No. 10 !' Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы. А еще наш код уже поддерживает любой язык, будь то хинди или корейский. 🔸4. Фильтр символов Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона. >>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text) >>> print(text) 'Moi_zagolovok_No_10_' Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_". 🔸5. Slugify Осталось удалить лишние символы по краям и сделать нижний регистр >>> text = text.strip('_').lower() >>> print(text) 'moi_zagolovok_no_10' Получаем отличный slug! 😎 🌎 Полный код в виде функции. ______________ PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию. #libs#tricks#django
Пребарај: #xfce
@fosspost · Post #590 · 23.12.2020 г., 10:39
Xfce 4.16 released, finally with fractional scaling: https://xfce.org/about/news/?post=1608595200 #Xfce
Hashtags
@Nomad01290 · Post #4099 · 19.06.2023 г., 16:22
#wallpaper#xfce#ubuntu
Hashtags
@aigcrubbish · Post #157 · 27.01.2026 г., 14:39
Xfwl4: the roadmap for a Xfce Wayland compositor Xfce 团队宣布将资助 Brian Tarricone 开发 xfwl4,这是 Xfce 的 Wayland 合成器。 xfwl4 不会基于现有的 xfwm4 代码,而是将使用 Rust 语言和 Smithay 构建块从头开始编写。 此前,团队曾尝试修改 xfwm4 代码以同时支持 X11 和 Wayland,但发现此路不通,主要原因包括: * xfwm4 的架构难以将窗口管理行为抽象为不包含 X11 特定细节的通用接口。 * 重构 xfwm4 有风险,可能给 X11 引入新 Bug。两个独立的代码库能让 Wayland 合成器快速开发和实验,且完全不影响 xfwm4。 * 一些 X11 的窗口管理概念目前无法通过 Wayland 协议实现或支持,在 X11 优先的代码库中处理这些差异很困难。 * 沿用现有代码库将强制使用 C 语言和 wlroots,即使有更好的替代方案。 该项目开发工作已启动,目标是在 2026 年中发布开发预览版。 原文链接:https://lwn.net/Articles/1056159/ #Linux#Xfce#Wayland#开源开发 #AIGC Read more
@githubtrending · Post #15087 · 23.08.2025 г., 12:00
#shell#cassowary#docker#freerdp#gnome#hacktoberfest#integration#kde#libvirt#linux#linux_app#nautilus#nix_flake#podman#qemu#qemu_kvm#seamless#winapps#windows#wine#xfce You can run Windows applications like Microsoft Office and Adobe Creative Cloud directly on your Linux desktop (KDE, GNOME, or XFCE) as if they were native apps using WinApps. It works by running Windows inside a virtual machine (using Docker, Podman, or libvirt) and then showing Windows apps seamlessly on Linux with FreeRDP. Your Linux home folder is accessible in Windows, and you can right-click files in Linux to open them with Windows apps. This lets you use all Windows programs without leaving Linux, improving productivity and convenience without needing dual boot or separate hardware. https://github.com/winapps-org/winapps