User avatar
paulwratt
Posts: 72
Joined: Fri Jun 12, 2015 12:15 am

HOWTO: detached top menu bar (ie Atari ST, Amiga, Mac)

Fri Sep 02, 2016 5:35 am

topmenu-gtk combined with Openbox Atari, the TTF font and the BDF (PCF) console font (urls below) will get you a working desktop similar to Atari ST.

topmenu hooks the standard GTK+ menu system, as a menubar plugin for LXDE, Mate, and a couple of others. There is also components for QT and GTK3, requires seperate compiled binary, and they are not as "fully functioning" as the gtk module, but they work.

Visibility wise TopMenu places the window menu and the About submenu as submenus off a root menu item (in bold) that contains the name of the App. This can be easily hacked out.

I use topmenu-gtk on Raspbian Jessie, with only one modification, the version that gets checked for lx-menu needs to be dropped from 7 to 6. v0.6.2 is donkeys old, but Jessie builds do not include v0.7.0, With that change it works fine "out of the box". you may also have to manually check and change the destination of the lx-menu headers (Raspbian moves a ton of stuff into /usr/lib/arm-...)

NOTE: undocumented (or badly documented) standard functions of an LXDE Menu button config allow you to create an Atari style (pre) menu item, like the one that contains the accessories. I found the correct commands by accident while searching for something else to do with LXDE menu config files, I'll edit this post with the correct info when I get access to my Raspbian Jessie machine.

topmenu-gtk is available of some platforms, like Linux Mint Mate (also works with LXDE) and will compile on most linux systems with either v0.6.2+ or v0.7.0+ of LXDE/lx-menu, Mate, and one other menu bar manager (its mentioned in TopMenu docs)

topmenu-gtk detached menu: https://git.javispedro.com/cgit/topmenu-gtk.git/about/
Openbox Atari Theme: https://www.box-look.org/p/1017525/
google AtariST8x16systemfont.ttf : http://www.google.com/search?q=AtariST8 ... emfont.ttf
Atari ST console font (big and small): http://www.modelb.bbcmicro.com/retro-fonts.html
Atari ST mouse (~/.icons): http://www.atari-forum.com/download/file.php?id=22272

Cheers
Paul
Last edited by paulwratt on Thu Feb 09, 2017 9:47 am, edited 1 time in total.

User avatar
paulwratt
Posts: 72
Joined: Fri Jun 12, 2015 12:15 am

Re: HOWTO: detached top menu bar (ie Atari ST, Amiga, Mac)

Thu Sep 08, 2016 4:23 am

heres a screenshot of my system that uses LXDE, listed below are the 2 files used with LXPANEL, note the code required to get an "apps list" (custom second menu button).

Note that the Atari symbol is made from placing an actual ST logo over the top of an upside down RPI logo, otherwise it would look even less like and Atari logo than it already does.

Note also that the top menu is a second menu button with a custom entries (found out howto by accident), similar to the Accessories menu on an ST (it is not dynamic)

Image
(click the above thumbnail image for 1360x768 screenshot)

both of the following are in the attachment
lxpanel-topmenu-panels.zip
lxpanel files with topmenu panel plugin
(2.25 KiB) Downloaded 31 times
this is the top menu bar panel (~/.config/lxpanel/_default_panel_dir_/panels/panel.top)

Code: Select all

# lxpanel <profile> config file. Manually editing is not recommended.
# Use preference dialog in lxpanel to adjust config when you can.

Global {
  edge=top
  allign=left
  margin=0
  widthtype=percent
  width=100
  height=32
  transparent=0
  tintcolor=#000000
  alpha=0
  autohide=0
  heightwhenhidden=2
  setdocktype=1
  setpartialstrut=1
  usefontcolor=0
  fontsize=12
  fontcolor=#ffffff
  usefontsize=0
  background=0
  backgroundfile=/home/pi/.themes/PiAra/gtk-2.0/Menu-Menubar/PiAra-menubar-top.png
  iconsize=30
}
Plugin {
  type=space
  Config {
    Size=2
  }
}
Plugin {
  type=menu
  Config {
    image=/usr/share/raspberrypi-artwork/raspitr-pa.png
    item {
      name=Run...
      command=run
      image=gnome-run
    }
    separator {
    }
    item {
      name=Calculator
      image=galculator
      action=galculator
    }
    item {
      name=GrafX2
      image=grafx2
      action=grafx2
    }
    item {
      name=Text Editor
      image=accessories-text-editor
      action=x-editor
    }
    item {
      name=Downloader
      image=uget-iconf
      action=uget-gtk %u
    }
    item {
      name=Web Browser
      image=chromium-browser
      action=chromium-browser %U
    }
    separator {
    }
    item {
      name=Ark
      image=ark
      action=ark -caption %c %U
    }
    item {
      name=Xarchiver
      image=xarchiver.png
      action=xarchiver
    }
    separator {
    }
    item {
      name=LXterminal
      image=terminal
      action=lxterminal
    }
    item {
      name=Root Terminal
      image=gksu-root-terminal
      action=gksu /usr/bin/x-terminal-emulator
    }
    item {
      name=UXterm
      image=xterm-color
      action=uxterm
    }
    separator {
    }
    item {
      name=Shutdown...
      command=logout
      image=gnome-logout
    }
  }
}
Plugin {
  type=topmenu_lxpanel
  Config {
  }
}
Plugin {
  type=space
  Config {
    Size=2
  }
}
Plugin {
  type=tray
  Config {
  }
}
Plugin {
  type=space
  Config {
    Size=2
  }
}
Plugin {
  type=dhcpcdui
  Config {
  }
}
Plugin {
  type=dclock
  Config {
    ClockFmt=%k:%M  
    TooltipFmt=%A %x
    BoldFont=0
    IconOnly=0
    CenterText=0
  }
}
this is the bottom menu bar panel (~/.config/lxpanel/_default_panel_dir_/panels/panel.bot)

Code: Select all

# lxpanel <profile> config file. Manually editing is not recommended.
# Use preference dialog in lxpanel to adjust config when you can.

Global {
  edge=bottom
  allign=left
  margin=0
  widthtype=percent
  width=100
  height=32
  transparent=0
  tintcolor=#000000
  alpha=0
  autohide=0
  heightwhenhidden=2
  setdocktype=1
  setpartialstrut=1
  usefontcolor=0
  fontsize=12
  fontcolor=#ffffff
  usefontsize=0
  background=0
  backgroundfile=/home/pi/.themes/PiAra/gtk-2.0/Menu-Menubar/PiAra-menubar-bottom.png
  iconsize=30
}
Plugin {
  type=space
  Config {
    Size=2
  }
}
Plugin {
  type=menu
  Config {
    name=Menu
    image=/usr/share/raspberrypi-artwork/raspitr.png
    system {
    }
    separator {
    }
    item {
      name=Run...
      image=gnome-run
      command=run
    }
    separator {
    }
    item {
      name=Shutdown...
      image=gnome-logout
      command=logout
    }
  }
}
Plugin {
  type=space
  Config {
    Size=8
  }
}
Plugin {
  type=wincmd
  Config {
    image=/usr/share/lxpanel/images/gnome-fs-desktop.png
    Button1=iconify
    Button2=shade
    Toggle=0
  }
}
Plugin {
  type=space
  Config {
    Size=8
  }
}
Plugin {
  type=launchbar
  Config {
    Button {
      id=/usr/share/raspi-ui-overrides/applications/lxterminal.desktop
    }
    Button {
      id=/usr/share/raspi-ui-overrides/applications/pcmanfm.desktop
    }
    Button {
      id=/usr/share/applications/lxde-x-www-browser.desktop
    }
    Button {
      id=/usr/share/applications/wolfram-mathematica.desktop
    }
    Button {
      id=/usr/share/applications/wolfram-language.desktop
    }
  }
}
Plugin {
  type=space
  Config {
    Size=8
  }
}
Plugin {
  type=taskbar
  expand=1
  Config {
    tooltips=1
    IconsOnly=0
    ShowAllDesks=0
    UseMouseWheel=1
    UseUrgencyHint=1
    FlatButton=0
    MaxTaskWidth=200
    spacing=1
    GroupedTasks=0
  }
}
Plugin {
  type=space
  Config {
    Size=2
  }
}
Plugin {
  type=ejecter
  Config {
  }
}
Plugin {
  type=volumealsa
  Config {
  }
}
Plugin {
  type=cpu
  Config {
    ShowPercent=1
    Foreground=#a9a9a9a9a9a9
    Background=#d3d3d3d3d3d3
  }
}
Yes I have tweeked the standard (bottom) panel file to include the "clear desktop" with a custom image

Hope someone finds these useful

Cheers

Paul

Return to “Beginners”

Who is online

Users browsing this forum: Bi0Ph34r, Bing [Bot] and 46 guests