Um wibox no Awesome-WM pode ser configurado verticalmente?

3

Eu uso o venerável Awesome WM para gerenciar layouts de janelas lado a lado em algumas telas. Minha configuração tem algumas vantagens, mas em geral segue uma padrão familiar com uma barra na parte superior com informações sobre o layout do teclado, a situação da marca, janelas ativas, uma bandeja do sistema e um relógio.

Porumtempoagoraeutenhoemmentequeoespaçodatelaverticalévaliosodemaisparaserdesperdiçadocomesseuso.Nãoémuitoruimnaminhaáreadetrabalhoondeeutenhováriosmonitoreseabarraéapenasemumdeles(eeupossogirarosmonitores!),Mastodavezqueeuusomeulaptopde11"eu me encontro desejando que esses 23 pixels fossem removidos da largura em vez da altura da minha tela.

O que eu gostaria de fazer é simplesmente girar o layout inteiro, a direção do texto e tudo, e colocá-lo ao longo da borda direita como:

Quando experimentei isso no passado, tudo que consegui alcançar foi uma barra nessa borda com itens empilhados verticalmente, mas a orientação de cada item ainda era horizontal e obviamente coisas como a seção da barra de tarefas não jogou muito bem dessa maneira. Eu acho que estou bem com o texto rotacionado (e até os ícones da bandeja) se eu pudesse girar a coisa toda.

Isso é possível? Se sim, como?

    
por Caleb 30.12.2015 / 10:35

1 resposta

4

Um wibox vertical é possível, usei um com 3.4 desde anos e tive que recriar a configuração com 3.5. Com base nesta discussão na lista de discussão , aqui um pequeno exemplo com widgets reordenados para o meu necessidades próprias, incluindo margens para introduzir espaçamento entre widgets:

 -- Create the wibox
mywibox[s] = awful.wibox({ position="left",orientation="north", screen = s })

-- Widgets that are aligned to the bottom
local bottom_layout = wibox.layout.fixed.horizontal()
bottom_layout:add(wibox.layout.margin(mytextclock,0,5))
if s == 1 then bottom_layout:add(wibox.widget.systray()) end
bottom_layout:add(mypromptbox[s])

-- Now bring it all together (with the tasklist in the middle)
local layout = wibox.layout.align.horizontal()
layout:set_first(bottom_layout)
layout:set_second(wibox.layout.margin(mytasklist[s],5,5))
layout:set_third(mytaglist[s])

-- Rotate
-- http://comments.gmane.org/gmane.comp.window-managers.awesome/9676
local rotate = wibox.layout.rotate()
rotate:set_direction("east")
rotate:set_widget(layout)

-- Widgets from top to bottom
local wibox_layout = wibox.layout.fixed.vertical()
wibox_layout:add(mylauncher)
wibox_layout:add(wibox.layout.margin(mylayoutbox[s],0,0,5,5))
wibox_layout:add(rotate)

mywibox[s]:set_widget(wibox_layout)

Ao ajustar veiculações de widget, recarregue a configuração com Mod+Ctrl+r

Para girar systray, esse código pode funcionar (eu não testei)

if s == 1 then
   local systray = wibox.widget.systray()
   systray:set_horizontal(false)
   systray:set_base_size(100)
   right_layout:add(systray)
end

Você pode encontrar uma configuração básica para o Awesome 3.5 no link

    
por 24.07.2016 / 19:13