Configuration

Awesome-WM 中的 wibox 可以垂直設置嗎?

  • September 19, 2016

我使用古老的Awesome WM來管理跨幾個螢幕的平鋪視窗佈局。我的配置有一些優點,但總的來說它遵循熟悉的模式,頂部有一個欄,其中包含有關我的鍵盤佈局、標籤情況、活動視窗、系統托盤和時鐘的資訊。

目前水平佈局

一段時間以來,我一直認為垂直螢幕空間太寶貴了,不能浪費在這種用途上。在我的台式機上,我有多個顯示器並且欄只在其中一個上並不算太糟糕(而且我可以旋轉顯示器!),但每次我使用我的 11 英寸筆記型電腦時,我發現自己希望這 23 個像素被取出我的螢幕的寬度而不是高度。

我想做的只是簡單地旋轉整個佈局、文本方向和所有內容,並將其放置在右邊緣,如下所示:

所需垂直佈局的模型

當我過去對此進行實驗時,我所能實現的只是該邊緣上的一個欄,其中項目垂直堆疊,但每個項目的方向仍然是水平的,顯然工作列部分沒有播放這樣很好。如果我可以旋轉整個內容,我想我可以接受旋轉的文本(甚至托盤圖示)。

這可能嗎?如果是這樣,怎麼做?

垂直 wibox 是可能的,多年來我一直使用 3.4 的一個,並且不得不用 3.5 重新創建設置。基於這個郵件列表討論,這裡有一個簡短的範例,其中包含根據我自己的需要重新排序的小元件,包括引入小元件之間間距的邊距:

-- 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)

調整小元件位置時,重新載入配置Mod+Ctrl+r

要旋轉系統托盤,這段程式碼可以解決問題(我沒有測試過)

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

您可以在https://github.com/ymartin59/awesome-vertical-wibox找到 Awesome 3.5 的基本配置

引用自:https://unix.stackexchange.com/questions/252301