1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
|
Configuring
===========
fbpanel stores its configurations in ~/.config/fbpanel directory.
Every profile is represented by a single text file with a same name.
Name of default profile is «default». Edit relevant file and restart fbpanel.
You can also tell running fbpanel to reload its configuration by sending it USR1 signal.
% vim ~/.config/fbpanel/default
% killall -USR1 fbpanel # tell fbpanel to reload configuration
In addition, there is configuration GUI that covers all panel's options, but not plugins yet.
To get it, click Ctrl-Button2 anywhere in panel or run it with -C option.
<<<< Configuration file structure >>>>
==============================
Configuration file consists from one Global section, that covers panel options, and one or more Plugin sections.
The syntax is following:
* Spaces at the begining and at the end of a line are ignored
* Lines strarting with '#' or blank lines are ignored. '#' in any other place is NOT treated as comment
* Variable's name is NOT case sensitive
* Variable's value IS case sensitive
* Variable's value is a text from first non-blank char after '=' till the last non-blank char.
* Section starts by its type (Global or Plugin) and "{' on a same line, then inner variables and sections, and ends with '}' on separate line.
<<<<< Global section >>>>>
It describes global panel parameters like position, size and some NETWM settings.
If variable has default value, it can be omited. The full variable list is:
* Edge - screen edge
Legal values are left, right, top or bottom.
Default is bottom.
* Allign - allignment of a panel
Legal values are left, right or center.
Default is center.
* WidthType - units of width
Legal values are
o pixel - width is number of pixels
o percent - width is percent of an edge
o request - follow widgets' size requests. can shrink or grow dynamically
Default is percent.
* Width - panel width in widthtype units
Legal values are numbers.
Default is 100.
* HeightType - units of height
Legal values are
o pixel - height is number of pixels
Default is pixel.
* Height - panel height in heighttype units
Legal values are numbers.
Default is 26.
* Margin - margin from screen edge for left or right allignment. Legal values are numbers.
Default is 0.
* SetDockType - set panel's NETWM window type to Dock Legal values are true or false.
Default is true.
* SetPartialStrut - ask NETWM compliant window manager to not cover panel by maximized windows. Legal values are true or false.
Default is true.
* Transparent - enable transparent background Legal values are true or false.
Default is false.
* TintColor - color to composite on root background Legal values are colors, eg 0xRRGGBB or red, black etc.
Default is white.
* Alpha - transparency of the tint color Legal values are numbers from 0 to 255.
Default is 127.
* Autohide - hide panel when mouse is far enough Legal values are true or false.
Default is false.
* RoundCorners - panel has rounded corners Legal values are true or false.
Default is true.
* RoundCornersRadius - radius of ronded corners. Legal values are numbers from 0 to 25.
Default is 7.
* Layer - stacking layer of a panel Legal values are above or below.
Default is above.
* SetLayer - set or not stacking layer of panel. If not, defaul WM policy is used. Legal values are true or false.
Default is false.
* MaxElemHeight - maximal height of plugins' lements, like icons, messages etc. If plugin has more space, it can place elements in multiple rows. Legal values are numbers from 10 to 200.
Default is 200
For example:
Global {
edge = bottom
allign = center
margin = 0
widthtype = percent
width = 92
height = 48
transparent = true
tintcolor = #ffffff
alpha = 32
setdocktype = true
setpartialstrut = true
autohide = false
heightWhenHidden = 2
roundcorners = false
roundcornersradius = 7
layer = above
setlayer = false
maxelemheight = 24
}
<<<<< Plugin section >>>>>
It describes which plugin to load, how to position it and has plugin specific configuration section. If variable has default value, it can be omited. The full variable list is:
* type - plugin type
Legal values are battery, cpu, dclock, deskno, deskno2, genmon, icons, image, launchbar, mem, menu, net, pager, separator, space, systray, taskbar, tclock, volume, wincmd
Mandatory.
* expand - expand plugin if extra space is available
Legal values are true or false
Default is false
* padding - padding around plugin in pixels
Legal values are numbers
Default is 0
* config - a section with plugin specific configuration.
For example:
Plugin {
type = space
expand = false
padding = 0
config {
size = 2
}
}
Plugin {
type = cpu
}
Plugins with additional configuration
Cpu
* color - chart color
Legal values are colors eg 0xRRGGBB or red, black etc.
Default is green.
For example:
Plugin {
type = cpu
config {
Color = green
}
}
Net
* interface - interface to watch
Legal values are network interface names.
Default is eth0.
* TxColor - color of Tx traffic
Legal values are colors.
Default is violet.
* RxColor - color of Rx traffic
Legal values are colors.
Default is blue.
* TxLimit - Tx limit of the connection, in KB/s. Used to scale chart properly
Legal values are numbers.
Default is 12.
* RxLimit - Rx limit of the connection, in KB/s. Used to scale chart properly
Legal values are numbers.
Default is 120.
For example:
Plugin {
type = net
config {
interface = eth0
TxLimit = 20
RxLimit = 190
TxColor = violet
RxColor = blue
}
}
Pager
* ShowWallpaper - show desktop wallpaper in pager window or not
Legal values are true or false.
Default is true.
For example:
Plugin {
type = pager
config {
showwallpaper = true
}
}
Space
* size - size of space to occupy in pixels
Legal values are numbers.
Default is 1.
For example:
Plugin {
type = space
config {
size = 15
}
}
Mem
* ShowSwap - show swap usage or not
Legal values are true or false
Default is false.
For example:
Plugin {
type = mem
config {
ShowSwap = true
}
}
dclock
* ShowSeconds - show secondsor not
Legal values are true or false
Default is false.
* HoursView - 24h or 12h hours view
Legal values are 12 or 24
Default is 24.
* TooltipFmt - tooltip content
Legal values are strftime formats
Default is %A %x.
* Action - command to run on mouse click
Legal values are bash commands
Default is none.
* Color - digits color
Legal values are colors, eg 0xRRGGBB or red, black etc.
Default is blue.
For example:
Plugin {
type = dclock
config {
ShowSeconds = false
HoursView = 24
Action = xmessage Please define some command
}
}
tclock
* ClockFmt - Clock format string. May contain strftime conversion specifications and Pango markup information.
Legal values are strings
Default is "%R".
* TooltipFmt - Tooltip format string. May contain strftime conversion specifications and Pango markup information.
Legal values are strings
Default is "%A %x".
* Action - command to run on mouse click
Legal values are bash commands
Default is none.
* ShowCalendar - Show a GTK calendar widget when the clock is clicked. Only valid if Action is unset.
Legal values are true or false
Default is true.
* ShowTooltip - Show tooltip for clock
Legal values are true or false
Default is true.
Plugin {
type = tclock
config {
# 2 line view, time in bold above and date below
ClockFmt = %-l:%M %P
%a %B %-e
TooltipFmt = %A %x
#Action = xmessage Please define some command
ShowCalendar = false
ShowTooltip = true
}
}
Taskbar
* TBD
For example:
plugin {
type = taskbar
expand = true
config {
ShowIconified = true
ShowMapped = true
ShowAllDesks = false
tooltips = true
IconsOnly = false
MaxTaskWidth = 150
}
}
Launchbar
* TBD
For example:
plugin {
type = launchbar
expand = false
padding = 0
config {
button {
icon = gnome-terminal
tooltip = Terminal
action = xterm
}
button {
image = /opt/google/chrome/product_logo_48.png
tooltip = Google Chrome
action = google-chrome
}
}
}
Menu
* TBD
For example:
plugin {
type = menu
config {
icon = start-here
systemmenu {
}
separator {
}
menu {
name = Computer
icon = computer
item {
name = Terminal
icon = terminal
action = x-terminal
}
item {
name = Lock Display
icon = gnome-lockscreen
action = xtrlock2
}
separator {
}
item {
name = Reboot
icon = gnome-session-reboot
action = sudo reboot
}
}
}
}
Icons
* TBD
For example:
plugin {
type = icons
expand = false
padding = 0
config {
DefaultIcon = /usr/share/fbpanel/images/default.xpm
application {
icon = gnome-terminal
ClassName = XTerm
}
application {
icon = gnome-terminal
ClassName = mlterm
}
application {
icon = gnome-terminal
ClassName = URxvt
}
application {
icon = gnome-emacs
ClassName = Emacs
}
application {
icon = mozilla-firefox
ClassName = Firefox-bin
}
application {
icon = mozilla-firefox
ClassName = Firefox
}
application {
image = /usr/share/icons/yasis/scalable/apps/gnome-ppp.svg
AppName = minicom
}
}
}
-- Ulises Vitulli <dererk@debian.org> Tue, 06 Jul 2010 02:35:37 -0300
|