Saçak renklerini arka plan rengine nasıl ayarlayabilirim?


12

Denilen arabelleği ortalamak için dev saçaklar kullanan dikkat dağıtan bir mod kullanıyorum bzg-big-fringe-mode.

Sorun şu ki, bu saçaklar genellikle çirkin bir görsel efekt veren arka plandan farklı bir renge sahip (sondaki resme bakın).

Bu şekilde saçak rengini arka plan rengine ayarlayarak manuel olarak düzeltmeyle ilgili bir sorunum yok:

(set-face-attribute 'fringe nil :background "#3F3F3F" :foreground "#3F3F3F")

Sorun, temaları değiştirirken, yeni tema için mantıklı olmasa da, saçak renkleri gri kalıyor.

Saçak programlı olarak arka plan rengine ayarlamanın bir yolu var mı?

Sanırım iki şeye ihtiyacım var:

  1. Saçak arka plan rengini varsayılan arka plan rengine ayarlama yeteneği.
  2. Temaları değiştirmek ve yukarıda 1. olan bir işlev.

Sanırım 2) emacs yeteneğim olmasa da, nasıl yapabilirim 1)?

Yoksa bu bir nedenden dolayı kötü bir fikir mi? Eğer öyleyse, daha iyi bir yaklaşım nasıl olurdu?

resim açıklamasını buraya girin

Yanıtlar:


11

Resmi yol, saçak yüzünün arka plan yüzüyle aynı görünmesini sağlamak için söz konusu temayı özelleştirmektir. Çizgiler boyunca bir yüz spec (fringe :inherit default)hile yapmalıdır.

Alternatif olarak, bir kod snippet'i kullanarak anında değiştirebilirsiniz:

(defun my-tone-down-fringes ()
  (set-face-attribute 'fringe nil
                      :foreground (face-foreground 'default)
                      :background (face-background 'default)))

Geriye kalan tek sorun, her tema değişikliğine uygulamak olacaktır. Biraz üzücü bir iş yapabilir gibi görünen herhangi bir kanca bulamıyorum, defadvicedüzgün de çalışmıyor gibi görünüyor. En azından Emacs 24.4'te değil


Teşekkürler. SB'nin bir çözümü olması durumunda kabul ederek Pazartesi'ye kadar bekleyeceğim.
Unfun Cat

1
Kullanmamak için bir neden var mı face-backgroundve face-foregroundbu kod parçacığının?
Konstantin

Düzenlenmedi.
wasamasa

6

Saçak rengini nil olarak ayarlayabilirsiniz, bu durumda herhangi bir tema değişikliği hakkında endişelenmenize gerek yoktur. Benim yapılandırmada aşağıdakiler var:

(set-face-attribute 'fringe nil :background nil)

Ve saçak kayboluyor .... :)


0

Bir şekilde 'fringebenim için çalışmayı bıraktı ve şimdi bunu yapıyor:

(set-face-attribute 'linum nil :background "gray19")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.