LINUX.ORG.RU

Тема awesome, которая автоматически жрат системные (~/.Xresources) цвета.

 , ,


0

1

Без перенастройки самой темы.

theme = {}

theme.font          = "Terminus 9"

-- bg and fg

local h = io.popen("xrdb -query | grep 'foreground:' | awk '{print $2}'")
x_fg = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'background:' | awk '{print $2}'")
x_bg = h:read("*l")
h:close()

-- black
local h = io.popen("xrdb -query | grep 'color0:' | awk '{print $2}'")
black = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color8:' | awk '{print $2}'")
l_black = h:read("*l")
h:close()

-- red
local h = io.popen("xrdb -query | grep 'color1:' | awk '{print $2}'")
red = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color9:' | awk '{print $2}'")
l_red = h:read("*l")
h:close()

-- green
local h = io.popen("xrdb -query | grep 'color2:' | awk '{print $2}'")
green = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color10:' | awk '{print $2}'")
l_green = h:read("*l")
h:close()

-- yellow
local h = io.popen("xrdb -query | grep 'color3:' | awk '{print $2}'")
yellow = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color11:' | awk '{print $2}'")
l_yellow = h:read("*l")
h:close()

-- blue
local h = io.popen("xrdb -query | grep 'color4:' | awk '{print $2}'")
blue = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color12:' | awk '{print $2}'")
l_blue = h:read("*l")
h:close()

-- magenta
local h = io.popen("xrdb -query | grep 'color5:' | awk '{print $2}'")
magenta = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color13:' | awk '{print $2}'")
l_magenta = h:read("*l")
h:close()

-- cyan
local h = io.popen("xrdb -query | grep 'color6:' | awk '{print $2}'")
cyan = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color14:' | awk '{print $2}'")
l_cyan = h:read("*l")
h:close()

-- white
local h = io.popen("xrdb -query | grep 'color7:' | awk '{print $2}'")
white = h:read("*l")
h:close()

local h = io.popen("xrdb -query | grep 'color15:' | awk '{print $2}'")
l_white = h:read("*l")
h:close()

theme.bg_normal     = x_fg
theme.bg_focus      = x_fg
theme.bg_urgent     = x_fg
theme.bg_minimize   = x_fg
theme.bg_systray    = x_fg

theme.fg_normal     = x_bg
theme.fg_focus      = l_magenta
theme.fg_urgent     = l_red
theme.fg_minimize   = l_black

theme.border_width  = 0
theme.border_normal = l_white
theme.border_focus  = white
theme.border_marked = l_black

theme.taglist_bg_focus = blue
theme.taglist_fg_occupied = l_white
theme.taglist_fg_empty = l_black

Найдено здесь.



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

ну да, хорошая идея брать через xrdb (я парсил .Xresources), надо будет себе запилить парсинг ответа xrdb

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

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

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

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

ну я примерно так и сделал: https://github.com/actionless/awesome_config/blob/devel/themes/lcars_xresourc...

но сам парсинг xresources-файла кривой вышел и я не стал заморачиваться с тем, что там переменные могут быть по-разному заданы, с xrdb получится и элегантнее и с более предсказуемым результатом

actionless ★★★★★
()

Ну и говнокод.

ados ★★★★★
()
colors = {}
h = io.popen("xrdb -query")
query = h:read('*a')
h:close()

for i,c in string.gmatch(query, "%*color(%d+):[^#]*(#[%a%d]+)") do
    colors[tonumber(i)] = c 
end
bg = string.match(query, "*background:[^#]*(#[%a%d]+)")
fg = string.match(query, "*foreground:[^#]*(#[%a%d]+)")
doraneko
()
Последнее исправление: doraneko (всего исправлений: 1)
Ответ на: комментарий от doraneko

«%*color(%d+):[^#]*(#[%a%d]+)»

ништяк, спасибо! хорошо, что не самому пришлось это писать :)

actionless ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.