A novice's guide to the wide world of Linux
GnoMenu – Take 2
Since my last post about GnoMenu a lot has changed. Firstly, it is now up to version 2.5, and the last version I really messed with was version 1.6 or 1.7.
I will be going over how to make the following:
- The Start Button — updated
- The Icons used in the Menu
- The Menu itself
GnoMenu Start Button How-To
Not much has truly changed when it has come to creating your own start button. You still need to decide if you like an image that comes up over the panel, or one that doesn’t. The difference that I have noticed is that GnoMenu will now scale the button to the size that you have the panel. (When I last wrote up the how-to last year you would have had to have gone in and resize the images when you wanted to change the panel size, or have a skewed button.)
Steps you will have to take for no matter which style you want:
- Choose your image (256px by 256px is a respectable size to exit without having to squint your eyes. You can always shrink it later.)
- save a copy as themepreview.png
- Top?
- crop off the top of the image (top 10-20%) and cut and paste it to a new file
- No Top?
- leave the image a lone and start with the next set of steps
- How to make the glow and depressed portions of the start button:
- No Top
- save image as start-here.png
- change the brightness to -50, save as start-here-depressed.png
- undo, change brightness to 50, save as start-here-glow.png
- Has Top
- Do the above for the bottom parts of the button and save them with the save names
- save original top part of the image as start-here-top.png
- change the brightness to -50, save as start-here-top-depressed.png
- undo, change brightness to 50, save as start-here-top-glow.png
- Total number of images files for no top start button: 4
- Total number of images files for start button that has a top: 7
![]()
Now that you have your images, you need to create an xml file for the set. There is only one difference between the xml file for one that has a top, and one that doesn’t. You will see it in the file (and in case you don’t its the line that says <theme Top=”0″ id=”HasTop”> 0 = false, 1 = true)
Button that does not extend above the height of the panel:
-
<?xml version="1.0" ?>
-
<content type="Button">
-
<ContentData Name="Black22" Author="linuxgurl13" Copyright="GPL"/>
-
<theme Top="0" id="HasTop">
-
<Background Image="start-here.png" ImagePressed="start-here-depressed.png" ImageHover="start-here-glow.png"/>
-
<Top Image="start-here-top.png" ImagePressed="start-here-top-depressed.png" ImageHover="start-here-top-glow.png"/>
-
</theme>
-
</content>
Button that does extend above the height of the panel:
-
<?xml version="1.0" ?>
-
<content type="Button">
-
<ContentData Name="Black" Author="linuxgurl13" Copyright="GPL"/>
-
<theme Top="1" id="HasTop">
-
<Background Image="start-here.png" ImagePressed="start-here-depressed.png" ImageHover="start-here-glow.png"/>
-
<Top Image="start-here-top.png" ImagePressed="start-here-top-depressed.png" ImageHover="start-here-top-glow.png"/>
-
</theme>
-
</content>
GnoMenu Icons
I have to say, that unless you are going to create your GnoMenu icons from scratch, this is the easiest one to customize. You will have a total of 40 images and one xml file when you are finished. Since the xml file is the simpliest of this process, here it is:
-
<?xml version="1.0" ?>
-
<content type="Icon">
-
<theme>
-
<ContentData Name="||icon theme name||" Author="||did you create them? or did someone else?||" Copyright="||the original copyright if known, if not, put unknown||"/>
-
</theme>
-
</content>
Just replace the stuff in the “||”s and its good to go.
As for creating the icon theme itself…
The easiest thing I have found to do is searching throughout my favourite icon theme until I find a comparable icon to replace it with.
Because of time restraints I’m just showing you the icons that you can replace. I have an old example that I made by finding comparable icons from the Oxygen-Refit 2 – Green Version icon theme but there aren’t enough icons for it to be a valid theme today.
![]()
The number of files has gone up from 19 to 41.
There are repeats throughout the icons, and no sym-links to be found in any so it seems as though you will have to rename them one by one (default icon size is 60px by 60px).

The simple thing to do is to go into the folder of your favorite icon theme and search for key words in the name of the files; like video for the folder-videos.png and m_videos.png
GnoMenu Menu
With Menus, its truly up to you on how you want it to look. I decided to revisit a modified Menu theme that I made to go with the aforementioned icons and the softwhite gtk theme. I edited the image for the main menu background and changed the aux, lock, and power buttons to match the icon theme.
I edited the xml file to where it looked like this:
-
<?xml version="1.0" ?>
-
<content type="Menu">
-
<ContentData Name="GreenGlass" Author="LinuxGurl (S. Harris)" Version="0.0.1.0" Copyright="Artwork by unknown"/>
-
# If only one theme type available then specify color=’All’
-
<theme color="white" color_lang="White" colorvalue="#FFFFFF">
-
<Background Image="start-menu.png"/>
-
<WindowDimensions Width="409" Height="575"/>
-
<IconSettings X="300" Y="6" Width="65" Height="66" InsetX="6" InsetY="6" InsetWidth="46" InsetHeight="46"/>
-
#SearchBar: Widget can either be ‘Custom’, ‘GTK’ or ‘None’. This tag has to be present, everything after Widget needs to be there only if it’s ‘Custom’
-
#InsetX, Y = topleft location to start displaying text
-
#Widgetname = the file name of the python searchbar module without ‘.py’ on the end.
-
<SearchBarSettings X="7" Y="544" Width="254" Height="24" Widget="Custom" WidgetName="SearchBar" InitialText="Start Search" InsetX="6" InsetY="16" Background="m_searchbar_light.png"/>
-
<ProgramListSettings X="9" Y="41" Width="250" Height="493"/>
-
<Capabilities HasSearch="1" HasIcon="1" HasFadeTransition="1"/>
-
#Submenu="1" Commands can be: 0=Program list back button 1=Program list show base menu 2=Unmount drives list 3=Auxiliary functions 4=Recent items 5=Search(cannot be used in button context) 6=Launch top item in a search results window
-
<Button Name="Home Folder" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Home Folder</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="76" SubMenu="0" Command="Home" CloseMenu="1" Icon="m_home.png"/>
-
<Button Name="Documents" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Documents</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="111" SubMenu="0" Command="Documents" CloseMenu="1" Icon="m_documents.png"/>
-
<Button Name="Pictures" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Pictures</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="146" SubMenu="0" Command="Pictures" CloseMenu="1" Icon="m_pictures.png"/>
-
<Button Name="Music" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Music</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="181" SubMenu="0" Command="Music" CloseMenu="1" Icon="m_music.png"/>
-
<Button Name="Videos" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Videos</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="216" SubMenu="0" Command="Games" CloseMenu="1" Icon="m_videos.png"/>
-
<Button Name=":SEPARATOR:" Markup="" TextX="0" TextY="0" Image="m_separator.png" ButtonIcon="" ButtonIconSel="" ButtonX="270" ButtonY="251" SubMenu="0" Command="0" CloseMenu="0" Icon=""/>
-
<Button Name="Search" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Search</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="254" SubMenu="0" Command="Search" CloseMenu="1" Icon="m_search.png"/>
-
<Button Name="Show History" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Show History</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="m_submenu_icon.png" ButtonIconSel="" ButtonX="266" ButtonY="289" SubMenu="1" Command="4" CloseMenu="0" Icon="m_recentitems.png"/>
-
<Button Name="Computer" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Computer</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="324" SubMenu="0" Command="Computer" CloseMenu="1" Icon="m_computer.png"/>
-
<Button Name="Network" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Network</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="359" SubMenu="0" Command="Network" CloseMenu="1" Icon="m_network.png"/>
-
<Button Name="Connect to _Server…" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Connect to _Server…</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="394" SubMenu="0" Command="Network Config" CloseMenu="1" Icon="m_connect.png"/>
-
<Button Name=":SEPARATOR:" Markup="" TextX="0" TextY="0" Image="m_separator.png" ButtonIcon="" ButtonIconSel="" ButtonX="270" ButtonY="429" SubMenu="0" Command="0" CloseMenu="0" Icon=""/>
-
<Button Name="Control Center" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Control Center</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="432" SubMenu="0" Command="Control Panel" CloseMenu="1" Icon="m_controlpanel.png"/>
-
<Button Name="Package Manager" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Package Manager</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="467" SubMenu="0" Command="Package Manager" CloseMenu="1" Icon="m_synaptic.png"/>
-
<Button Name="Help" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Help</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="502" SubMenu="0" Command="Help" CloseMenu="1" Icon="m_help.png"/>
-
<Button Name="Power" Markup="" TextX="0" TextY="0" Image="m_power_sel.png" ButtonIcon="m_power.png" ButtonIconSel="m_power_sel.png" ButtonX="266" ButtonY="544" SubMenu="0" Command="Power" CloseMenu="1" Icon=""/>
-
<Button Name="Lock" Markup="" TextX="0" TextY="0" Image="m_lock_sel.png" ButtonIcon="m_lock.png" ButtonIconSel="m_lock_sel.png" ButtonX="320" ButtonY="544" SubMenu="0" Command="Lock" CloseMenu="1" Icon=""/>
-
<Button Name="Aux" Markup="" TextX="0" TextY="0" Image="m_aux_sel.png" ButtonIcon="m_aux.png" ButtonIconSel="m_aux_sel.png" ButtonX="372" ButtonY="544" SubMenu="1" Command="3" CloseMenu="0" Icon=""/>
-
</theme>
-
<theme color="black" color_lang="Black" colorvalue="#000000">
-
<Background Image="start-menu-template_black.png"/>
-
<WindowDimensions Width="409" Height="575"/>
-
<IconSettings X="300" Y="6" Width="65" Height="66" InsetX="6" InsetY="6" InsetWidth="46" InsetHeight="46"/>
-
<SearchBarSettings X="7" Y="544" Width="254" Height="24" Widget="Custom" WidgetName="SearchBar_dark" InitialText="Start Search" InsetX="6" InsetY="16" Background="m_searchbar_dark.png"/>
-
<ProgramListSettings X="9" Y="41" Width="250" Height="493"/>
-
<Capabilities HasSearch="1" HasIcon="1" HasFadeTransition="1"/>
-
<Button Name="Home Folder" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Home Folder</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="76" SubMenu="0" Command="Home" CloseMenu="1" Icon="m_home.png"/>
-
<Button Name="Documents" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Documents</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="111" SubMenu="0" Command="Documents" CloseMenu="1" Icon="m_documents.png"/>
-
<Button Name="Pictures" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Pictures</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="146" SubMenu="0" Command="Pictures" CloseMenu="1" Icon="m_pictures.png"/>
-
<Button Name="Music" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Music</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="181" SubMenu="0" Command="Music" CloseMenu="1" Icon="m_music.png"/>
-
<Button Name="Videos" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Videos</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="216" SubMenu="0" Command="Games" CloseMenu="1" Icon="m_videos.png"/>
-
<Button Name=":SEPARATOR:" Markup="" TextX="0" TextY="0" Image="m_separator.png" ButtonIcon="" ButtonIconSel="" ButtonX="270" ButtonY="251" SubMenu="0" Command="0" CloseMenu="0" Icon=""/>
-
<Button Name="Search" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Search</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="254" SubMenu="0" Command="Search" CloseMenu="1" Icon="m_search.png"/>
-
<Button Name="Show History" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Show History</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="289" SubMenu="1" Command="4" CloseMenu="0" Icon="m_recentitems.png"/>
-
<Button Name="Computer" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Computer</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="324" SubMenu="0" Command="Computer" CloseMenu="1" Icon="m_computer.png"/>
-
<Button Name="Network" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Network</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="359" SubMenu="0" Command="Network" CloseMenu="1" Icon="m_network.png"/>
-
<Button Name="Connect to _Server…" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Connect to _Server…</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="394" SubMenu="0" Command="Network Config" CloseMenu="1" Icon="m_connect.png"/>
-
<Button Name=":SEPARATOR:" Markup="" TextX="0" TextY="0" Image="m_separator.png" ButtonIcon="" ButtonIconSel="" ButtonX="270" ButtonY="429" SubMenu="0" Command="0" CloseMenu="0" Icon=""/>
-
<Button Name="Control Center" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Control Center</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="432" SubMenu="0" Command="Control Panel" CloseMenu="1" Icon="m_controlpanel.png"/>
-
<Button Name="Package Manager" Markup="<span foreground=’#FFFFFF’ font_desc=’sans 8′ stretch=’normal’ weight=’normal’>Package Manager</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="467" SubMenu="0" Command="Package Manager" CloseMenu="1" Icon="m_synaptic.png"/>
-
<Button Name="Help" Markup="<span foreground=‘#FFFFFF’ font_desc=‘sans 8′ stretch=‘normal’ weight=‘normal’>Help</span>" TextX="8" TextY="10" Image="m_button.png" ButtonIcon="" ButtonIconSel="" ButtonX="266" ButtonY="502" SubMenu="0" Command="Help" CloseMenu="1" Icon="m_help.png"/> <Button Name="Power" Markup="" TextX="0" TextY="0" Image="m_power_sel.png" ButtonIcon="" ButtonIconSel="" ButtonX="306" ButtonY="544" SubMenu="0" Command="Power" CloseMenu="1" Icon="m_power.png"/>
-
<Button Name="Power" Markup="" TextX="0" TextY="0" Image="m_power_sel.png" ButtonIcon="m_power.png" ButtonIconSel="m_power_sel.png" ButtonX="266" ButtonY="544" SubMenu="0" Command="Power" CloseMenu="1" Icon=""/>
-
<Button Name="Lock" Markup="" TextX="0" TextY="0" Image="m_lock_sel.png" ButtonIcon="m_lock.png" ButtonIconSel="m_lock_sel.png" ButtonX="320" ButtonY="544" SubMenu="0" Command="Lock" CloseMenu="1" Icon=""/>
-
<Button Name="Aux" Markup="" TextX="0" TextY="0" Image="m_aux_sel.png" ButtonIcon="m_aux.png" ButtonIconSel="m_aux_sel.png" ButtonX="372" ButtonY="544" SubMenu="1" Command="3" CloseMenu="0" Icon=""/>
-
</theme>
-
</content>
and the result was this:

Since all I did was modify someone else’s theme (its called Glass and can be found in this pack), I can’t really help with creating one from scratch. If you want to make one similar, I suggest you do what I did – find one you like and open up GIMP and let the picture editing commence!
It takes a while, but if you want a complely blank slate to start from, you can download the XCF file for the menu background only from here.
I’ve modified many a theme to make it fit. All you really need are basic knowlege of GIMP’s selector tools and what colors you want to change things to.
I hope this small how-to helps people. Special thanks to Anonymous/iNsOmNiOuS for messaging me wanting to know more since I promised it and never did over a year ago.
| Print article | This entry was posted by LinuxGurl on 03/29/2010 at 1:25 PM, and is filed under How-To(s). Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |
No comments yet.
No trackbacks yet.
Review 01: Calibre
about 6 months ago - No comments
Ah, calibre, where would I be without you right now? I do know my eBook library would be a complete mess. Let me back up… If you’ve been around the internet for a while, you know how easy it can be to develop a nice little library of eBooks on your computer of various formats.
Random Day
about 6 months ago - No comments
Going through my Google accounts I realized that I hadn’t plugged Google Analytics in here in a long time, so now I can get a better idea of where all my visitors are coming from. That’s all I really want to know. (Well, that and what OS and Browser they’re using.) In doing that I
Twitter for BASH
about 1 year ago - 3 comments
Thanks Linux Journal for this one: Ok, You’re REALLY into Twitter, and you want a faster way to tweet, or you’re frustrated at having to hunt through the log files, and you want to share that frustration with all your tweetererers. Here’s a great way: First, you’ll need to do one of 2 things: create
Yet another post on another website about CONKY!
about 1 year ago - No comments
Yep, I decided to share my Conky setup with the world because I have scoured several pages of different forums and websites trying to get mine just right. It all started with a simple stumble upon this page which is what I used for my base layout a few months ago. I decided I wanted
GnoMenu How-To (Day 1 & 2)
about 1 year ago - 4 comments
Since yesterday’s post was on a serious matter, I need to catch up on what I was planning on doing this week. First, you need to have GnoMenu downloaded before you even get started with trying to make your own theme. To each theme, there is 3 parts that are the most customizable: The Start
Linux Gurl (dot) com is almost a year old
about 1 year ago - No comments
and a new year calls for a new, fresh start to things. (For those wondering, it will be a year old on the 28th of this month.) I’m going to try my best to write something here everyday and hopefully it will be useful (or fun) information for those reading. I’m going to start out
I’ve been busy/Win 7 rant
about 1 year ago - 2 comments
I have discovered how to make GnoMenu start buttons, and I have been having a blast with them. I do have them up on gnome-look (link can be found on the lower right of the page under “my webthings” but I have also decided to post them here in one master post. I honestly want
okay, I suck at this review thing
about 1 year ago - 1 comment
so, I am going to stop unless I get some impute saying that they want to see it on the site again instead, I’m going to talk about how to make Linux your’s basically, making it “pretty” I run Kubuntu with KDE 3.5.10 (haven’t jumped on the KDE 4.1.1 band wagon yet) and I have
gOS — all in one day
about 1 year ago - 3 comments
I know I’m late doing this, but oh well. Here is what gOS’ website has to say about their new beta version: Introducing gOS 3 Gadgets BETA gOS 3 Gadgets BETA instantly launches Google Gadgets for Linux on startup, introducing over 100,000 possible iGoogle and Google Gadgets to the desktop. Google Documents, Calendar, and Mail
gOS
about 2 years ago - No comments
googOS I mean good OS has released their beta of 3.0 It’s always intrigued me and therefore I will be testing it out coming Monday (if personal conflicts don’t get in the way). For those of you who have never heard of it, it is a distro of linux built from the ground up focusing














