我应该在窗口管理器中寻找什么?

我应该在窗口管理器中寻找什么?

我是第一次研究窗口管理器,但我真的不知道如何比较它们。

有人可以解释一下维基百科表头中的一些内容吗?

  • 类型(堆叠|平铺|动态等)
  • 符合 ICCCM/EWMH 标准
  • 选项卡式窗口

另外,如果您有任何建议,请在评论中留下。我正在研究 i3、bspwm、awesome 和其他一些,但我无法真正决定。

答案1

我用通量盒。它支持选项卡并且很容易定制它。我永远不会使用无法自定义的 GUI。

选项卡意味着您可以在选项卡中排列程序窗口,例如 XTerm 本身并不实现选项卡。也可以通过不同的程序来完成。您可以运行 Firefox、Emacs 和 XTerm,并在窗口标题中显示选项卡。请参阅 Fluxbox 功能页面上的图像。

创建样式和更改键非常简单。我使用Mod4(“Windows”键)来处理大多数窗口管理器特定的内容。这是我最喜欢的键:

Mod4 Return :Fullscreen
Mod4 Prior :PrevWorkspace
Mod4 Next :NextWorkspace

我在不同屏幕上以全屏方式运行大部分程序,没有修饰,并使用“Windows-PageUp”和“-PageDown”在虚拟屏幕之间切换。

对于 Firefox,必须禁用自动隐藏才能保持选项卡可见。

browser.fullscreen.autohide;false

我也更喜欢带有别名 Xft 字体的纯 XTerm(黑客)。这需要 X11 定制,该定制将由xrdb.

我还为笔记本屏幕和外接显示器使用不同版本的 XTerm 创建了自己的桌面菜单。 dpi 值差异很大,X11 目前无法处理此问题(需要两个不同的 X 服务器)。

我也更喜欢 xim .xinputrc

run_im xim

这一切都很老派,但我喜欢它。我讨厌 Gnome 黑客,他们认为自己最了解什么对我有利。

这是我的风格:

! szi
! based on:
! meta
! (c) joel carlbark 2003
! please dont turn on aa with this style

toolbar:                             flat gradient vertical
toolbar.color:                       #849ec6
toolbar.colorTo:                     #526d8c

toolbar.button:                      parentrelative
toolbar.button.picColor:             #d6d7e7

toolbar.button.pressed:              sunken solid
toolbar.button.pressed.color:        #526d8c
toolbar.button.pressed.picColor:     #000000

! clock
toolbar.clock:                       parentrelative
toolbar.clock.textColor:             white

! shows workspace nr
toolbar.label:                       parentrelative
toolbar.label.textColor:             white

! current active window / toolbar
toolbar.windowLabel:                 parentrelative
toolbar.windowLabel.textColor:       white

! menu ---------
menu.title:                          flat gradient vertical
menu.title.color:            sienna
menu.title.colorTo:          tan
menu.title.textColor:            black

menu.frame:                          flat gradient vertical
menu.frame.color:                    #efefef
menu.frame.colorTo:                  #c6c3c6
menu.frame.textColor:                black

menu.hilite:                         flat solid
menu.hilite.color:           tan
menu.hilite.textColor:               black

menu.bullet:                         triangle
menu.bullet.position:                right

! window --------------
window.bevelWidth:                   2

window.roundCorners:                 TopLeft TopRight BottomLeft BottomRight
window.borderWidth:                  4
window.borderColor:                  peru

window.unfocus.borderColor:          silver

window.title.focus:                  flat
!gradient vertical
window.title.focus.color:            peru
!window.title.focus.colorTo:          tan

window.label.focus:                  parentrelative
window.label.focus.textColor:        white
window.label.focus.font:             sans-10:bold

window.button.focus:                 flat
!gradient vertical
window.button.focus.color:           peru
!window.button.focus.color:           #cd8c4b
!window.button.focus.colorTo:         #d1ac7f
window.button.focus.picColor:        black

window.button.pressed:               sunken solid
window.button.pressed.color:         tan
window.button.pressed.picColor:      black

window.handleWidth:                  8
window.handle.focus:                 flat gradient vertical
window.handle.focus.color:           tan
window.handle.focus.colorTo:         peru

window.grip.focus:                   flat gradient vertical
window.grip.focus.color:             tan
window.grip.focus.colorTo:           peru

window.frame.focus:                  flat solid
window.frame.focus.color:            white

! unfocused
window.title.unfocus:                flat
!gradient vertical
window.title.unfocus.color:          silver
!window.title.unfocus.colorTo:        lightgray

window.label.unfocus:                parentrelative
window.label.unfocus.textColor:      black

window.handle.unfocus:               flat gradient vertical
window.handle.unfocus.color:         #efefef
window.handle.unfocus.colorTo:       #c6c3c6

window.grip.unfocus:                 flat gradient vertical
window.grip.unfocus.color:           #efefef
window.grip.unfocus.colorTo:         #c6c3c6

window.frame.unfocus:                flat solid
window.frame.unfocus.color:          white

window.button.unfocus:               flat
!gradient vertical
window.button.unfocus.color:         silver
!window.button.unfocus.color:         #efefef
!window.button.unfocus.colorTo:       #c6c3c6
!window.button.unfocus.picColor:      #949694
window.button.unfocus.picColor:      white

! tabs ------
window.tab.justify:                  left

window.tab.label.focus:              flat
!gradient vertical
window.tab.label.focus.color:        red
!window.tab.label.focus.colorTo:      #526d8c
window.tab.label.focus.textColor:    white

window.tab.label.unfocus:            flat
!gradient vertical
window.tab.label.unfocus.color:      green
!window.tab.label.unfocus.colorTo:    #c6c3c6
window.tab.label.unfocus.textColor:  white

window.tab.borderWidth:              1
window.tab.borderColor:              white
! -------

toolbar.justify:                     left
window.justify:                      left
menu.title.justify:                  center
menu.frame.justify:                  left

borderColor:                         #000000
borderWidth:                         1
bevelWidth:                          1
frameWidth:                          1
handleWidth:                         4

background: flat
background.color: tan

*font:                               sans-10

这是我的密钥文件。

# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu

# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace

# scroll on the toolbar to change current window
OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no)
OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no)

# alt + left/right click to move/resize a window
OnWindow Mod4 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
OnWindowBorder Move1 :StartResizing NearestCornerOrEdge

OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
OnLeftGrip Move1 :StartResizing bottomleft
OnRightGrip Move1 :StartResizing bottomright

# alt + middle click to lower the window
OnWindow Mod4 Mouse2 :Lower

# control-click a window's titlebar and drag to attach windows
OnTitlebar Control Mouse1 :StartTabbing

# double click on the titlebar to shade
OnTitlebar Double Mouse1 :Shade

# left click on the titlebar to move the window
OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
OnTitlebar Move1  :StartMoving

# middle click on the titlebar to lower
OnTitlebar Mouse2 :Lower

# right click on the titlebar for a menu of options
OnTitlebar Mouse3 :WindowMenu

# alt-tab
Mod1 Tab :NextWindow {groups} (workspace=[current])
Mod1 Shift Tab :PrevWindow {groups} (workspace=[current])

# cycle through tabs in the current window
Mod4 Left  :PrevTab
Mod4 Right :NextTab

# go to a specific tab in the current window
Mod4 1 :Tab 1
Mod4 2 :Tab 2
Mod4 3 :Tab 3
Mod4 4 :Tab 4
Mod4 5 :Tab 5
Mod4 6 :Tab 6
Mod4 7 :Tab 7
Mod4 8 :Tab 8
Mod4 9 :Tab 9

Mod4 x :Exec xterm
Mod4 p :Exec xsel -op | xsel -ib
Mod4 r :Reconfig
Mod4 space :WindowMenu

# volume settings, using common keycodes
# if these don't work, use xev to find out your real keycodes
176 :Exec amixer sset Master,0 1+
174 :Exec amixer sset Master,0 1-
160 :Exec amixer sset Master,0 toggle

# current window commands
Mod4 BackSpace :Close
#Mod1 F5 :Kill
Mod4 n :Minimize
Mod4 v :MaximizeVertical
Mod4 m :Maximize
Mod4 Return :Fullscreen

# open the window menu
#Mod1 space :WindowMenu

# exit fluxbox
#Control Mod1 Delete :Exit

# change to previous/next workspace
Mod4 Prior :PrevWorkspace
Mod4 Next :NextWorkspace

# send the current window to previous/next workspace
#Mod4 Left :SendToPrevWorkspace
#Mod4 Right :SendToNextWorkspace

# send the current window and follow it to previous/next workspace
#Mod4 Left :TakeToPrevWorkspace
#Mod4 Right :TakeToNextWorkspace

# send the current window to a specific workspace
Mod4 F1 :Workspace 1
Mod4 F2 :Workspace 2
Mod4 F3 :Workspace 3
Mod4 F4 :Workspace 4
Mod4 F5 :Workspace 5
Mod4 F6 :Workspace 6
Mod4 F7 :Workspace 7
Mod4 F8 :Workspace 8
Mod4 F9 :Workspace 9
Mod4 F10 :Workspace 10
Mod4 F11 :Workspace 11
Mod4 F12 :Workspace 12

# send the current window and change to a specific workspace
#Control Mod4 F1 :TakeToWorkspace 1
#Control Mod4 F2 :TakeToWorkspace 2
#Control Mod4 F3 :TakeToWorkspace 3
#Control Mod4 F4 :TakeToWorkspace 4
#Control Mod4 F5 :TakeToWorkspace 5
#Control Mod4 F6 :TakeToWorkspace 6
#Control Mod4 F7 :TakeToWorkspace 7
#Control Mod4 F8 :TakeToWorkspace 8
#Control Mod4 F9 :TakeToWorkspace 9
#Control Mod4 F10 :TakeToWorkspace 10
#Control Mod4 F11 :TakeToWorkspace 11
#Control Mod4 F12 :TakeToWorkspace 12

我的.Xresources

Xcursor.theme: Vanilla-DMZ-AA
Xcursor.size: 32

Xft.hinting: true
Xft.autohint: false
Xft.hintstyle: hintfull
Xft.antialias: true
Xft.rgba: rgba

XTerm*.LoginShell: true
XTerm*saveLines: 16384
XTerm*jumpScroll: true
XTerm*faceName: Hack:size=10

XTerm*geometry: 160x50

XTerm*background: white
XTerm*foreground: black
XTerm*cursorColor: red
XTerm*highlightColorMode: true
XTerm*highlightColor: khaki
XTerm*highlightTextColor: black
XTerm*color0:     rgb:00/00/00
XTerm*color1:     rgb:80/00/00
XTerm*color2:     rgb:00/80/00
XTerm*color3:     rgb:80/80/00
XTerm*color4:     rgb:00/00/80
XTerm*color5:     rgb:80/00/80
XTerm*color6:     rgb:00/80/80
XTerm*color7:     rgb:c0/c0/c0
XTerm*color8:     rgb:80/80/80
XTerm*color9:     rgb:aa/00/00
XTerm*color10:    rgb:00/aa/00
XTerm*color11:    rgb:aa/aa/00
XTerm*color12:    rgb:00/00/aa
XTerm*color13:    rgb:aa/00/aa
XTerm*color14:    rgb:00/aa/aa
XTerm*color15:    rgb:ff/ff/ff

Emacs.FontBackend: xft

我的菜单文件:

[begin] (Fluxbox)
  [exec] (Terminal klein) { xterm -fa Hack:size=10 } <>
  [exec] (Terminal groß) { xterm -fa Hack:size=13 } <>
  [exec] (Datei-Manager) { pcmanfm } <>
  [exec] (Editor) { emacs } <>
  [exec] (Firefox) { LANG=de_DE.UTF-8 firefox } <>
  [exec] (Chromium) { LANG=de_DE.UTF-8 chromium } <>
  [exec] (Uhr) { xclock -bg tan } <>
  [submenu] (Standard-Menü) {}
    [include] (/etc/X11/fluxbox/fluxbox-menu)
  [end]
  [exit] (Exit)
[end]

相关内容