KMenuBarApplet
What is it?
The KMenuBarApplet is a Kicker applet which embeds any KMenuBar in a Kicker panel.
The applet shows the menu bar of the currently active window, or optionally the Desktop
menu if there is no active window.
For those active applications which do not have a menu bar the applet displays a window-sensitive
default menu bar, also for applications that have not been made with Qt/KDE.
Screenshots
- Screenshot 1, which shows the dotNET style with an embedded
Konqueror menu bar.
- Screenshot 2, which shows the Liquid style with the default
"Help" menu for The Gimp.
- Screenshot 3, which shows the Liquid style with the default
"Window" menu for The Gimp.
- Screenshot 4, which shows the Motif style with the Desktop's
menu bar. NEW!
How to install
To use the menubar applet, you have to download the following two sources:
- A kmenubar.cpp and a
kmenubar.h patch/replacement. These files
are modified from KDE 3.1 RC2. They go into the
kdelibs/kdeui/ path. Recompile kdelibs by typing make install.
- The applet source code. To install the applet
follow these steps:
- move the .tgz file to your kdebase/kicker/applets/ directory and
extract it there, for example using tar zxf kmenubarapplet.tgz. This will
create a directory called menubar.
- modify Makefile.am in the kdebase/kicker/applets/ directory:
after SUBDIRS add menubar.
- go to your kdebase/ directory and type make -f Makefile.cvs. This will
create the necessary Makefile.in file for the applet. Then type configure
to regenerate all Makefiles, among which also our applet's Makefile. Then compile
and install the applet by typing make install.
Once both have been compiled and installed correctly, the applet can be activated
by adding it to a panel. All menubars will be embedded automatically, overriding
the preferences for TopLevel/Default locations such as set in the control panel.
Once the applet is removed, the menubars return to their TopLevel/Default location. If the
Desktop menu bar is activated, it will be embedded too. It will be shown when there is
no active window.
Status
On my system, the applet is running reliable most of the times. Known issues are:
- The label which shows the name of the current application in the menubar, has no
functionality yet.
- The default menubar should not display options which are not available for the current application (new window/manual pages).
- No reasonable behavior if the applet is in a vertical panel.
- In some styles, the menubar is drawn with a gradient
while this does not look nice on a panel without gradient (Keramik, High-Color).
- When switching between styles in the control panel, KDesktop's menu sometimes
leaves the panel.
- When switching between styles and options, some changes in the style are not applied
correctly. This problem however also appears in other KDE applications.
- The label which shows the name of the current window is not always lined up with the
menubar.
Previous issues which have been solved are:
- in some styles (Keramik, High-Color Default) several menubars are shown
simultaneously on top of eachother. Solved
- the menubar sometimes positions incorrectly in the applet (not centered).
Solved
- Konqueror crashes sometimes.
Has not been observed any more
- Menubars which have been forced to a top-level location by an application
(KDesktop, Konsole full-screen) are still displayed top-level. For these
applications to work correctly, more adjustions in KDE would be necessary.
Improved by making KDesktop a special case
- Switching between KDE menubars and default menubars sometimes behaves incorrectly.
Solved
- In case there is no window, the applet behaves `randomly'.
Solved
If you know how to solve one of these issues, I would be very interested.
If there is no KMenuBarApplet, the kmenubar replacement behaves (almost)
exactly like the original KMenuBar.