instead of the tedious manual establishment of a personal menu, I will use a gui app which will facilitate the construction of a menu with icon support.
obmenu-qt
obmenu-qt can be installed from the following website
it is a lightweight menu generator for all applications using a simple python code. It is most probably installed on many systems but in case you did not have it
<?xml version="1.0" encoding="UTF-8"?><openbox_configxmlns="http://openbox.org/3.4/rc"xmlns:xi="http://www.w3.org/2001/XInclude"><resistance><strength>10</strength><screen_edge_strength>20</screen_edge_strength></resistance><focus></focus><placement><policy>Smart</policy></placement><theme><name>sparky5</name><titleLayout>NLIMC</titleLayout><!--
available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
M: maximize
C: close
S: shade (roll up/down)
D: omnipresent (on all desktops).
--></theme><desktops><number>4</number><firstdesk>1</firstdesk><names><name>1</name><name>2</name><name>3</name><name>4</name></names><popupTime>875</popupTime><!-- The number of milliseconds to show the popup for when switching
desktops. Set this to 0 to disable the popup. --></desktops><margins><top>0</top><bottom>0</bottom><left>6</left><right>0</right></margins><dock><!-- 'Left', 'Middle', 'Right' --></dock><keyboard></keyboard><mouse><dragThreshold>1</dragThreshold><!-- number of pixels the mouse must move before a drag begins --><doubleClickTime>200</doubleClickTime><!-- in milliseconds (1000 = 1 second) --><screenEdgeWarpTime>400</screenEdgeWarpTime><!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping --><screenEdgeWarpMouse>false</screenEdgeWarpMouse><!-- Set this to TRUE to move the mouse pointer across the desktop when
switching due to hitting the edge of the screen --><contextname="Frame"></context><contextname="Titlebar"></context><contextname="Top"><mousebindbutton="Left"action="Drag">"" <actionname="Resize">"" <edge>top</edge>"" </action>"" </mousebind></context><contextname="Left"><mousebindbutton="Left"action="Drag">"" <actionname="Resize">"" <edge>left</edge>"" </action>"" </mousebind></context><contextname="Right"><mousebindbutton="Left"action="Drag">"" <actionname="Resize">"" <edge>right</edge>"" </action>"" </mousebind></context><contextname="Bottom"><mousebindbutton="Left"action="Drag">"" <actionname="Resize">"" <edge>bottom</edge>"" </action>"" </mousebind><mousebindbutton="Right"action="Press">"" <actionname="Focus"/>"" <actionname="Raise"/>"" <actionname="ShowMenu">"" <menu>client-menu</menu>"" </action>"" </mousebind></context><contextname="TRCorner BRCorner TLCorner BLCorner"></context><contextname="Client"></context><contextname="Icon"></context><contextname="AllDesktops"></context><contextname="Shade"></context><contextname="Iconify"></context><contextname="Maximize"></context><contextname="Close"></context><contextname="Desktop"></context><contextname="Root"><!-- Menus --><mousebindbutton="Right"action="Press">"" <actionname="ShowMenu">"" <menu>root-menu</menu>"" </action>"" </mousebind></context><contextname="MoveResize"><mousebindbutton="Up"action="Click">"" <actionname="GoToDesktop">"" <to>previous</to>"" </action>"" </mousebind><mousebindbutton="Down"action="Click">"" <actionname="GoToDesktop">"" <to>next</to>"" </action>"" </mousebind><mousebindbutton="A-Up"action="Click">"" <actionname="GoToDesktop">"" <to>previous</to>"" </action>"" </mousebind><mousebindbutton="A-Down"action="Click">"" <actionname="GoToDesktop">"" <to>next</to>"" </action>"" </mousebind></context></mouse><menu><!-- You can specify more than one menu file in here and they are all loaded,
just don't make menu ids clash or, well, it'll be kind of pointless --><!-- default menu file (or custom one in $HOME/.config/openbox/) --><!-- system menu files on Debian systems --><file>/var/lib/openbox/debian-menu.xml</file><file>menu.xml</file><hideDelay>200</hideDelay><!-- if a press-release lasts longer than this setting (in milliseconds), the
menu is hidden again --><middle>no</middle><!-- center submenus vertically about the parent entry --><submenuShowDelay>100</submenuShowDelay><!-- time to delay before showing a submenu after hovering over the parent
entry.
if this is a negative value, then the delay is infinite and the
submenu will not be shown until it is clicked on --><submenuHideDelay>400</submenuHideDelay><!-- time to delay before hiding a submenu when selecting another
entry in parent menu
if this is a negative value, then the delay is infinite and the
submenu will not be hidden until a different submenu is opened --><applicationIcons>yes</applicationIcons><!-- controls if icons appear in the client-list-(combined-)menu --><manageDesktops>yes</manageDesktops><!-- show the manage desktops section in the client-list-(combined-)menu --></menu>
-->
<applications><applicationclass="*"><decor>no</decor></application><applicationclass="Double Commander"><desktop>1</desktop><focus>yes</focus></application><applicationclass="firefox"><desktop>2</desktop><focus>yes</focus></application><applicationclass="VirtualBoxVM"><desktop>3</desktop><focus>yes</focus></application><applicationclass="Xfce4-terminal"><desktop>4</desktop><focus>yes</focus></application><applicationclass="Lxterminal"><position><x>-0</x><y>0</y></position><size><width>50%</width><height>100%</height></size><focus>yes</focus></application><applicationclass="Yad"><decor>yes</decor></application></applications><applicationname="main">desktop>1</desktop> size><width>50%</width><height>100%</height></size><positionforce="yes"><x>-0</x><y>0</y></position></application></openbox_config>
<!-- to show menu --><keybindkey="W-m"><actionname="ShowMenu"><menu>mymenu</menu></action></keybind><!--to toggle tint2 on off --><keybindkey="W-b"><actionname="Execute"><command>sh -c "sed -i -r 's/(autohide\ \=\ )0/\11/;t;s/(autohide\ \=\ )1/\10/' ~/.config/tint2/tint2rc;killall -SIGUSR1 tint2"</command></action></keybind>
or alternatively you can use obapps3 since it is much easier to use since you cant remember all the options needed in the settings without seing documentation.