LINUX.ORG.RU

Как в Arch/Awesome сделать dark theme?

 , ,


0

1

Как-то в Ubuntu + awesome wm у меня вышло сделать примерно так:

https://i.imgur.com/RwEocZe.png

(ну или приблизительно так, мне важно, чтобы не было как в скриншоте ниже):

Ну и в частности, чтобы например не было так:

https://imagebin.ca/v/4ScRMlfcxU3I

Ну т.е., чтобы выше темным был и фон кода и фон file explorer'а. То же относится к разным другим программам. Я совершенно забыл как я это сделал. Глядя на картинку первую, я решил, что наверное я это сделал тулзой gnome-tweaks. Но когда я запускаю ее на Arch с awesome wm, то получаю:

$ gnome-tweaks 
WARNING : Shell not installed or running
WARNING : Error detecting shell
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/gtweak/tweaks/tweak_group_shell_extensions.py", line 217, in __init__
    raise Exception("Shell not running or DBus service not available")
Exception: Shell not running or DBus service not available
WARNING : Shell not running
NoneType: None
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/gtweak/app.py", line 30, in do_activate
    self.win = Window(self, model)
  File "/usr/lib/python3.7/site-packages/gtweak/tweakview.py", line 38, in __init__
    self._model.load_tweaks(self)
  File "/usr/lib/python3.7/site-packages/gtweak/tweakmodel.py", line 104, in load_tweaks
    mods = __import__("gtweak.tweaks", globals(), locals(), tweak_files, 0)
  File "/usr/lib/python3.7/site-packages/gtweak/tweaks/tweak_group_workspaces.py", line 170, in <module>
    sw = StaticWorkspaceTweak(size_group=sg, loaded=_shell_loaded)
  File "/usr/lib/python3.7/site-packages/gtweak/tweaks/tweak_group_workspaces.py", line 46, in __init__
    self.check1.set_visible(self.settings[self.key_name])
TypeError: 'GSettingsFakeSetting' object is not subscriptable

Впрос(ы):

  • Эта та тулза, что мне надо?
  • Если да, как ее взлететь?
  • А проще нельзя?

Спасибо заранее за ответ.

Из сообщений очевидно, что программа gnome-tweaks предназначена для настройки гномощели, которая в Awesome не запускается. И, естественно, никакого отношения темы в Awesome к гномощели не имеют, они настраиваются через конфиг на Lua

annulen ★★★★★ ()
Ответ на: комментарий от annulen

Кроме конфига awesome ему надо ковырять конфиг gtk, или qt, или чем у топикстартера содержимое окон отображается - полосы меню там, радиобуттоны, и прочая. Проще всего - полазить по всяким theme каталогам, подобрать по вкусу, и мелкие детальки при желании подпилить ручками. Может, и конфиг файлманагера ковырнуть придётся.

piyavking ★★★ ()
WARNING : Shell not installed or running
WARNING : Error detecting shell
Exception: Shell not running or DBus service not available
WARNING : Shell not running

Для кого написано?

Эта та тулза, что мне надо?

И да, и нет.

Если да, как ее взлететь?

Запустить Awesome внутри GNOME Shell (как — вопрос не ко мне).

А проще нельзя?

Установи тему руками.

mord0d ()
Ответ на: комментарий от annulen

программа gnome-tweaks предназначена для настройки гномощели

Не совсем. Она может менять темы GTK+/иконок/курсоров (но скорее всего без GNOME Shell придётся поднимать окружение вручную, чтобы оно подхватывалось).

mord0d ()
Ответ на: комментарий от actionless

common/awesome/theme - хорошо погуглю так.

Но мне надо не awesome theme, а gtk/qt theme, в одном месте. gnome-weaks мне это сделал, но да на Убунте, да с gdm, но таки с awesome. Вот я и подумал... Думал есть что-то вроде arandr для этих гребаных gtk/qt theme - одна тулза, которая работает везде - все счастливы.

dissident ()
Последнее исправление: dissident (всего исправлений: 2)
Ответ на: комментарий от dissident

Ладно, тут написано:

https://wiki.archlinux.org/index.php/Uniform_look_for_Qt_and_GTK_applications...

И тут:

https://wiki.archlinux.org/index.php/Qt#Configuration_of_Qt5_apps_under_envir...

Только там все через ж-у. В-общем, как я понял, надо, например:

  • поставить что-то где есть dark (например: breeze (Qt4), breeze-gtk (GTK), breeze-kde(Qt4 из AUR, здох); или adwaita из каких-то AUR), lxappearance (GTK), qt5ct (Qt5), qtconfig-qt4 (Qt4)
  • запустить что-нибудь вроде lxappearance и там выбрать breeze и dark например (Gtk)
  • запустить что-нибудь вроде qt5ct там тоже самое и добавить в .bashrc QT_QPA_PLATFORMTHEME=qt5ct (Qt5)
  • запустить что-нибудь вроде qtconfig-qt4 там тоже самое (Qt4)

Только вот breeze-kde сдох, adwaita надо ставить из AUR, а фон в QtCreator надо вообще в нем самим же выбирать где-то в Tools -> Options -> Environment а также Tools -> Options -> TextEditor, т.е. ему на эти конфиги наплевать вообще.

Жесть. Советчику редактировать .css файлы от Qt я предлагаю делать тоже самое каждый день по полчаса с утра.

dissident ()
Последнее исправление: dissident (всего исправлений: 1)
Ответ на: комментарий от actionless

Да да, lxappearance, я вспомнил. Но неужели, за столько лет, никому не захотелось написать тулзу, в которой тыкаешь, она сама все делает и для Gtk и Qt и для 2 и для 3 и для 4 и для 5 а еще и подтягивает все сама и ненуждается в костылях вроде gnome-shell.

dissident ()
Ответ на: комментарий от dissident

как только все перечисленные тулкиты научатся поддерживать темы в примерно одинаковом формате — так сразу и появится :D

кстати, вот тема gtk в awesome: https://github.com/awesomeWM/awesome/tree/master/themes/gtk

actionless ★★★★★ ()
Ответ на: комментарий от actionless

Вот когда речь заходит о кьют5 сразу видно кдешника , вы до сих пор не врубились что вы поджарили своим ноухау божественный вебкит , вы стали смешны и похожи на кали кркеров и ваша корпораша , кьют4 все то же самое умеет нет надо залезть с костылем порашники хреновы

anonymous ()
Ответ на: комментарий от actionless

Мне пришлось дефолтную положить в .config/awesome, чтобы там что-то попортить, что-то связанное с wallpaper, не помню уже что. Б-г с ним. lxappearance помог, qt5ct надеюсь тоже, а qtconfig-qt4 Б-г с ним.

А QtCreator вообще сам по себе.

В общем ладно, сам добейся, сам бы взял и написал. Спасибо в любом случае, вопрос решен.

dissident ()
Ответ на: комментарий от anonymous

Вы о чем? Мне QtCreator был нужен тащем-то. Причем тут KDE/Gnome/Xfce/Lxde/Awesome/Whatever? WM должен быть WM. Gtk/Qt тут побоку. Qt дало 5, все перешли на 5 - это же прогресс. Причем тут KDE. Что оно на 5 перешло? А что, ему на 4 сидеть надо было? Ладно, я вообще за KDE не в курсе, за Gnome тоже не в курсе, как только они начали эксперименты, мне пришлось вернуться в Xfce/Lxde/Awesome, потому что очень неудобное это Gnome3 с этой дурацкой Mac OS X панелькой, где нельзя разобраться, что где (даже в Windows XP это «групированние в task bar» выключалось, а тут нет, подозреваю, что KDE тоже стал дурацкий.

dissident ()
Ответ на: комментарий от Shein

Есть шанс нарваться на это.

Зачем мне xubuntu? К обычной Ubuntu прикручивается awesome/Xfce/Lxde, все что хочешь. Почему дистрибутив должен носить имя Wm?

Ладно, я не хочу разжигать никаких воен, просто выбор тем IMHO мог бы быть попроще.

dissident ()
Ответ на: комментарий от dissident

Дома никакого gdm не хочу.

Тогда задача только усложняется. GDM настраивает окружение (dbus в частности), и если ты не знаешь, что конкретно делает GDM, воспроизвести это руками не сможешь (по поводу настройки окружения для симуляции сессии GNOME я тебе не подскажу, не тыкал ни GNOME, ни GDM).

А просто сбоку прикрутить gnome shell нельзя?

Тебе нужно запустить WM в DE, а не пытаться запустить DE из WM. Установи GNOME Shell, и попробуй заменить штатный WM (Mutter) на Awesome.

mord0d ()
Ответ на: комментарий от mord0d

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

lxappearance + qt5ct + тема, которая умеет gtk/qt (например breezer или adwaita). Эффект примерно тот же (только надо в ~/.bashrc написать «export QT_QPA_PLATFORMTHEME=qt5ct»).

А ну еще qtconfig-qt4 нужна тулза для Qt4 приложений, но к ней темы повымерали из репозиториев, так что толку от нее...

PS Наверняка в gnome-tweaks возможностей больше и можно все вообще темное сделать, а набором перечисленных тулзов наверное не все, но наверное есть еще какие-то тулзы. Было бы реально нереально круто, если бы был конфиг эдитор, который бы знал про все конфиги qt/gtk, какие возможны.

Тебе нужно запустить WM в DE, а не пытаться запустить DE из WM. Установи GNOME Shell, и попробуй заменить штатный WM (Mutter) на Awesome.

Я понял. Но мне вовсе не нужно DE. Поэтому gnome-tweaks для меня отпадают.

dissident ()
Ответ на: комментарий от Moondancer

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

Что за сплошной нытьё про HiDPI в GTK+2/Qt4, я не пойму?

потому что у тебя нет такого оборудования. тебя, наверное, нытьё всяких там автолюбителей тоже не сильно волнует ;)

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 2)
Ответ на: комментарий от mord0d

Тебе нужно запустить WM в DE, а не пытаться запустить DE из WM

ему нужен только демон настроек, как я понял из поста (а не всякие там полкиты и иже с ним), а для этого достаточно запустить любой демон настроек (кроме совсем жирного гномовского который тесно связан с остальным их сессионным барахлом), например, вышеупомянутый xsettingsd, но от lxde, xfce или mate тоже должны подойти

кстати, о сессиях: я раньше использовал lxde-шную, но пару дней назад начал мигрировать на mate (в lxde-шной я не осилил малой кровью сделать dbus уведомления приложениям о логауте, чтоб они просились сохраниться и блокировали выключение)

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 1)
Ответ на: комментарий от actionless

А ты не мог бы ты объяснить зачем мне демон настроек? У меня есть набор редакторов настроек (lxappearance, qt5ct, qtconfig-qt4 и наверное существуют какие-то еще), что полезного мне даст демон (а не редактор) настроек если мне просто надо поменять темы GTK/Qt?

Вопрос совершенно серьезный без всякого подвоха.

dissident ()
Ответ на: комментарий от actionless

искореженные скейлингом шрифты

Это неправильные шрифты, битмапные шрифты от скейлинга не корёжатся.

потому что у тебя нет такого оборудования

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

Moondancer ()
Ответ на: комментарий от Moondancer

битмапные шрифты от скейлинга не корёжатся.

сделай скриншот :D

только не забывай, что ненужный qt5 умеет скэйлить не только по целому множителю

и что битмапный терминус 16 — это совсем не заапскейленный терминус 8

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 2)
Ответ на: комментарий от Moondancer

что не так, ещё раз спрашиваю?

много чего, чем сложнее интерфейс программы, тем больше косяков

первое что пришло на ум — чекбокс размером 2 на 2 миллиметра (снайперский прицел на прилагается)

actionless ★★★★★ ()
Ответ на: комментарий от actionless

ему нужен только демон настроек, как я понял из поста (а не всякие там полкиты и иже с ним)

Ну так ТС просил попроще, я ему и попроще.

кстати, о сессиях: я раньше использовал lxde-шную, но пару дней назад начал мигрировать на mate (в lxde-шной я не осилил малой кровью сделать dbus уведомления приложениям о логауте, чтоб они просились сохраниться и блокировали выключение)

У меня в .xinitrc вот так:

/bin/systemctl --user import-environment DISPLAY XAUTHORITY
/usr/bin/dbus-update-activation-environment DISPLAY XAUTHORITY
/usr/bin/dbus-launch --exit-with-session /usr/bin/awesome

mord0d ()
Ответ на: комментарий от mord0d

это совсем не то. можешь погуглить по словам «Session Inhibit» если в моём объяснении было не понятно (UPD: а, я понял, что тебе не понятно :-) я говорю про X-сессию, а не какую-то другую)

кстати, сегодня таки допилил интеграцию с мате-сессией, теперь и инхибит и полкит идеально работают и без всякой лишней фигни:

lightdm --> mate-session (X session manager, но он создает и dbus-сессиию) --> mate-session autostart (awesome, polkit, и всякие мелочи типа bluetooth) --> awesome-wm autostart (xsettingsd и так всякие мелочи именно прикладные)

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 3)
Ответ на: комментарий от actionless

а, и самое главное, код для корректного завершения работы: https://github.com/actionless/awesome_config/blob/devel/config/menu.lua#L21-L46

первая часть функций отправляет SIGTERM _до_ запроса завершения, чтобы программы отработали сигнал и показали диалог завершения

вторая — говорит менеджеру сессии дождаться завершения программ блокирующих перезагрузку и покажет окно (https://i.imgur.com/hOgrPVv.png) и только после этого отправит сигтерм оставшимся приложениям и наконец-таки произойдет перезагрузка/логаут

и, кстати, некоторые программы он еще даже перезапускает при ре-логине, но не все :D https://github.com/mate-desktop/mate-session-manager/issues/42 но мне конкретно эта фича не нужна (пока CRIU не завезут), так что без разницы

может в awesome wiki весь этот рецепт этот отправить, не знаю

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 1)
Ответ на: комментарий от actionless

к тому же, без первого шага некоторые приложения отключатся от X-сервера _до_ того как им будет отправлен SIGTERM и некорректно завершатся, а не по сигтерму, но ты этого све равно не увидел бы т.к. X server то уже выключен в тот момент, но, например браузеры не всегда адекватно на это реагируют и т.п.

actionless ★★★★★ ()
Ответ на: комментарий от Moondancer

битмапные шрифты от скейлинга не корёжатся.

https://pic4a.ru/91/O9Y.png

твоя цитата противоречит твоему скриншоту, дискомфорт от апскейлинг артефактов на нём очевиден.

у меня нечего добавить по этому поводу

actionless ★★★★★ ()
Ответ на: комментарий от Moondancer

какая разница, как ты его переключаешь, кликом по боксу, по лейблу или клавиатурой

размер чекбокса от этого больше не станет — чтобы его переключить нужно видеть его текущее состояние, а не тратить время и вглядываться

actionless ★★★★★ ()
Ответ на: комментарий от actionless

а не тратить время и вглядываться

Кто тебе виноват, что у тебя говнотема, в которой тикнутый чекбокс от нетикнутого хрен отличишь? В прыличных они как минимум разного цвета.

Moondancer ()
Ответ на: комментарий от Moondancer

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

не вижу смысла продолжать с тобой разговор

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 1)