LINUX.ORG.RU

Избранные сообщения ox55ff

btrfs - мнимое «Не осталось свободного места»

Форум — Admin

Удачно монтирую btfs-раздел, но далее при попытке даже изменить права доступа на файл или каталог пишет:

На устройстве не осталось свободного места

Хотя при этом через df -h видно на этом разделе 7 ГБ свободно:

/dev/sda6           30G          22G  7,0G           76% /mnt/LEAP-15

Пробовал отмонтировать раздел и запустить

# btrfsck  /dev/sda6
Checking filesystem on /dev/sda6
UUID: 66be278b-9c9c-45ef-96a5-1a9eb375aa44
checking extents
checking free space cache
checking fs roots
checking csums
checking root refs
found 22335524864 bytes used err is 0
total csum bytes: 20340836
total tree bytes: 593608704
total fs tree bytes: 529547264
total extent tree bytes: 36536320
btree space waste bytes: 103750573
file data blocks allocated: 70457954304
 referenced 21395312640

Но после перемонтирования ситуация та же((

 ,

gigantischer
()

Как кто запускает sway

Форум — Desktop

Или другой вялендовский WM.

Дело в том, что сейчас у меня lightdm - а это избыточная избыточность в этом плане.

lightdm требует xserver для экрана входа, который я никогда не вижу по причине автологина. Вот и хочется избавиться от лишнего звена. Слышал про запуск средствами системды, в качестве пользовательского юнита. Слышал про greetd и даже сам использовал, но в итоге забросил, даже не помню почему.

Вот и хочется узнать, как это настроено у уважаемых лорчан.

 ,

token_polyak
()

Для git вообще есть нормальный UI?

Форум — Development

Посмотрел этот gitkraken, за него даже денежку просят для каких-то фич, но то, что я увидел в триале меня удручило.

Во-первых, не очень понятно, что эта тулза дает такого вау-полезного, чего уже не дает ублюдочный gitk.

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

И вот сижу я, и не понимаю, то ли никому не нужно удобство, эти инструменты как-то можно настроить, но не понятно, как, либо люди, которые за это платят какие-то алиены…

Может быть, git вообще не вполне подходит для сложного и обозреваемого версионирования и имеет смысл использовать коммерческие VCS для больших и сложных проектов?

 ,

seiken
()

Смена клавиши для вызова «меню вызова приложений» в KDE 2023.

Форум — Desktop

По мотивам вот этой темы пару лет назад: Смена клавиши для вызова «меню вызова приложений» в KDE.

Версия вроде 5.26.5

Первым делом начал гуглить и первой же ссылкой нашел свою же тему. Решение, найденное там - уже не актуально.

Итак, есть кнопка Meta, она же super, она же Win. На нее включается «меню вызова приложений». Мне бы ее эту фичу отключить, чтобы ничего на нее не вызывалось. Во-первых, я на нее двигаю окна, во-вторых в играх если такое заденешь - очень мешает вызов.

В очередной раз разработчики что то поменяли и отключения этого вызова больше нет нигде. Есть у кого идеи как отключить?

Назначение или отмена такого назначения вручную не помогают.

[ModifierOnlyShortcuts]
Meta=

который в ~/.config/kwinrc - тоже не помогает.

 ,

LightDiver
()

Wayland KDE

Форум — Talks

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

  • Очень долго просыпается после засыпания. После того, как проснётся - не работает тачпад, если браузер был включён, его надо рестартить, картинка не обновляется.
  • После ребута, при попытке запуска сессии display-manager падает. Ручной рестарт помогает, но понятно, что это не дело.
  • Может быть чисто KDE-баг, но на панелях пропала часть значков приложений. В иксах они вернулись.
  • Блокировка экрана через раз завешивает ноут намертво. Не отвечает на кнопки, не отвечает по сети.

Тест длился около недели. Ни в одном из багов не разбирался, логи не читал, фиксить не пытался сверх ковыряния в настройках мышей. Переключился назад в иксы. Никакой заметной на глаз плавности или повышенной производительности по сравнению с иксами в Wayland не замечено.

Ноут древний и слабый, в качестве видео - встройка от AMD. Дрова дефолтные. Calculate Linux.

С моей точки зрения обычному пользователю пока рано в wayland.

 , , ,

shell-script
()

Некропостинг

Форум — Linux-org-ru

Давайте снимать скор за некропостинг. А то уже надоело. Думаешь, что это новая интресная тема, кликаешь, а там оказывается старое и засохшее говно. Портится от этого настроение. Особенно, когда такое происходит утром. Весь день может пойти на смарку.

 

rupert
()

Программа для транскрибирования диктофонных записей

Форум — Desktop

Коллеги, а не подскажете а существуют ли программы упрощающие ручное транскрибирование диктофонных записей?

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

Естественно интересуют в первую очередь опенсорсные, но проприетарные тоже пойдут, чтобы ознакомится с тем, что вообще бывает на свете…

 , , , transcribe, transcription

shaplov
()

Чем Proton лучше wine + DXVK?

Форум — Games

На третий день индеец Соколиный Глаз заметил, что у тюремной камеры нет одной стены…

Привет, ЛОР.

Внезапно озадачился вопросом: а есть ли у Proton как цельного продукта преимущества перед wine, к которому руками прикручен DXVK? Я смотрю, что в репозитории @Kron4ek, например, есть сборки и wine, и proton. Есть шанс, что у Proton будет меньше проблем с некоторыми играми?

 

hobbit
()

KDE. Notify-send. Лагает fps

Форум — General

Стоит: Debian 11 (6.0 kernel), KDE Plasma 5.20.5, драйверы nvidia 525.60.13.

Есть такая тулза libnotify-bin для отправки уведомлений на рабочий стол. Вызывается командой notify-send. Увы, в момент появления уведомления на экране получается сильный fps drop. Во всех случаях- во время просмотра видео или игры, не важно.

Есть вариант это как-то пофиксить?

 , ,

der5ys7em
()

Чувствительность колеса прокрутки мыши

Форум — Desktop

Здравствуйте.

Прилетело вчера linux 6.1.1.arch1-1 и под ним колесо мыши слишком быстрое.

Загружаюсь под linux-lts 5.15.85-1 - а тут всё хорошо, привычная скорость прокрутки от колеса.

Т.е. - не меняется вообще ничего, кроме самого ядра.

А как посмотреть/сравнить состояние системы под разными ядрами? Что-нибудь вроде сделать снимок /sys/devices/system?

Это же должно быть что-то про частоту опроса устройства, нет?

 , ,

Toxo2
()

FireJail — краткое и ознакомительное практическое руководство

Статьи — Desktop
FireJail — краткое и ознакомительное практическое руководство

Сейчас существует прорва механизмов изоляции приложений — от песочниц до виртуальных машин. Целей их применения тоже множество, но так или иначе всё сводится к тому что нужно ограничить доступ приложений к тем или иным ресурсам вычислительного устройства.

Ниже я хочу описать почти золотую середину в лице утилиты firejail в виде практических советов по использованию в первую очередь для обычных пользователей и (возможно) разработчиков.

( читать дальше... )

 , , , ,

LINUX-ORG-RU
()

Вывод графики с помощью DRI и /dev/fb0

Форум — General

Меня довольно давно интересовал вопрос вывода графики на Linux и то, как ИМЕННО это реализовано. И у меня появилась мысль реализовать свою граф. библиотеку с помощью низкоуровневого взаимодействия с драйверами и DRM в целом.

Взглянув на загаловки вроде fb.h можно найти структуры позволяющие взаимодействовать с экраном и тд., но у меня остаются вопросы по взаимодействию с этим

И все примеры, коих, я нашёл не так много(возможно, потому, что искал очень мало) Беря хотя бы эту статейку с вопроса на StackOverflow «Графика на чистом c++?» http://betteros.org/tut/graphics1.php многие примеры просто не запускаются из-за ошибок с mmap, например, или неправильных определений, которые почему-то на статье признаны «рабочими». Возможно, я что-то упускаю, запуская это с ядра? САМ ВОПРОС:

Предположим, мне необходимо с помощью низкоуровневых взаимодействий из юзерспейса с помощью framebuffer сделать линию, допустим, белого цвета на экране от середины левого края до середины правого. Как именно должна выглядеть реализация? Я должен открыть сам буффер,рассчитать занимаемое место в памяти экраном и…Выделить для него место? И mmap вывести записанные данные?

  1. Как реализовывается графика на linux в целом? Как в этом участвует FrameBuffer?
  2. Каким образом X-сервер выводит данные на экран?
  3. Где можно найти документации по подобного рода вопросам?Соурсы?

P.S Первая статья на Linux.org, не судите строго, буду учиться, а конструктивной критике - буду рад :)

UPD: Спустя время, подзабыв этот вопрос, смотрю на него, как на начало-начал. Для тех, кто заинтересуется подобного рода темой:

Графический стек линукс(в целом, система и взаимосвязи графики) работает на основе ресурсов видеокарты(того, что в целом, может отображать графику, как, например, фреймбуффер(/dev/fb*)). И, на основе этого работают все графические подпрограммы(то, что отображает окна на твоей ОС), вроде X-сервер, Wayland и тд., которые и дают начало всяким GTK для прикладной отрисовки. В целом, лучшие графики, которые я смог найти по этому поводу были вот в этом квалификационном документе: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjxipXqtr77AhWzRvEDHYjzAnAQFnoECBgQAQ&url=https%3A%2F%2Foops.math.spbu.ru%2FSE%2Fdiploma%2F2017%2Fbmo%2F444-Butrova-report.pdf&usg=AOvVaw2gPxiVBjRxUTbSj4wNOrn0

Но, если вы на данный момент находитесь на системе, которая для отрисовки использует X11(X-сервер)(За иные не ручаюсь, не смотрел), то доступа к видеопамяти он вам не даст, как и использовать фреймбуффер(Что очень очевидно, но пишу для таких же недалёких как и я, что несколько радикально и дотошно относятся к этой теме) Поэтому, Ctrl-Alt-F*, для вызова другого ОС окна(Честно говоря, не знаю, как корректно описать подобное на основе TTY драйвера) на котором все примеры из ссылки выше вполне будут работать.

Что ж…Теперь пора занятся разработкой собственной граф. подпрограммы, менеджера окон и..Пожалуй, это будет чем-то вроде наиболее низкоуровнего способа отрисовки графики(практически с нуля)(поправьте, если не прав, ведь знаю про всякие API(подчеркну, API)10h на ассемблере)

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

Вопрос закрыт

 , , , ,

Doctor_Nazare
()

Года бегут, а все-равно ваш C++ - ...

Форум — Development

В соседнем треде промелькнула очень интересная мысль.

Отличие синьора-помидора на C++ от мидла в том, что последний уже знает что C++ говно, но еще не знает, почему.

Внимание, вопрос уровня синьора-помидора. Дан код. Объясните, почему другой синьор-помидор обосрался, написав его? Где может обосраться пользователь?

Задачу не будем усложнять, допустим, у нас single producer - single consumer предполагается.

#ifndef __BLOCKING_QUEUE_HPP__
#define __BLOCKING_QUEUE_HPP__

#include <cstdlib>
#include <mutex>
#include <condition_variable>

template<typename T>
class BlockingQueue
{
private:

    struct QueueNode
    {
        T val;
        QueueNode * next;
    };

    QueueNode *_first, *_last;
    std::mutex _cs;
    std::condition_variable _cv;
    bool _abort;
    int _count;

public:

    BlockingQueue()
    {
        _first = _last = nullptr;
        _abort = false;
        _count = 0;
    }

    ~BlockingQueue()
    {
        Flush();
    }
    
    BlockingQueue(const BlockingQueue& rhs) = delete;

    void operator=(const BlockingQueue& rhs) = delete;

    bool Put(const T& val)
    {
        std::unique_lock<std::mutex> lock(_cs);

        if(!_abort)
        {
            QueueNode * node = (QueueNode*)malloc(sizeof(QueueNode));
            if (node)
            {
                new (&node->val) T(val);
                node->next = nullptr;
                if (_last)
                    _last->next = node;
                else
                    _first = node;
                _last = node;
                ++_count;
                _cv.notify_one();
                return true;
            }
        }
        return false;
    }

    bool Get(T& val)
    {
        std::unique_lock<std::mutex> lock(_cs);

        for (;;)
        {
            if (_abort) return false;

            QueueNode * node = _first;
            if (node)
            {
                _first = node->next;
                if (!_first) _last = nullptr;
                --_count;
                val = node->val;
                node->val.~T();
                free(node);
                return true;
            }
            else
            {
                _cv.wait(lock);
            }
        }
    }

    int Count()
    {
        return _count;
    }

    void Flush()
    {
        QueueNode *node, *tmp;

        std::unique_lock<std::mutex> lock(_cs);

        for (node = _first; node; node = tmp)
        {
            tmp = node->next;
            node->val.~T();
            free(node);
        }

        _first = nullptr;
        _last = nullptr;
        _count = 0;
    }

    void Abort()
    {
        std::unique_lock<std::mutex> lock(_cs);
        _abort = true;
        _cv.notify_one();
    }

    void Start()
    {
        std::unique_lock<std::mutex> lock(_cs);
        _abort = false;
        _cv.notify_one();
    }
};

#endif // __BLOCKING_QUEUE_HPP__

Вопрос номер два - назовите хотя бы один язык программирования с подобными проблемами.

 ,

lovesan
()

Me DevOps: пусть разработка будет комфортной

Статьи — Администрирование
Me DevOps: пусть разработка будет комфортной

Речь пойдёт о варианте быстрой и удобной организации изолированного окружения для разработки. Не любой разработки и не любого окружения, но вполне типового — сетевые сервисы и прилагающиеся к ним очевидные базы данных, очереди и т.п.

( читать дальше... )

 , , ,

vvn_black
()

Вышла библиотека YAFL-0.20.0!

Новости — Open Source
Группа Open Source

Сегодня, в День знаний 2022 г., состоялся второй релиз библиотеки YAFL.

YAFL — это библиотека, написанная на Си, содержащая несколько алгоритмов Калмановской фильтрации, распространяемая под лицензией Apache-2.0.

Библиотека ориентирована на применение во встраиваемых системах на базе микроконтроллеров с аппаратной поддержкой вычислений с плавающей точкой.

В новом релизе:

  • Все фильтры библиотеки стали адаптивными, т.к. добавлена возможность коррекции UDU-разложений матриц корреляции шумов измерения и процесса во время выполенения:

    • Для вариантов обобщенного фильтра Калмана поддерживается коррекция матриц корреляции шумов процесса и измерения.

    • Для вариантов сигма-точечного фильтра Калмана поддерживается только коррекция матрицы корреляции шума измерения. Что связано с нестабильной работой фильтров при включенной коррекции марицы корреляции шума процесса.

  • Добавлены AB-тесты для регрессионного тестирования а так же для сравнения поведения функций из YAFL с и прототипами на Pyhton (numpy, FilterPy).

  • Добавлены тестовые проекты на Си.

  • Выполнено ручное тестирование библиотеки, исправлены выявленные ошибки.

Таким образом, теперь пользователь может ошибаться не только с моделями процесса и наблюдения, но и с оценками матриц корреляции шумов процесса и измерения.

Репозитории библиотеки доступны на:

Поздравляем всех школьников и студентов с профессиональным праздником!

>>> Подробности

 , , ,

shkolnick-kun
()

Отладка DBus — как это вообще делают?

Форум — Development

Понадобилось отладить немного нестандартную конфигурацию dbus. Полез гуглить, все примеры какие-то дико перегруженные. Можно ведь сделать простой чат на dbus-monitor и dbus-send? Как это проще всего сделать?
Суть: на одной машине запускается dbus-daemon, слушающий определённый TCP-порт. К нему с других машин могут подключаться dbus-monitor'ы, чтобы получать сообщения и dbus-send'ы, чтобы отправить сообщения. Как это должно работать? Или я что-то делаю не так?

 , , ,

CYB3R
()

Неразбериха с сетевой скоростью материнок на NM10 Express

Форум — Linux-hardware

Речь об семействе Intel материнках на базе чипсетов NM10 Express.
Например, классика жанра - Системная плата Intel® D510MO для настольных ПК
Во всех спецификациях для нее указывается примерно следующее:

 Интегрированный сетевой адаптер 10/100/1000
И оказалось, что реальная скорость между такой материнкой и другой, даже покруче, действительно отображается как 1000 Mbs, если измерять утилитой, например, iPerf3.

Но если попытаться по сети записать на диск этой материнки, то скорость с трудом поднимается до ~22 MB/s.

Казалось бы, медленный диск? А вот и нет - внутри этой материнки скорость копирования большого файла с одного диска на другой стартует на скорости 100 MB/s, а потом постепенно снижается и стабильно держится на уровне 50 MB/s.

Непонятно.... Поэтому сделал другой тест - примонтировал кусок памяти в Атоме, и начал заливать в него с другого компа большой файл.
Тут скорость ЖД уж никак не участвует - память намного шустрее.

Так вот, скорость и в этом случае не превышает 22 MB/s. Куда же она девается??

 ,

chukcha
()

Wayland это как?

Форум — Desktop

Решил накатить Wayland окружение на Gentoo, в связи с новостями о прекращении suid в xorg-server.

Установил Stage3-systemd, чтобы «по фен-шую». Началось…

Первая проблема - надо pam в sysemd (дока молчит).
Вторая - LLVM. Парни собрали «под всё», все платформы (rust-bin, zig и т.д.)
Третья - WM… В Wayland мире пока только три более-менее нормальных: DWL, Sway, River. Все развиваются, оверлеи старые. Тот же River стоит собирать из master ветки git. А Zig тянет LLVM v13 (в системе 14). Мейнтейнеры не шевелятся. Утилиты для WM разбросаны по оверлеям и тоже по большей части «протухли».
В четвёртых - Pipewire. Это такое кривое…

Плюнул на Gentoo и развернул Arch - «свежее, модно-молодёжное», куд-кудах.

Со звуком беда. MPV и Firefox прибиты к Pipewire-jack. Жрут проц и заикается звук. Многие пакеты из AUR (необходимые мне) тянут исходники из заблокированных площадок. Требуется вмешательство, бесит.

Steam… Тянет поиграть. И что? Под Wayland native - пока-пока. Только прослойка XWayland, и то криво.

И смысл всей затеи? Чтобы еле-еле дотянуть до функционала Xorg?
Навеяло - https://gitlab.freedesktop.org/wayland/wayland/-/issues/233

 , ,

Oldboy
()

amd-pstate

Форум — General

Привет, ЛОР!
Кто нибудь уже разобрался с новым драйвером управления питанием для AMD под названием amd-pstate?

У меня получилось его загрузить, но я не имею ни малейшего понятия, как им управлять.
Как ограничить частоту или мощность процессора, как выключить амудешный «turbo boost» при работе от батареи, да и вообще как хоть что-то поменять?

Гугл не помогает от слова совсем.

ann@shadowmoon:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver 
amd-pstate
ann@shadowmoon:~$ ls /sys/devices/system/cpu/cpu0/cpufreq
affected_cpus            amd_pstate_lowest_nonlinear_freq  cpuinfo_max_freq  cpuinfo_transition_latency  scaling_available_governors  scaling_driver    scaling_max_freq  scaling_setspeed
amd_pstate_highest_perf  amd_pstate_max_freq               cpuinfo_min_freq  related_cpus                scaling_cur_freq             
scaling_governor  scaling_min_freq

ann@shadowmoon:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/amd_pstate_highest_perf 
166
ann@shadowmoon:~$ echo 83 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/amd_pstate_highest_perf
tee: /sys/devices/system/cpu/cpu0/cpufreq/amd_pstate_highest_perf: Permission denied
83

ann@shadowmoon:~$ sudo cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 131 us
  hardware limits: 400 MHz - 1.90 GHz
  available cpufreq governors: performance schedutil
  current policy: frequency should be within 400 MHz and 400 MHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 2.74 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: no
    AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.51 GHz.
    AMD PSTATE Nominal Performance: 70. Nominal Frequency: 1.90 GHz.
    AMD PSTATE Lowest Non-linear Performance: 41. Lowest Non-linear Frequency: 1.11 GHz.
    AMD PSTATE Lowest Performance: 15. Lowest Frequency: 400 MHz.


ann@shadowmoon:~$ sudo cpupower frequency-set -d 1.11GHz -u 1.11GHz
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
Setting cpu: 8
Setting cpu: 9
Setting cpu: 10
Setting cpu: 11
Setting cpu: 12
Setting cpu: 13
Setting cpu: 14
Setting cpu: 15
ann@shadowmoon:~$ sudo cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 131 us
  hardware limits: 400 MHz - 1.90 GHz
  available cpufreq governors: performance schedutil
  current policy: frequency should be within 1.11 GHz and 1.11 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 2.97 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: no
    AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.51 GHz.
    AMD PSTATE Nominal Performance: 70. Nominal Frequency: 1.90 GHz.
    AMD PSTATE Lowest Non-linear Performance: 41. Lowest Non-linear Frequency: 1.11 GHz.
    AMD PSTATE Lowest Performance: 15. Lowest Frequency: 400 MHz.
ann@shadowmoon:~$ grep MHz /proc/cpuinfo 
cpu MHz		: 400.000
cpu MHz		: 400.000
cpu MHz		: 3544.897
cpu MHz		: 3136.247
cpu MHz		: 3801.438
cpu MHz		: 400.000
cpu MHz		: 4078.575
cpu MHz		: 400.000
cpu MHz		: 4143.479
cpu MHz		: 3781.898
cpu MHz		: 400.000
cpu MHz		: 3346.888
cpu MHz		: 400.000
cpu MHz		: 400.000
cpu MHz		: 400.000
cpu MHz		: 3934.364


ну, то есть, как видим — ему пофигу от слова совсем.
куда копать?

или это всё пока слишком новые шайтан технологии и нужно подождать пару релизов ядра, как обычно?

 ,

annerleen
()

Инженерная раскладка клавиатуры (Ручей)

Форум — General

Всем привет.

Клавиатурные раскладки появляются редко, тема достаточно специфическая и в новостях не встречается, поэтому хочу поделиться.

В релизе xkeyboard-config-2.36 (это Fedora 37, Arch, Gentoo) появилась русская инженерная раскладка «Ручей» (Ruchey).

Смысл раскладки в том, чтобы для кириллицы был полный набор спецсимволов. Магии, конечно не бывает и часть спецсимволов набирается с помощью правого Alt (AltGr). Зеркальная раскладка есть и для латиницы, которая имеет такое же расположение спецсимволов, а также включает в себя специфические русские символы «,»,₽,§,№.

Примечательно, что при разработке автор старался, чтобы спецсимволы, по возможности, оставались на клавишах с их изображениями и тем самым было легче привыкание.

Подробности с сайта:

  • Раскладок именно две: «Русская (инженерная, кириллица)» и «Русская (инженерная, латиница)».
  • Переключаются именно раскладки, а не языки ввода. Язык ввода один - Русский.
  • Полный набор спецсимволов как в кириллической, так и в латинской раскладке.
  • Большинство спецсимволов находятся на своих местах, но часть вынесена на третий уровень и набираются при зажатом правом Alt (AltGr).
  • Часть спецсимволов смещена для удобства набора программного кода.
  • Предусмотрено, чтобы пользователь не испытывал дискомфорт при использовании AltGr.

Ограничения, которые были заданы при разработке:

  • Буквы должны оставаться на своих местах, раскладка не решает проблему скорости набора.
  • Спецсимволы, по возможности, также должны находится на своих местах, но при этом необходимо обеспечить удобный набор часто встречаемых спецсимволов в коде.
  • Перенос спецсимволов должен компенсироваться их лёгким запоминанием.
  • Не должен страдать опыт набора методом «слепой печати».

На данный момент раскладка относится «экзотическим» и расположена «base.extras.xml». В KDE экзотические раскладки работают из коробки. Для Gnome необходимо выполнить команду «gsettings set org.gnome.desktop.input-sources show-all-sources true», чтобы увидеть экзотические раскладки в списке доступных.

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

Например без переключений можно напечатать:

§ Решение
  если А > Б && С < Д, то СП = `{А,Б,С,Д}`

Сайт проекта на GitHub

 ,

mega_m
()