LINUX.ORG.RU

Сообщения thm

 

Получение текущей раскладки клавиатуры C++/Qt [РЕШЕНО]

Здравствуйте. Имеем C++, Qt, Xorg, setxkbmap. Подскажите, пожалуйста, как получить текущую раскладку клавиатуры вида us или ru. Пробовал разные варианты:

  • Стандартными функциями Qt (возвращает us вне зависимости от реальной раскладки)

  • https://github.com/nonpop/xkblayout-state (дает результат, но запрашивать данные с него, пусть даже раз в 0.5 сек, сильно потребляет ресурсы)

  • setxkbmap -print | awk -F"+" ‘/xkb_symbols/ {print $2}’ (также дает результат, но костыльно и также потребляет ресурсы)

Собственно, вопрос, как средствами Qt или чем-то другим (но желательно не очень костыльно) получить текущую раскладку в системе? Спасибо

 , , ,

thm
()

Сигналы и слоты - проблема [РЕШЕНО]

Есть форма, на которой есть Label. Нужно обновлять его раз в секунду (выводить время).

Есть функция setTime, которая получает время от другой функции и выводит на форму:

void setTime(Ui::panel* ui, bool showSeconds) {
    QString currentTime = clockApplet::getCurrentTime(showSeconds);
    ui->timeLabel->setText(currentTime);
}

Нужно делать это раз в секунду, поэтому использую QTimer.

void setRepeatingActions(Ui::panel* ui, panel* w) {
    QTimer* timeSetTimer = new QTimer();
    timeSetTimer->setInterval(1000);
    if (!config["showSeconds"].toBool()) {
        //!  w->connect(timeSetTimer, SIGNAL(timeout()), w, SLOT(setTime(ui,false)));
        //!  w->connect(timeSetTimer, &QTimer::timeout, w, setTime(ui,false));
    }
    else {

    }
    timeSetTimer->start();
}

Оба варианта под восклицательным знаком не работают. В первом случае все компилируется, но в консоль падает: No such slot panel::setTime(ui,false). Во втором случае ему в принципе аргументы функции connect() не нравятся, no matching member function for call to ‘connect’. Подскажите, пожалуйста, что сделать, чтобы исправить.

 , , ,

thm
()

Получение системного трея

Здравствуйте! Подскажите, пожалуйста, каким образом можно получить системный трей из Python+PyQt5? Я хочу сделать, примерно как это реализовано в KDE.

 , , , ,

thm
()

Как получить текущую раскладку клавиатуры из Python?

Здравствуйте! Нужно получить раскладку клавиатуры из Python. Пробовал просто из консоли через setxkbmap (и пробовал из Python запускать), работает, но очень громоздко:

setxkbmap -print | grep xkb_symbols | awk '{print $4}' | awk -F"+" '{print $2}'

Собственно, вопрос, можно ли покороче, или есть может какая-нибудь библиотека для Python, которая это умеет? Если в Wayland это проще, то как?

 , , , ,

thm
()

Работа с D-Bus

Здравствуйте. Подскажите, пожалуйста, с чего начать изучение D-Bus. И где его юзать проще, в Python или в C++?

 , , , ,

thm
()

Получение глобального меню

Здравствуйте! Вопрос такой. Каким образом можно получить из терминала глобальное меню какого-либо окна (допустим, по ID из wmctrl -l) и взаимодействовать с ним (Xorg)? Имею ввиду так, как это реализовано в Unity или Aqua в Mac OS X.

 , , , ,

thm
()

Сломанные ссылки при скачивании через wget

Здравствуйте! Есть такая проблема. Допустим, я хочу скачать весь сайт wiki.archlinux.org. Я запускаю wget так:

wget --mirror -p --convert-links --no-parent -P ./ https://wiki.archlinux.org/
, либо так
wget -r -k -l 7 -p -E -nc --no-parent https://wiki.archlinux.org/
. Результат один и тот же. Ссылки остаются нерабочими. А именно: на страницах, которые ведут на другую страницу Arch Wiki ссылка вида:
<a href="/title/...">...</a>
. А т.к., это не https://wiki.archlinux.org/title/..., то параметр --convert-links не переделывает его под локальный путь и ссылка ессно не работает. Подскажите, пожалуйста, что с этим делать.

 , ,

thm
()

[РЕШЕНО] Получение имени окна с помощью xdotool / wmctrl

Здравствуйте! Есть вопрос насчет утилит xdotool / wmctrl. Как получить заголовок окна по его ID? У меня есть ID (я его получил с помощью wmctrl -l), мне нужно по нему найти нужное окно. Искал в интернете, нашел только наоборот поиск по заголовку окна.

 , , ,

thm
()

Выбор оконного менеджера / разработка оконного менеджера

Здравствуйте! Хочу написать окружение рабочего стола на Qt, и начать решил с оконного менеджера. Подскажите, пожалуйста, какой оконный менеджер подойдет для этих целей (можно написать свою тему для него, + он не является полноценным окружением, таким как OpenBox), либо с чего стоит начать разработку своего собственного оконного менеджера? Спасибо.

 , ,

thm
()

[РЕШЕНО] Создание интерфейса VIRTUAL1 в конфигах Х

Здравствуйте! Возникла необходимость подключить устройство по VNC в качестве второго монитора к компьютеру, подключить провод нет возможности. Для этого нашел x11vnc. Я уже разобрался как просто дублировать экран, но мне надо «расширить». Пробовал создавать по инструкции в интернете файл по пути /usr/share/X11/xorg.conf.d/20-intel.conf содержания (без точек): Section «Device» ……..Identifier.«intelgpu0» ……..Driver……«intel» ……..Option…..«DRI»……«3» EndSection Но после перезапуска Х’ов с таким конфигом они перестали почему-то запускаться. Удалил, запустились ессно. Подскажите, пожалуйста, как сделать интерфейс VIRTUAL1 для его последующего использования через x11vnc. Спасибо. Intel Core i7-10510U / Intel UHD 620 / Arch Linux Вопрос решен. После того, как написал 20-intel.conf нужно было установить xf86-video-intel драйвер.

 , ,

thm
()

RSS подписка на новые темы