Once more, for old time’s sake

Edit: Unfortunately, the images originally included in this post are gone, because of hosting problems in late 2009. My apologies.

For the past couple of nights I’ve been remaking the fbpanel configurations I used to create the fake Gnome Ubuntu desktop. Here’s another screenshot, in case those have also disappeared off the photo hosting service.

These configuration files are not as comprehensive as the first ones, but those are gone into the infinity, so if you’re after the files (like the one or two e-mails a month that ask for them), these will have to do.

The top bar, generally running at around 1024 pixels across (the system tray should stretch to take up extra space). Note that the Applications menu is the fbpanel “system” menu; if you want something closer to Gnome, you’ll have to build it yourself. I also didn’t include the networking icons, and the newer Gutsy icons. And I also expect you to dig in and further customize these to your liking. Most of the buttons just punch up a terminal.

########################################
## fbpanel configuration file         ##
########################################


# DESCRIPTION
# Configuration file consists of mandatory 'Global' block that MUST come first,
# and optionally one or more 'Plugin' block.
# Lines having '#' as first non-blank char or blank lines are ignored
# Keywords are not case-sensitive
# Values are case-sensitive
# Value of variable is a text from first non-blank char after '='
# till the last non-blank char. '#' is NOT treated as coment in this context

# 'Global' block describes global parameters like position, size and
# some NETWM settings

# Global {

#     # screen edge
#     # legal values are: left, right, top, bottom
#     edge = bottom

#     # allignment of a panel
#     # legal values are: left, right, center
#     allign = left

#     # length of margin (in pixels)
#     # legal values are numbers
#     margin = 0

#     # widthtype specifies how panel width is calculated
#     # legal values are: request, pixel, percent
#     #   request - follow widgets' size requests. can shrink or grow dynamically
#     #   pixel   - occupy fixed number of pixels, then 'width' variable holds a number
#     #   percent - be 'width' precent of an edge.
#     widthType = percent

#     # numerical value of width (not applicable for 'request' widthtype)
#     # legal values are numbers
#     width = 80

#     # heighttype specifies how panel height is calculated
#     # legal values are: pixel
#     #   pixel   - ocupy fixed number of pixels, then 'height' variable holds a number
#     heightType = pixel

#     # numerical value of height (if applicable)
#     # legal values are numbers
#     height = 28


#     # Identify panel window type as dock
#     # legal values are boolean
#     setDockType = true

#     # Reserve panel's space so that it will not be covered by maximazied windows
#     # legal values are boolean
#     # setPartialStrut = true


#     # Transparency stuff:
#     # tintColor is a color to composite on root background given as #RRGGBB or as name
#     # alpha is transparency of the tint color.
#     # transparent = true
#     # tintColor = #FFFFFF
#         or
#     # tintColor = white
#     # alpha = 127

#     # Autohide
#     # autoHide = false
#     # heightWhenHidden = 2

# }



# 'Plugin' block specifies a plugin to load. It has same syntax for both
# builtin and external plugins.

# First parameter is 'type'. It's mandatory and must come first
# Legal values are plugin names. Names of builtin plugins are:
# separator   - visual separator
# wincmd      - 'show desktop' button
# taskbar     - lists all opened windows (tasks)
# launchbar   - bar with launch button
# image       - just shows an image
# dclock      - digital clock
# space       - just seize space
# pager       - thumbnailed view of the desktop
# tray        - tray for XEMBED icons (aka docklets)

# expand - specifies if plugin can accomodate extra space or not [optional]
# padding - extra padding around plugin  [optional]
# config {} - block of plugin's private configuration.
#             This part is plugin  dependant


#
# Plugin {
#     type = wincmd
#     config {
#         image = ~/.fbpanel/images/Desktop2.png
#         tooltip = Left click to iconify all windows. Middle click to shade them.
#     }
# }


Global {
    edge = top
    allign = left
    margin = 0
    widthType = percent
    width = 100
    heightType = pixel
    height = 26
    roundCorners = false
    transparent = false
    tintColor = #ffffff
    alpha = 39
    autoHide = false
    heightWhenHidden = 2
}

Plugin {
        type = space
        config {
                size = 2
        }
}

Plugin {
    type = menu
    config {
    icon = start-here
    name = Applications
        systemmenu {
        }
        separator {
        }
        item {
            icon = gnome-settings
            name = configure
            #image = /usr/share/fbpanel/images/gnome-setting.svg
            command = configure
        }

        item {
            icon = gnome-terminal
            name = terminal
            #image = /usr/share/fbpanel/images/gnome_terminal.svg
            action = sakura
        }

    }
}

Plugin {
    type = menu
    config {
    icon = folder
    name = Places
        item {
            icon = folder_home
            name = Home Folder
            command = emelfm2 
        }
        separator {
        }
        item {
        	icon = computer
        	name = Computer
        	command = emelfm2 --one=/
        }
        separator {
        }
        item {
        	icon = network-workgroup
        	name = Network
        	command = emelfm2 --one=/
        }

    }
}

Plugin {
        type = space
        config {
                size = 3
        }
}

Plugin {
	type = menu
	config {
	icon = computer
	name = System
	item {
		icon = gnome-settings
		name = Settings
		command = sakura
	}
	separator {
	}
	item {
		icon = exit
		name = Exit session
		command = killall openbox
	}
}
}

Plugin {
    type = launchbar
    config {
        
    button {
        icon = internet-web-browser
            tooltip = NetSurf web browser
            action = netsurf
    }

    }

}

Plugin {
        type = space
        config {
                size = 8
        }
}

Plugin {
    type = space
    config {
        size = 3
    }
}

Plugin {
    type = tray
    expand = true
}

Plugin {
	type = launchbar
	config {
		button {
			icon = audio-volume-high
			tooltip = Adjust volumes
			action = sakura -e alsamixer
		}
	}
}

Plugin {
        type = space
        config {
                size = 3
        }
}

# Digital Clock
Plugin {
    type = tclock
    config {
        ClockFmt = %R
        TooltipFmt = %A %x
        Action = xmessage Please define some command &
    }
}

Plugin {
        type = space
        config {
                size = 3
        }
}

Plugin {
    type = launchbar
    config {
        button {
            icon = exit
            #image = /usr/share/fbpanel/images/file-manager.svg
            tooltip = Exit session
            action = killall openbox
		}
	}
}

Plugin {
        type = space
        config {
                size = 3
        }
}


The bottom bar, which was much more easy to make, and to mimic. Again, I expect you to further customize this to better reflect your system.

########################################
## fbpanel configuration file         ##
########################################


# DESCRIPTION
# Configuration file consists of mandatory 'Global' block that MUST come first,
# and optionally one or more 'Plugin' block.
# Lines having '#' as first non-blank char or blank lines are ignored
# Keywords are not case-sensitive
# Values are case-sensitive
# Value of variable is a text from first non-blank char after '='
# till the last non-blank char. '#' is NOT treated as coment in this context

# 'Global' block describes global parameters like position, size and
# some NETWM settings

# Global {

#     # screen edge
#     # legal values are: left, right, top, bottom
#     edge = bottom

#     # allignment of a panel
#     # legal values are: left, right, center
#     allign = left

#     # length of margin (in pixels)
#     # legal values are numbers
#     margin = 0

#     # widthtype specifies how panel width is calculated
#     # legal values are: request, pixel, percent
#     #   request - follow widgets' size requests. can shrink or grow dynamically
#     #   pixel   - occupy fixed number of pixels, then 'width' variable holds a number
#     #   percent - be 'width' precent of an edge.
#     widthType = percent

#     # numerical value of width (not applicable for 'request' widthtype)
#     # legal values are numbers
#     width = 80

#     # heighttype specifies how panel height is calculated
#     # legal values are: pixel
#     #   pixel   - ocupy fixed number of pixels, then 'height' variable holds a number
#     heightType = pixel

#     # numerical value of height (if applicable)
#     # legal values are numbers
#     height = 28


#     # Identify panel window type as dock
#     # legal values are boolean
#     setDockType = true

#     # Reserve panel's space so that it will not be covered by maximazied windows
#     # legal values are boolean
#     # setPartialStrut = true


#     # Transparency stuff:
#     # tintColor is a color to composite on root background given as #RRGGBB or as name
#     # alpha is transparency of the tint color.
#     # transparent = true
#     # tintColor = #FFFFFF
#         or
#     # tintColor = white
#     # alpha = 127

#     # Autohide
#     # autoHide = false
#     # heightWhenHidden = 2

# }



# 'Plugin' block specifies a plugin to load. It has same syntax for both
# builtin and external plugins.

# First parameter is 'type'. It's mandatory and must come first
# Legal values are plugin names. Names of builtin plugins are:
# separator   - visual separator
# wincmd      - 'show desktop' button
# taskbar     - lists all opened windows (tasks)
# launchbar   - bar with launch button
# image       - just shows an image
# dclock      - digital clock
# space       - just seize space
# pager       - thumbnailed view of the desktop
# tray        - tray for XEMBED icons (aka docklets)

# expand - specifies if plugin can accomodate extra space or not [optional]
# padding - extra padding around plugin  [optional]
# config {} - block of plugin's private configuration.
#             This part is plugin  dependant


#
# Plugin {
#     type = wincmd
#     config {
#         image = ~/.fbpanel/images/Desktop2.png
#         tooltip = Left click to iconify all windows. Middle click to shade them.
#     }
# }


Global {

    edge = bottom
    allign = left
    margin = 0
    widthType = percent
    width = 100
    heightType = pixel
    height = 26
    roundCorners = false
    transparent = false
    tintColor = #ffffff
    alpha = 39
    autoHide = false
    heightWhenHidden = 2
}

Plugin {
        type = space
        config {
                size = 2
        }
}

Plugin {
    type = wincmd
    config {
        icon = gnome-fs-desktop
        #image = /usr/share/fbpanel/images/gnome-fs-desktop.svg
        tooltip = Left click to iconify all windows. Middle click to shade them.
    }
}

Plugin {
        type = space
        config {
                size = 7
        }
}

Plugin {
    type = taskbar
    expand = true
    config {
        ShowIconified = true
        ShowMapped    = true
        ShowAllDesks  = false
        tooltips = true
        IconsOnly = false
        MaxTaskWidth = 150
    }
}

Plugin {
    type = pager
    config {
        showwallpaper = true
    }
}

Plugin {
        type = space
        config {
                size = 3
        }
}

Plugin {
    type = launchbar
    config {
        button {
            icon = emptytrash
            #image = /usr/share/fbpanel/images/file-manager.svg
            tooltip = Trash
            action = emelfm2 --one=~/.local/share/Trash/files
		}
	}
}

Plugin {
        type = space
        config {
                size = 3
        }
}

And there you have it. Don’t forget to customize it to the software you have installed; I use emelFM2 and Sakura a lot; you’ll probably want to change to the software you use (of course! :roll: ). And if your screen size differs, you’ll probably want to correct that. And if you want different icons, you’ll have to change that. And so forth, and so on. What I’m trying to say is, these aren’t something you can just drop in and run with. You have a little editing ahead of you.

And there still doesn’t seem to be an option to run without a icon. So I couldn’t duplicate the iconless “Place” and “System” menus. Oh well.

The next obvious step is to carve the Openbox right-click menu down to the two or three entries that the Gnome desktop menu has, and add a few desktop icons. iDesk might do the trick for you. Then find acceptable Ubuntu Gnomish wallpaper, maybe a GTK2 theme, cursor theme, and you should be close to done. But all that is up to you. ;)

fbpanel is the only panel utility I know of that can run two at a time — one at the top and one at the bottom. it’s much more flexible that you would guess from looking at these pictures — if you want something very GTK that can do transparency, etc., fbpanel might interest you.

On the other hand, this is old-school Linux: You have to hand-edit almost everything there. And fbpanel isn’t very forgiving if you make a code mistake.

It looks like the author(s) are working on some sort of on-the-fly configuration. That would be a blessing, but it’s worth noting that lxpanel has already built that on to fbpanel. So I wouldn’t suggest waiting for a release of fbpanel if you want easier customization; lxpanel is basically the same thing, and is much easier to handle.

Regardless, lxpanel doesn’t want to run two-at-a-time like fbpanel does, so if it’s the fake-o Gnome desktop you’re after, I believe fbpanel is the only one that can do it.

About these ads

10 Responses to “Once more, for old time’s sake”


  1. 1 urukrama 2007/12/04 at 8:31 AM

    Missing Gnome, KMandla? :twisted:

  2. 2 K.Mandla 2007/12/04 at 8:34 AM

    No, no. :D This was leftover from almost a year ago, when I was tinkering with some distro and thought about making one up that looked like it … for older machines, of course. :roll:

    The last thing I want is Gnome. :shock:

  3. 3 chris4585 2008/03/09 at 3:18 AM

    very nice i’ll have to try this sometime with fluxbox or openbox :)

  4. 4 chris4585 2008/03/27 at 6:41 AM

    i finally got around to this k.mandla and it works perfect, i had to edit a lot and figure the code out but it was simple enough :)

  5. 5 Bayoon 2008/04/24 at 6:21 PM

    Very interesting !!!

    Nice tuto. Thanks

  6. 6 whs001 2011/01/06 at 11:59 AM

    Thanks. I hunted around quite a bit to find a tip on running two panels. But one thing is missing — how do you NAME the second panel? I can’t have two files with the same name in the .fbpanel folder. I’ve tried several names for the second panel, logged out and back in, and still don’t have a second panel.


  1. 1 And what exactly will sudo rm -rf do? « Motho ke motho ka botho Trackback on 2007/12/06 at 12:17 PM
  2. 2 Creativity plus perseverance « Motho ke motho ka botho Trackback on 2008/04/06 at 9:51 PM
  3. 3 ubuntu fbpanel layout « I am what I am because of what we all are Trackback on 2008/05/10 at 10:37 PM
  4. 4 Hogyan? » Ubuntu minimal + openbox Trackback on 2009/07/15 at 4:12 PM

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Welcome!



Visit the Wiki!

Some recent desktops


May 6, 2011
Musca 0.9.24 on Crux Linux
150Mhz Pentium 96Mb 8Gb CF
 


May 14, 2011
IceWM 1.2.37 and Arch Linux
L2300 core duo 3Gb 320Gb

Some recent games


Apr. 21, 2011
Oolite on Xubuntu 11.04
L2300 core duo 3Gb 320Gb

Enter your email address to subscribe to this blog and receive notifications of new posts.

Join 405 other followers

License

This work is licensed under the GNU Free Documentation License. Please see the About page for details.

Blog Stats

  • 3,959,559 hits

Archives


Follow

Get every new post delivered to your Inbox.

Join 405 other followers

%d bloggers like this: