Awesome-WM 中的 wibox 可以垂直设置吗?

Awesome-WM 中的 wibox 可以垂直设置吗?

我用尊者很棒的WM管理多个屏幕上的平铺窗口布局。我的配置有一些好处,但总的来说,它遵循熟悉的模式,顶部有一个栏,其中包含有关我的键盘布局、标签情况、活动窗口、系统托盘和时钟的信息。

当前水平布局

一段时间以来,我一直认为垂直屏幕空间太宝贵了,不能浪费在这种用途上。在我的台式机上,这还不错,我有多个显示器,并且条形图仅位于其中一台显示器上(而且我可以旋转显示器!),但每次我使用 11 英寸笔记本电脑时,我发现自己希望将这 23 个像素去掉屏幕的宽度而不是高度。

我想做的只是旋转整个布局、文本方向等,然后将其沿着右边缘放置,如下所示:

所需垂直布局的模型

当我过去尝试过这一点时,我所能实现的只是在该边缘上有一个栏,项目垂直堆叠,但每个项目的方向仍然是水平的,显然任务栏部分之类的东西没有播放这样就很好了。我想如果我可以旋转整个东西,我就可以接受旋转的文本(甚至托盘图标)。

这可能吗?如果是这样,怎么办?

答案1

垂直 Wibox 是可能的,我多年来一直使用 3.4 的 Wibox,不得不使用 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

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

相关内容