Size: a a a

Emacs — русскоговорящее сообщество

2020 September 07

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
Например, какой-нибудь inverse-video атрибут у одного фейса от старой темы может применяться к новой
источник

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
Короче, все решаемо
источник

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
Есть disable-theme
источник

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
Берешь и отрубаешь всё кроме текущей темы
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
yosk
Темы, которые входят в дефолтный emacs тоже хуевые? (при переключении levuen -> whiteboard та же проблема, обе темы вроде есть по дефолту).
Попробуй через customize-themes
источник

y

yosk in Emacs — русскоговорящее сообщество
Как я понял, проблема возникает когда включена более чем одна тема. А как можно выключать все темы, кроме последней включенной?
источник

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
У меня сейчас висит деустоп, поэтому я не могу проверить, но вроде список тем лежит в custom-enabled-themes
источник

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
И можно просто взять первые n-1 и в цикле поотключать
источник

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
источник

IO

Ivan Oreshnikov in Emacs — русскоговорящее сообщество
Примерно как тут
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
yosk
Как я понял, проблема возникает когда включена более чем одна тема. А как можно выключать все темы, кроме последней включенной?
Не ебать мозг и пользоваться кастомом
источник

y

yosk in Emacs — русскоговорящее сообщество
Pig Greenest
Не ебать мозг и пользоваться кастомом
Не ебать мозг - скучно! Вот это я написал. Проверку на null наверное можно объединить со вторым пунктом. Кроме того, я не знаю что используется вместо else в elisp, поставил t. Вроде работает, но я очень мало программировал на elisp-е (конфиг на use-package не в счет), возможно код можно улучшить.
(defun disable-previous-themes ()
 "Disable themes enabled earlier to avoid faces conflict"
 ()
 (cond
  ((null custom-enabled-themes) nil)
  ((= (length custom-enabled-themes) 1) t)
  (t (progn
       (disable-theme (cadr custom-enabled-themes))
       (disable-previous-themes)))))
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
t и используется
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
блять, вот где учат писать (= (length custom-enabled-themes) 1)?
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
кажется в схеме
источник

y

yosk in Emacs — русскоговорящее сообщество
Нигде, а что? Я не знаю как можно написать лучше.
источник

y

yosk in Emacs — русскоговорящее сообщество
Pig Greenest
блять, вот где учат писать (= (length custom-enabled-themes) 1)?
Чем это плохо и как это можно исправить?
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
тем, что (= 1 (length custom-enabled-themes)) гораздо проще читать
источник

y

yosk in Emacs — русскоговорящее сообщество
Pig Greenest
тем, что (= 1 (length custom-enabled-themes)) гораздо проще читать
Я разницы не чувствую, но учту.
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
Пока я жив
(defun disable-themes-but-first ()
 ;; Шоб було
 (interactive)
 (mapc #'disable-theme (cdr-safe custom-enabled-themes)))
источник