Обновить
8K+

Графические оболочки *

KDE и все такое

3,74
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

WinUI 3 без XAML: как написать декларативный GUI на чистом C++23, сжав проекцию WinRT в 50 раз

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели5.6K

Microsoft рекомендует современный WinUI 3 в качестве официального фундамента для будущих Windows‑приложений. Однако, стандартный стек C++/WinRT + XAML встречает разработчика чудовищным временем компиляции, миксиновым адом вместо нативного наследования, тоннами шаблонной рутины и плохочитаемым кодом.

В этой статье мы разберем архитектуру wxl— тонкой надстройки, которая позволяет описывать GUI на чистом C++23 декларативно (как во Flutter или SwiftUI). Вы узнаете, как сжать заголовочные файлы проекции в 50 раз, сократить время пересборки с полуминуты до 4 секунд, победить накладные расходы QueryInterface с помощью ленивого кэширования интерфейсов на базе STA‑потока и превратить написание нативного GUI в чистое удовольствие.

Заглянуть под капот

Новости

Управление окнами в Linux через libx11(X11/Xlib.h) + Утилита для управления окнами в Linux дистрибутивах X11 и wayland

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9K

В статье показана структура запросов к окнам Linux, позволяющая управлять уже запущенными окнами. Изначально утилита xdotool_xseticon была создана для динамического изменения значка окна в Astra Linux. Затем функционал утилиты был расширен для полного управления окнами и получения всей информации об окне Linux. Утилита xdotool_xseticon была протестирована в средах Wayland и X11 в Ubuntu 24.04 (KDE), в X11 Ubuntu 22.04 (KDE) и Astra Linux 1.8. Размер утилиты - 1000 строк.

Читать далее

Графический фреймворк «Арго»

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели9.3K

Данная статья содержит обзор графического фреймворка “Арго”, предназначенного для быстрой разработки полноценного пользовательского интерфейса для управления приложениями. Это кроссплатформенное решение, которое может работать на различных операционных системах и аппаратных платформах, и, прежде всего, на устройствах в условиях очень ограниченных ресурсов по быстродействию процессора и оперативной памяти. Это полностью отечественная разработка, практически независимая от зарубежных продуктов и Open Source разработок.

Читать далее

Как я подключал GoPro Hero 13 к ноутбуку — а в итоге пропатчил KDE

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели11K

Не столь давно супруга попросила меня перелить записи со своей GoPro на мой ноутбук. Когда-то, когда камеры были по сути обычными USB-флешками с FAT это ни у кого не вызывало проблем, а вот с MTP-устройствами бывает и так:

На этом месте можно было взять Android File Transfer for Linux и перелить через него - но я упертый, и решил разобраться в ситуации.

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

Читать далее

Всё, что вы настроили в Linux, можно было не настраивать

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели51K

Я использую Linux 15 лет. Ну, то есть как использую: первые года три я его настраивал, а не использовал. Это разные вещи, и мне понадобилось позорно много времени чтобы это понять.

Сейчас у меня Fedora. Из коробки. С GNOME. Почти без кастомизации. Я набираю в ней код, сижу в браузере, иногда монтирую видео для внутренних демок. Всё работает.

Пятнадцать лет назад я бы от такого описания плевался. Как это «из коробки»? А где i3? Где polybar? Где 400 строк .vimrc? Где кастомный скрипт на баше который при подключении второго монитора переключает раскладку DPI и температуру цвета?

Ну вот, нету. И ничего не сломалось.

Читать далее

Что не так с SVG-файлами в Tcl/tk?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели13K

В версии tcl/tk-9.0 добавлена возможность создавать изображения image из SVG-файлов (а значит и сохранять их в png-формате). Всё было хорошо до тех пор пока мне для статьи на сайте Tcler's Wiki ни потребовался флаг США для кнопки переключения языка интерфейса:

Читать далее

GPU Compute Engine для 1С: как перестать ждать часами и начать считать на видеокарте

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7K

Массовые расчёты в 1С — авансы, себестоимость, MRP — традиционно узкое место при больших объёмах данных. Последовательная обработка на CPU занимает минуты и часы, и ни индексы, ни мощный сервер проблему не решают. В этой статье я показываю, как перенести такие вычисления на видеокарту через Vulkan Compute Shaders. Разбираю три реальных кейса — от простого расчёта авансов до MRP с Монте-Карло симуляциями — с цифрами, фрагментами шейдеров и архитектурными схемами. Ускорение: от 300 до 2500 раз. Движок с открытым исходным кодом, тестовые базы и полный инструментарий прилагаются.

Читать далее

Как навайбкодить полезный инструмент для работы с ВМ

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели15K

При решении очередной задачи по небольшой "модификации" ПО- возникло решение запуска его под ВМ. По рукой уже стояла Oracle VirtualBox. Но вот незадача- ПО опознало виртуалку и отказалось выдать триал период. 2 промпта и 3 минуты на копирование и сборку решили проблему.

Читать далее

Вайбкодим .EXE под Windows с GUI на AutoHotkey v2

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.5K

История о том, как превратить консольный скрипт в полноценное Windows приложение с GUI на AutoHotkey v2 при помощи нейросетей и вайбкодинга.

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

Читать далее

Отпечатки пальцев в трейлере RE9

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели11K

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

Интересно? Погнали!

Облачные технологии. Неожиданный поворот

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели14K

В сентябре2025 на просторах Хабра была опубликована статья «Облачные сервисы на Tcl/Tk». Спустя полчаса после опубликования появился комментарий от CloudTk-JeffSmith  , который приятно удивил меня:

Читать далее

Как замутить свой мини-Gmail и использовать его для своих рекламных рассылок

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.6K

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

На одном из последних запросов я получил оффер — Установить Hestia, Roundcube, настроить почту. Казалось бы нет ничего проще — пишем промт в ИИ (chatGPT моя супруга ласково его называет по свойски «спроси у гопоты») и получай ответы. Но не тут то было...

А конкретнее...

Основы AGSL для android разработчика

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели7.3K

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

Представь: тебе нужно «поколдовать» над пикселями прямо в UI - добавить живой градиент, искажение картинки под пальцем, стеклянный блеск карточке и тому подобные эффекты. Раньше для этого приходилось прибегать к «тяжеловесам» таким как OpenGL/Vulkan, либо мучить CPU постобработкой битмапов. AGSL (Android Graphics Shading Language) решает это элегантнее: это язык фрагментных шейдеров, встроенный в сам графический стек Android, так что эффекты применяются прямо на уровне отрисовки интерфейса.

Читать далее

Ближайшие события

Сравниваю Jupyter Notebook, Google Colab, Kaggle и Marimo глазами исследователя и начинающего Data Scientist

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели8K

Я пришел в Data Science не сразу. Учился в магистратуре по вечерам, работая в совершенно другой сфере (строительство). Осваивать машинное обучение и анализ данных было интересно, но один из самых неожиданных вопросов, который возник буквально сразу - в какой среде писать код?

На первый взгляд кажется, что Jupyter Notebook, Google Colab, Kaggle и сравнительно новая Marimo - это одно и то же, ноутбук с ячейками и Python (так же поддерживаются другие языки программирования). Но на практике каждая из этих сред подходит для разных задач, где-то удобнее учиться, а где-то работать командой.

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

Статья будет полезна:

Читать далее

Графический редактор PaintCAD Mobile — переделка под большие экраны телефонов

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.3K

Жил-был в 2000-2005(-2010) годах такой пет-проект - графический пиксель-арт редактор для J2ME мобильных телефонов - PaintCAD (смесь паинта и системы, управляемой с телефонной клавиатуры, ползающей курсором по рисунку, рисующей и применяющей эффекты, обрабатывающей изображения, создающей GIF-анимации, растровые PCF-шрифты и т.д.).

И что было дальше?

Захват объектов в формате 4D/6D для виртуальных сред: что с патентами?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.8K

В компьютерном пространстве 3D — это статичный объект и координаты: x, y, z. 

4D — это 3D + время. Формат 6D означает, что добавляются еще три измерения, описывающие ориентацию объекта в пространстве, что часто называют положение + вращение: как он повёрнут? (углы поворота по осям: тангаж, крен, рыскание / Pitch, Roll, Yaw). Вместе это 6 параметров. 

Читать далее

Как я установил n8n и Nginx Proxy Manager на VPS в Beget: пошаговый рассказ новичка

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

Привет, друзья! Сегодня расскажу вам, как я установил n8n (крутой инструмент для автоматизации процессов) и Nginx Proxy Manager на свой VPS-сервер в Beget. Если вы читали мою предыдущую статью, то уже знаете, что у меня уже установлен Portainer.io , который делает работу с Docker контейнерами намного проще. Если нет — не переживайте, я всё объясню так, будто это мой первый раз (и, честно говоря, так оно и есть 😅).

Читать далее

В KDE анонсировали «банановый» линукс. Как сделать дистрибутив — «вредные советы» от KDE

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели19K

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

В духе веяний времени, KDE собирается выпустить неизменяемый (immutable) дистрибутив, основанный на archlinux. Что, на мой взгляд, в очередной раз подтверждает, что KDE пережила многие другие графические оболочки не просто так. Вначале я, конечно, отнёсся к идее скептически и удивился, что её одобрили - потому что, с виду, она чрезвычайно наивная.

Но потом до меня дошло, в чём тут может быть юмор. В общем, судя по всему, разработчики KDE забьют очередную шайбу в ворота конкурентов - GNOME с их GNOME OS. Банан для названия выбран очень удачно: я помню, как какой-то художник выставил банан в качестве инсталяции современного искусства, а потом кто-то купил его за большие деньги и сразу съел. В этой статье вы найдёте "вредные советы" о том, как сделать свой дистрибутив, которые на практике могут оказаться очень даже полезными.

Читать далее

Облачные сервисы на Tcl/Tk

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.6K

С момента написания на tcl/tk удостоверяющего центра CAFL63 и утилиты cryptoarmpkcs для работы с электронной подписью меня не покидала мысль, что неплохо бы оформить их как облачные сервисы. Я постоянно смотрел в сторону проекта CloudTk.

Читать далее

Геометрия, алгебра и расстрел площади

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели17K

Мой любимый автор книг по математике Очков Валерий Федорович предложил задачу для среды SimInTech. На самом деле он вызвал меня на дуэль и предложил выяснить, кто лучше сделает решение определенной задачи в виде структурной схемы.

Задача связана с остойчивостью судна, а значит с нахождением центра масс, тела погруженного в жидкость. Поэтому на картинке Пифагор объясняет Архимеду как найти площадь путем обстрела мишени.

Читать далее
1
23 ...