diff -Naur /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer.cpp /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer.cpp
--- /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer.cpp	2020-06-18 13:14:35.000000000 -0400
+++ /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer.cpp	2020-12-16 12:36:11.993298646 -0500
@@ -82,10 +82,10 @@
   QIcon icon_def;
   {
     const char * def_str ( 0 );
-    if ( QIcon::hasThemeIcon ( "multimedia-volume-control" ) ) {
-      def_str = "multimedia-volume-control";
-    } else if ( QIcon::hasThemeIcon ( "audio-volume-high" ) ) {
+    if ( QIcon::hasThemeIcon ( "audio-volume-high" ) ) {
       def_str = "audio-volume-high";
+    } else if ( QIcon::hasThemeIcon ( "multimedia-volume-control" ) ) {
+      def_str = "multimedia-volume-control";
     }
 
     if ( def_str != 0 ) {
diff -Naur /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer_icon.cpp /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer_icon.cpp
--- /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer_icon.cpp	2020-06-18 13:14:35.000000000 -0400
+++ /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer_icon.cpp	2020-12-16 11:20:03.244157294 -0500
@@ -9,39 +9,253 @@
 #include <QWheelEvent>
 #include <iostream>
 
-Tray_Mixer_Icon::Tray_Mixer_Icon ( QObject * parent_n )
-: QSystemTrayIcon ( parent_n )
+#include <QProcess>
+#include <qapplication.h>
+#include <qprocess.h>
+#include <qstringlist.h>
+
+static const char * volume_xpm[] = {
+"22 22 4 1",
+" 	c None",
+".	c #4D4D4D",
+"+	c #4C4C4C",
+"@	c #4E4E4E",
+"                      ",
+"          .+          ",
+"         ...          ",
+"        ....    .     ",
+"        ....   ...    ",
+"       .....    +..   ",
+"      ......     ...  ",
+" ...........  @.  ..  ",
+" ...........  ..+  .. ",
+" ...........   ..  .. ",
+" ...........   ..  .. ",
+" ...........   ..  .. ",
+" ...........   ..  .. ",
+" ...........  ...  .+ ",
+" ...........  ..  +.  ",
+"      ......     @..  ",
+"       .....    ...   ",
+"        ....   ...    ",
+"        ....    .     ",
+"         ...          ",
+"          .+          ",
+"                      "};
+
+static const char * equalizer_xpm[] = {
+"22 22 19 1",
+" 	c None",
+".	c #666666",
+"+	c #000000",
+"@	c #131313",
+"#	c #2C2C2C",
+"$	c #2B2B2B",
+"%	c #2A2A2A",
+"&	c #040404",
+"*	c #FFFFFF",
+"=	c #030303",
+"-	c #1B1B1B",
+";	c #1A1A1A",
+">	c #0B0B0B",
+",	c #181818",
+"'	c #0A0A0A",
+")	c #070707",
+"!	c #050505",
+"~	c #060606",
+"{	c #020202",
+"   .++.        .++.   ",
+"   .++.        .++.   ",
+"   .++.        .++.   ",
+"   ++++        .++.   ",
+"+@#$%%##&+     .++.   ",
+"++******++     .++.   ",
+"++......++     .++.   ",
+"++++++++++     .++.   ",
+"   ++++        .++.   ",
+"   .++.        .++.   ",
+"   .++.        ++++   ",
+"   .++.     +=--;;-->+",
+"   .++.     +,******++",
+"   .++.     +'......++",
+"   .++.     +)))!!~)){",
+"   .++.        ++++   ",
+"   .++.        .++.   ",
+"   .++.        .++.   ",
+"   .++.        .++.   ",
+"   .++.        .++.   ",
+"   .++.        .++.   ",
+"   .++.        .++.   "};
+
+static const char * app_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"22 22 12 1 ",
+"  c black",
+". c #515151",
+"X c #626262",
+"o c #656565",
+"O c #676767",
+"+ c gray43",
+"@ c #717171",
+"# c #7C7C7C",
+"$ c gray49",
+"% c #7E7E7E",
+"& c gray50",
+"* c None",
+/* pixels */
+"**********************",
+"**********************",
+"**********************",
+"**********************",
+"*******%%%%%$*********",
+"******%%%%%%%*********",
+"******%%%%%%%&********",
+"******$%%%%%%%********",
+"******$%%%%%%%********",
+"******@%%%%%%O********",
+"*     X%%%%%%.       *",
+"*     X%%%%%%.       *",
+"*     X%%%%%%.       *",
+"******+#%%%%$o********",
+"*******%%%%&%*********",
+"********%%%$**********",
+"********%%%$**********",
+"*********%$***********",
+"**********************",
+"**********************",
+"**********************",
+"**********************"
+};
+
+
+static const char * close_xpm[] = {
+"22 22 45 1",
+" 	c None",
+".	c #000000",
+"+	c #060606",
+"@	c #0B0B0B",
+"#	c #010101",
+"$	c #131313",
+"%	c #5B5B5B",
+"&	c #6F6F6F",
+"*	c #383838",
+"=	c #020202",
+"-	c #050505",
+";	c #4E4E4E",
+">	c #F4F4F4",
+",	c #FFFFFF",
+"'	c #C8C8C8",
+")	c #0C0C0C",
+"!	c #686868",
+"~	c #F9F9F9",
+"{	c #FCFCFC",
+"]	c #CCCCCC",
+"^	c #3E3E3E",
+"/	c #2B2B2B",
+"(	c #C6C6C6",
+"_	c #FBFBFB",
+":	c #CACACA",
+"<	c #464646",
+"[	c #454545",
+"}	c #C9C9C9",
+"|	c #C7C7C7",
+"1	c #040404",
+"2	c #E3E3E3",
+"3	c #E1E1E1",
+"4	c #FDFDFD",
+"5	c #3B3B3B",
+"6	c #424242",
+"7	c #C1C1C1",
+"8	c #FEFEFE",
+"9	c #FAFAFA",
+"0	c #C5C5C5",
+"a	c #DDDDDD",
+"b	c #E0E0E0",
+"c	c #030303",
+"d	c #CDCDCD",
+"e	c #393939",
+"f	c #707070",
+"                      ",
+"       ........       ",
+"     ............     ",
+"    .+@#......#@+.    ",
+"   .$%&*=....=*&%$.   ",
+"  .-;>,'*-..-*',>;+.  ",
+"  .)!~,{]^==^]{,~!).  ",
+"  ../({,_:<[}_,{|/..  ",
+" ...1*({,{23_,4}51... ",
+" ....167~,,8,90[1.... ",
+" .....=6a8,,8b<c..... ",
+" .....=6a8,,8b<c..... ",
+" ....167~,,8,90[1.... ",
+" ...1*({,{23_,4}51... ",
+"  ../({,_:<<:_,{|/..  ",
+"  .)!~,{d^==^d{,~!).  ",
+"  .+;>,'e-..-e',>;+.  ",
+"   .$%f*=....=*f%$.   ",
+"    .+@#......#@+.    ",
+"     ............     ",
+"       ........       ",
+"                      "};
+
+
+Tray_Mixer_Icon::Tray_Mixer_Icon (
+	QObject * parent_n ) :
+QSystemTrayIcon ( parent_n )
 {
-  connect ( this,
-            SIGNAL ( activated ( QSystemTrayIcon::ActivationReason ) ),
-            this,
-            SLOT ( activation ( QSystemTrayIcon::ActivationReason ) ) );
-
-  // Context menu
-  {
-    QAction * act_show ( new QAction ( this ) );
-    act_show->setText ( tr ( "&Show mixer" ) );
-    act_show->setShortcut ( QKeySequence ( tr ( "Ctrl+s" ) ) );
-    act_show->setIcon ( QIcon::fromTheme ( "view-fullscreen" ) );
-
-    QAction * act_quit ( new QAction ( this ) );
-    //: %1 will be replaced with the program title
-    act_quit->setText ( tr ( "&Close %1" ).arg ( PROGRAM_TITLE ) );
-    act_quit->setShortcut ( QKeySequence ( QKeySequence::Quit ) );
-    act_quit->setIcon ( QIcon::fromTheme ( "application-exit" ) );
-
-    connect (
-        act_show, SIGNAL ( triggered () ), this, SIGNAL ( sig_activated () ) );
-
-    connect ( act_quit, SIGNAL ( triggered () ), this, SIGNAL ( sig_quit () ) );
-
-    _cmenu.addAction ( act_show );
-    _cmenu.addAction ( act_quit );
-
-    setContextMenu ( &_cmenu );
-  }
+	connect (
+		this, SIGNAL ( activated ( QSystemTrayIcon::ActivationReason ) ),
+		this, SLOT ( activation ( QSystemTrayIcon::ActivationReason ) ) );
+	
+	// Context menu
+	{
+		
+		QAction * act_show ( new QAction ( this ) );
+		act_show->setText ( tr ( "Volume" ) );
+		static const QPixmap volumeXPM(volume_xpm);
+		static const QIcon volumeIcon(volumeXPM);
+		act_show->setIcon (QIcon(volumeIcon));
+		
+		QAction * act_EQ ( new QAction ( this ) );
+		act_EQ->setText ( tr ( "Equalizer" ) );
+		static const QPixmap equalizerXPM(equalizer_xpm);
+		static const QIcon equalizerIcon(equalizerXPM);
+		act_EQ->setIcon (QIcon(equalizerIcon));				
+
+		QAction * act_MIX ( new QAction ( this ) );
+		act_MIX->setText ( tr ( "App Mixer" ) );
+		static const QPixmap appXPM(app_xpm);
+		static const QIcon appIcon(appXPM);
+		act_MIX->setIcon (QIcon(appIcon));				
+
+		QAction * act_quit ( new QAction ( this ) );
+		act_quit->setText ( tr ( "Hide Volume" ) );
+		act_quit->setShortcut ( QKeySequence ( QKeySequence::Quit ) );
+		static const QPixmap closeXPM(close_xpm);
+		static const QIcon closeIcon(closeXPM);
+		act_quit->setIcon (QIcon(closeIcon));		
+
+		connect ( act_show, SIGNAL ( triggered() ),
+			this, SIGNAL ( sig_activated() ) );
+			
+		connect(act_EQ, SIGNAL( triggered() ),
+            this, SLOT ( show_EQ() ));
+
+		connect(act_MIX, SIGNAL( triggered() ),
+            this, SLOT ( show_MIXER() ));
+			
+		connect ( act_quit, SIGNAL ( triggered() ),
+			this, SIGNAL ( sig_quit() ) );
+
+		_cmenu.addAction ( act_show );
+		_cmenu.addAction ( act_EQ );
+		_cmenu.addAction ( act_MIX );
+		_cmenu.addAction ( act_quit );
+		setContextMenu ( &_cmenu );
+	}
 }
 
+
 void
 Tray_Mixer_Icon::activation ( QSystemTrayIcon::ActivationReason reason_n )
 {
@@ -78,3 +292,17 @@
 
   return res;
 }
+
+void
+Tray_Mixer_Icon::show_EQ()
+{
+	QProcess process;
+	process.startDetached("/usr/bin/pulseaudio-equalizer-gtk", QStringList()<< "oooo");	
+}
+
+void
+Tray_Mixer_Icon::show_MIXER()
+{
+	QProcess p;
+	p.startDetached("/usr/bin/pavucontrol", QStringList()<< "oooo");	
+}
diff -Naur /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer_icon.hpp /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer_icon.hpp
--- /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer_icon.hpp	2020-06-18 13:14:35.000000000 -0400
+++ /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer_icon.hpp	2020-12-16 03:38:51.514884982 -0500
@@ -50,6 +50,11 @@
   // Private attributes
   private:
   QMenu _cmenu;
+  	
+	private slots:
+		void show_EQ();
+		void show_MIXER();
+	
 };
 
 #endif
diff -Naur /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer_icon.hpp.orig /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer_icon.hpp.orig
--- /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0/qasmixer/src/tray_mixer_icon.hpp.orig	1969-12-31 19:00:00.000000000 -0500
+++ /usr/src/repo/builds_15/qastools-0.18.1_BUILD/qastools-0.23.0.new/qasmixer/src/tray_mixer_icon.hpp.orig	2020-06-18 13:14:35.000000000 -0400
@@ -0,0 +1,55 @@
+/// QasTools: Desktop toolset for the Linux sound system ALSA.
+/// \copyright See COPYING file.
+
+#ifndef __INC_tray_mixer_icon_hpp__
+#define __INC_tray_mixer_icon_hpp__
+
+#include <QMenu>
+#include <QObject>
+#include <QSystemTrayIcon>
+
+/// @brief Tray_Mixer_Icon
+///
+class Tray_Mixer_Icon : public QSystemTrayIcon
+{
+  Q_OBJECT
+
+  // Public methods
+  public:
+  Tray_Mixer_Icon ( QObject * parent_n = 0 );
+
+  bool
+  event ( QEvent * event_n );
+
+  // Public signals
+  signals:
+
+  void
+  sig_hover ();
+
+  void
+  sig_activated ();
+
+  void
+  sig_middle_click ();
+
+  void
+  sig_wheel_delta ( int delta_n );
+
+  void
+  sig_quit ();
+
+  // Protected slots
+  protected slots:
+
+  void
+  activation ( QSystemTrayIcon::ActivationReason reason_n );
+
+  // Protected methods
+  protected:
+  // Private attributes
+  private:
+  QMenu _cmenu;
+};
+
+#endif
