[Xfce4-commits] <parole:0.2.2> New interface, lot of changes, lot of broken feature.

Ali Abdallah noreply at xfce.org
Sun May 30 15:10:01 CEST 2010


Updating branch refs/heads/0.2.2
         to 5153e30227040aceb108774b205fc8392d92b3a8 (commit)
       from 4521a54c722d159177736348c26461b9355dbb9d (commit)

commit 5153e30227040aceb108774b205fc8392d92b3a8
Author: Ali Abdallah <aliov at xfce.org>
Date:   Sun May 30 15:08:03 2010 +0200

    New interface, lot of changes, lot of broken feature.

 data/interfaces/parole.ui   | 1396 ++++++++++++++++++++++---------------------
 data/interfaces/playlist.ui |  213 ++++---
 src/Makefile.am             |    2 -
 src/main.c                  |    9 +-
 src/parole-conf.c           |   18 +-
 src/parole-conf.h           |    7 +-
 src/parole-disc-menu.c      |  334 -----------
 src/parole-disc-menu.h      |   60 --
 src/parole-iso-image.c      |    2 +-
 src/parole-medialist.c      |    2 +-
 src/parole-player.c         |  806 +++++++++++++------------
 src/parole-player.h         |   16 +-
 12 files changed, 1295 insertions(+), 1570 deletions(-)

diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 4ffad80..c1d6994 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -2,684 +2,752 @@
 <interface>
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy project-wide -->
+  <object class="GtkListStore" id="sidebar_liststore">
+    <columns>
+      <!-- column-name img -->
+      <column type="GdkPixbuf"/>
+      <!-- column-name name -->
+      <column type="gchararray"/>
+    </columns>
+  </object>
   <object class="GtkWindow" id="main-window">
     <property name="title" translatable="yes">Parole Media Player</property>
     <property name="window_position">center</property>
-    <property name="default_width">780</property>
-    <property name="default_height">480</property>
     <property name="icon_name">parole</property>
     <signal name="destroy" handler="parole_player_destroy_cb"/>
     <signal name="key_press_event" handler="parole_player_key_press"/>
     <signal name="configure_event" handler="parole_player_configure_event_cb"/>
     <signal name="delete_event" handler="parole_player_delete_event_cb" after="yes"/>
     <child>
-      <object class="GtkVBox" id="vbox1">
+      <object class="GtkHPaned" id="hpaned1">
         <property name="visible">True</property>
-        <property name="orientation">vertical</property>
+        <property name="can_focus">True</property>
         <child>
-          <object class="GtkMenuBar" id="menubar">
+          <object class="GtkAlignment" id="sidebar">
             <property name="visible">True</property>
+            <property name="top_padding">2</property>
+            <property name="left_padding">5</property>
             <child>
-              <object class="GtkMenuItem" id="media-menu-item">
+              <object class="GtkViewport" id="viewport1">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">_Media</property>
-                <property name="use_underline">True</property>
-                <child type="submenu">
-                  <object class="GtkMenu" id="media-menu">
+                <property name="resize_mode">queue</property>
+                <property name="shadow_type">none</property>
+                <child>
+                  <object class="GtkVBox" id="vbox4">
                     <property name="visible">True</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">4</property>
                     <child>
-                      <object class="GtkImageMenuItem" id="menu-add">
-                        <property name="label">gtk-open</property>
-                        <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="parole_player_menu_add_cb"/>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="menu-open-location">
-                        <property name="label" translatable="yes">_Open location</property>
-                        <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="image">image5</property>
-                        <property name="use_stock">False</property>
-                        <signal name="activate" handler="parole_player_menu_open_location_cb"/>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
-                        <property name="visible">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="dvd-menu">
-                        <property name="label" translatable="yes">DVD</property>
+                      <object class="GtkComboBox" id="combobox1">
                         <property name="visible">True</property>
-                        <property name="image">image14</property>
-                        <property name="use_stock">False</property>
-                        <child type="submenu">
-                          <object class="GtkMenu" id="menu6">
-                            <property name="visible">True</property>
-                            <child>
-                              <object class="GtkImageMenuItem" id="dvd-iso-mi">
-                                <property name="label" translatable="yes">From ISO image</property>
-                                <property name="visible">True</property>
-                                <property name="image">image15</property>
-                                <property name="use_stock">False</property>
-                                <signal name="activate" handler="dvd_iso_mi_activated_cb"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSeparatorMenuItem" id="separatormenuitem5">
-                                <property name="visible">True</property>
-                              </object>
-                            </child>
-                          </object>
+                        <property name="model">sidebar-combo-liststore</property>
+                        <property name="active">0</property>
+                        <child>
+                          <object class="GtkCellRendererPixbuf" id="cellrenderertext1"/>
+                          <attributes>
+                            <attribute name="icon-name">0</attribute>
+                          </attributes>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="cd-menu">
-                        <property name="label">gtk-cdrom</property>
-                        <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <child type="submenu">
-                          <object class="GtkMenu" id="menu7">
-                            <property name="visible">True</property>
-                            <child>
-                              <object class="GtkImageMenuItem" id="cd-iso-mi">
-                                <property name="label" translatable="yes">From ISO image</property>
-                                <property name="visible">True</property>
-                                <property name="image">image16</property>
-                                <property name="use_stock">False</property>
-                                <signal name="activate" handler="cd_iso_mi_activated_cb"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSeparatorMenuItem" id="separatormenuitem6">
-                                <property name="visible">True</property>
-                              </object>
-                            </child>
-                          </object>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext2"/>
+                          <attributes>
+                            <attribute name="text">1</attribute>
+                          </attributes>
                         </child>
                       </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem4">
-                        <property name="visible">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="menu-exit">
-                        <property name="label">gtk-quit</property>
-                        <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="parole_player_menu_exit_cb"/>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkMenuItem" id="edit-menu">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Edit</property>
-                <property name="use_underline">True</property>
-                <child type="submenu">
-                  <object class="GtkMenu" id="menu4">
-                    <property name="visible">True</property>
-                    <child>
-                      <object class="GtkCheckMenuItem" id="repeat">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">Repeat</property>
-                        <property name="use_underline">True</property>
-                        <signal name="toggled" handler="parole_player_repeat_toggled_cb"/>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkCheckMenuItem" id="shuffle">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">Shuffle</property>
-                        <property name="use_underline">True</property>
-                        <signal name="toggled" handler="parole_player_shuffle_toggled_cb"/>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
-                        <property name="visible">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkMenuItem" id="plugins-menu-item">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">Plugins</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="preferences">
-                        <property name="label">gtk-preferences</property>
+                      <object class="GtkNotebook" id="sidebar-notebook">
                         <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="parole_player_open_preferences_cb"/>
+                        <property name="show_tabs">False</property>
+                        <property name="show_border">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child type="tab">
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child type="tab">
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child type="tab">
+                          <placeholder/>
+                        </child>
                       </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                   </object>
                 </child>
               </object>
             </child>
+          </object>
+          <packing>
+            <property name="resize">False</property>
+            <property name="shrink">True</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkAlignment" id="alignment1">
+            <property name="visible">True</property>
+            <property name="top_padding">2</property>
             <child>
-              <object class="GtkMenuItem" id="view-menu">
+              <object class="GtkVBox" id="vbox1">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">_View</property>
-                <property name="use_underline">True</property>
-                <child type="submenu">
-                  <object class="GtkMenu" id="menu2">
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkViewport" id="menu-view">
                     <property name="visible">True</property>
+                    <property name="resize_mode">queue</property>
+                    <property name="shadow_type">none</property>
                     <child>
-                      <object class="GtkMenuItem" id="menuitem1">
+                      <object class="GtkHBox" id="hbox1">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes">Aspect Ratio</property>
-                        <property name="use_underline">True</property>
-                        <child type="submenu">
-                          <object class="GtkMenu" id="menu5">
+                        <property name="spacing">30</property>
+                        <child>
+                          <object class="GtkToggleButton" id="show-hide-list">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="image">image10</property>
+                            <property name="relief">none</property>
+                            <property name="focus_on_click">False</property>
+                            <signal name="toggled" handler="parole_player_show_hide_playlist"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkHButtonBox" id="hbuttonbox2">
                             <property name="visible">True</property>
                             <child>
-                              <object class="GtkRadioMenuItem" id="ratio_none">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">None</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_as_radio">True</property>
-                                <signal name="toggled" handler="ratio_none_toggled_cb"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkRadioMenuItem" id="ratio_auto">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">Auto</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_as_radio">True</property>
-                                <property name="group">ratio_none</property>
-                                <signal name="toggled" handler="ratio_auto_toggled_cb"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkRadioMenuItem" id="ratio_square">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">Square</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_as_radio">True</property>
-                                <property name="group">ratio_none</property>
-                                <signal name="toggled" handler="ratio_square_toggled_cb"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkRadioMenuItem" id="ratio_4_3">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">4:3 (TV)</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_as_radio">True</property>
-                                <property name="group">ratio_none</property>
-                                <signal name="toggled" handler="ratio_4_3_toggled_cb"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkRadioMenuItem" id="ratio_16_9">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">16:9 (Widescreen)</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_as_radio">True</property>
-                                <property name="group">ratio_none</property>
-                                <signal name="toggled" handler="ratio_16_9_toggled_cb"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkRadioMenuItem" id="ratio_20_9">
+                              <object class="GtkMenuBar" id="menubar1">
                                 <property name="visible">True</property>
-                                <property name="label" translatable="yes">20:9 (DVB)</property>
-                                <property name="use_underline">True</property>
-                                <property name="draw_as_radio">True</property>
-                                <property name="group">ratio_none</property>
-                                <signal name="toggled" handler="ratio_20_9_toggled_cb"/>
+                                <child>
+                                  <object class="GtkImageMenuItem" id="menuitem1">
+                                    <property name="label" translatable="yes">_Media</property>
+                                    <property name="visible">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="image">image11</property>
+                                    <property name="use_stock">False</property>
+                                    <property name="always_show_image">True</property>
+                                    <child type="submenu">
+                                      <object class="GtkMenu" id="menu1">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="menu-add">
+                                            <property name="label">gtk-open</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="use_stock">True</property>
+                                            <signal name="activate" handler="parole_player_menu_add_cb"/>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="imagemenuitem2">
+                                            <property name="label" translatable="yes">_Open location</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="image">image17</property>
+                                            <property name="use_stock">False</property>
+                                            <signal name="activate" handler="parole_player_menu_open_location_cb"/>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
+                                            <property name="visible">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="imagemenuitem1">
+                                            <property name="label">gtk-quit</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="use_stock">True</property>
+                                            <signal name="activate" handler="parole_player_menu_exit_cb"/>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkImageMenuItem" id="menuitem2">
+                                    <property name="label" translatable="yes">_Device</property>
+                                    <property name="visible">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="image">image12</property>
+                                    <property name="use_stock">False</property>
+                                    <child type="submenu">
+                                      <object class="GtkMenu" id="menu3">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="dvd-menu">
+                                            <property name="label" translatable="yes">_DVD</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="image">image18</property>
+                                            <property name="use_stock">False</property>
+                                            <child type="submenu">
+                                              <object class="GtkMenu" id="menu4">
+                                                <property name="visible">True</property>
+                                                <child>
+                                                  <object class="GtkImageMenuItem" id="dvd-iso-mi">
+                                                    <property name="label" translatable="yes">From _ISO image</property>
+                                                    <property name="visible">True</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="image">image19</property>
+                                                    <property name="use_stock">False</property>
+                                                    <signal name="activate" handler="dvd_iso_mi_activated_cb"/>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                            </child>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="cd-menu">
+                                            <property name="label">gtk-cdrom</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="use_stock">True</property>
+                                            <child type="submenu">
+                                              <object class="GtkMenu" id="menu5">
+                                                <property name="visible">True</property>
+                                                <child>
+                                                  <object class="GtkImageMenuItem" id="cd-iso-mi">
+                                                    <property name="label" translatable="yes">From _ISO image</property>
+                                                    <property name="visible">True</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="image">image20</property>
+                                                    <property name="use_stock">False</property>
+                                                    <signal name="activate" handler="cd_iso_mi_activated_cb"/>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkImageMenuItem" id="edit-menu">
+                                    <property name="label" translatable="yes">_Edit</property>
+                                    <property name="visible">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="image">image13</property>
+                                    <property name="use_stock">False</property>
+                                    <child type="submenu">
+                                      <object class="GtkMenu" id="menu2">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <object class="GtkCheckMenuItem" id="menu-repeat">
+                                            <property name="visible">True</property>
+                                            <property name="label" translatable="yes">Repeat</property>
+                                            <property name="use_underline">True</property>
+                                            <signal name="toggled" handler="parole_player_repeat_toggled_cb"/>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkCheckMenuItem" id="menu-shuffle">
+                                            <property name="visible">True</property>
+                                            <property name="label" translatable="yes">Shuffle</property>
+                                            <property name="use_underline">True</property>
+                                            <signal name="toggled" handler="parole_player_shuffle_toggled_cb"/>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
+                                            <property name="visible">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkMenuItem" id="plugins-menu-item">
+                                            <property name="visible">True</property>
+                                            <property name="label" translatable="yes">Plugins</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="preferences">
+                                            <property name="label">gtk-preferences</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="use_stock">True</property>
+                                            <signal name="activate" handler="parole_player_open_preferences_cb"/>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkImageMenuItem" id="menuitem4">
+                                    <property name="label" translatable="yes">_Video</property>
+                                    <property name="visible">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="image">image14</property>
+                                    <property name="use_stock">False</property>
+                                    <child type="submenu">
+                                      <object class="GtkMenu" id="menu8">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <object class="GtkMenuItem" id="menuitem7">
+                                            <property name="visible">True</property>
+                                            <property name="label" translatable="yes">Aspect Ratio</property>
+                                            <property name="use_underline">True</property>
+                                            <child type="submenu">
+                                              <object class="GtkMenu" id="menu9">
+                                                <property name="visible">True</property>
+                                                <child>
+                                                  <object class="GtkRadioMenuItem" id="radiomenuitem1">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">None</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="draw_as_radio">True</property>
+                                                    <signal name="toggled" handler="ratio_none_toggled_cb"/>
+                                                  </object>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkRadioMenuItem" id="radiomenuitem2">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">Auto</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="draw_as_radio">True</property>
+                                                    <signal name="toggled" handler="ratio_auto_toggled_cb"/>
+                                                  </object>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkRadioMenuItem" id="radiomenuitem3">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">Square</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="draw_as_radio">True</property>
+                                                    <signal name="toggled" handler="ratio_square_toggled_cb"/>
+                                                  </object>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkRadioMenuItem" id="radiomenuitem4">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">4:3 (TV)</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="draw_as_radio">True</property>
+                                                    <signal name="toggled" handler="ratio_4_3_toggled_cb"/>
+                                                  </object>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkRadioMenuItem" id="radiomenuitem5">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">16:9 (Widescreen)</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="draw_as_radio">True</property>
+                                                    <signal name="toggled" handler="ratio_16_9_toggled_cb"/>
+                                                  </object>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkRadioMenuItem" id="radiomenuitem6">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">20:9 (DVB)</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="draw_as_radio">True</property>
+                                                    <signal name="toggled" handler="ratio_20_9_toggled_cb"/>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                            </child>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
+                                            <property name="visible">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="imagemenuitem6">
+                                            <property name="label">gtk-fullscreen</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="use_stock">True</property>
+                                            <signal name="activate" handler="parole_player_full_screen_activated_cb"/>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkImageMenuItem" id="menuitem5">
+                                    <property name="label" translatable="yes">_Volume</property>
+                                    <property name="visible">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="image">image15</property>
+                                    <property name="use_stock">False</property>
+                                    <child type="submenu">
+                                      <object class="GtkMenu" id="menu7">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="imagemenuitem4">
+                                            <property name="label" translatable="yes">_Mute</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="image">image21</property>
+                                            <property name="use_stock">False</property>
+                                            <signal name="activate" handler="parole_player_volume_mute"/>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="imagemenuitem5">
+                                            <property name="label" translatable="yes">Volume _Up</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="image">image22</property>
+                                            <property name="use_stock">False</property>
+                                            <signal name="activate" handler="parole_player_volume_up"/>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="imagemenuitem7">
+                                            <property name="label" translatable="yes">Volume _Down</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="image">image24</property>
+                                            <property name="use_stock">False</property>
+                                            <signal name="activate" handler="parole_player_volume_down"/>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkImageMenuItem" id="menuitem6">
+                                    <property name="label" translatable="yes">_Help</property>
+                                    <property name="visible">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="image">image16</property>
+                                    <property name="use_stock">False</property>
+                                    <child type="submenu">
+                                      <object class="GtkMenu" id="menu6">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <object class="GtkImageMenuItem" id="imagemenuitem3">
+                                            <property name="label">gtk-about</property>
+                                            <property name="visible">True</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="use_stock">True</property>
+                                            <signal name="activate" handler="parole_show_about"/>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
                               </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">70</property>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
                           </object>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label1">
+                            <property name="visible">True</property>
+                          </object>
+                          <packing>
+                            <property name="position">2</property>
+                          </packing>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
-                        <property name="visible">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="fullscreen-menu">
-                        <property name="label">gtk-fullscreen</property>
-                        <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <accelerator key="F11" signal="activate"/>
-                        <signal name="activate" handler="parole_player_full_screen_activated_cb"/>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkMenuItem" id="sound">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Sound</property>
-                <property name="use_underline">True</property>
-                <child type="submenu">
-                  <object class="GtkMenu" id="menu1">
-                    <property name="visible">True</property>
-                    <child>
-                      <object class="GtkImageMenuItem" id="volume-mute-menu">
-                        <property name="label" translatable="yes">Mute</property>
-                        <property name="visible">True</property>
-                        <property name="image">image12</property>
-                        <property name="use_stock">False</property>
-                        <signal name="activate" handler="parole_player_volume_mute"/>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="volume-up-menu">
-                        <property name="label" translatable="yes">Volume Up</property>
-                        <property name="visible">True</property>
-                        <property name="image">image11</property>
-                        <property name="use_stock">False</property>
-                        <accelerator key="plus" signal="activate"/>
-                        <signal name="activate" handler="parole_player_volume_up"/>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="volume-down-menu">
-                        <property name="label" translatable="yes">Volume Down</property>
-                        <property name="visible">True</property>
-                        <property name="image">image10</property>
-                        <property name="use_stock">False</property>
-                        <accelerator key="minus" signal="activate"/>
-                        <signal name="activate" handler="parole_player_volume_down"/>
                       </object>
                     </child>
                   </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkMenuItem" id="help-menu">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Help</property>
-                <property name="use_underline">True</property>
-                <child type="submenu">
-                  <object class="GtkMenu" id="menu3">
+                <child>
+                  <object class="GtkAlignment" id="video-view">
                     <property name="visible">True</property>
+                    <property name="right_padding">5</property>
                     <child>
-                      <object class="GtkImageMenuItem" id="about">
-                        <property name="label">gtk-about</property>
+                      <object class="GtkViewport" id="viewport2">
                         <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="parole_show_about"/>
+                        <property name="resize_mode">queue</property>
+                        <property name="shadow_type">out</property>
+                        <child>
+                          <object class="GtkHBox" id="output">
+                            <property name="visible">True</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                        </child>
                       </object>
                     </child>
                   </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="hbox1">
-            <property name="visible">True</property>
-            <child>
-              <object class="GtkNotebook" id="main-notebook">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="show_tabs">False</property>
-                <property name="show_border">False</property>
-                <property name="scrollable">True</property>
-                <property name="group_id">0</property>
                 <child>
-                  <object class="GtkVBox" id="main-box">
+                  <object class="GtkAlignment" id="alignment2">
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
-                    <property name="spacing">5</property>
+                    <property name="top_padding">2</property>
+                    <property name="bottom_padding">2</property>
+                    <property name="left_padding">2</property>
+                    <property name="right_padding">2</property>
                     <child>
-                      <object class="GtkHPaned" id="hpaned">
+                      <object class="GtkVBox" id="vbox2">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkAlignment" id="alignment1">
+                          <object class="GtkAlignment" id="alignment4">
                             <property name="visible">True</property>
+                            <property name="left_padding">5</property>
+                            <property name="right_padding">5</property>
                             <child>
-                              <object class="GtkVBox" id="vbox8">
+                              <object class="GtkHScale" id="scale">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="can_focus">True</property>
+                                <property name="draw_value">False</property>
+                                <signal name="button_press_event" handler="parole_player_range_button_press"/>
+                                <signal name="value_changed" handler="parole_player_range_value_changed"/>
+                                <signal name="button_release_event" handler="parole_player_range_button_release"/>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkAlignment" id="alignment6">
+                            <property name="visible">True</property>
+                            <child>
+                              <object class="GtkHBox" id="hbox2">
                                 <property name="visible">True</property>
-                                <property name="orientation">vertical</property>
-                                <child>
-                                  <object class="GtkHBox" id="output">
-                                    <property name="visible">True</property>
-                                    <property name="app_paintable">True</property>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
                                 <child>
-                                  <object class="GtkVBox" id="control">
+                                  <object class="GtkHButtonBox" id="hbuttonbox1">
                                     <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
                                     <child>
-                                      <object class="GtkAlignment" id="alignment3">
+                                      <object class="GtkHBox" id="hbox3">
                                         <property name="visible">True</property>
-                                        <property name="top_padding">3</property>
-                                        <property name="bottom_padding">3</property>
+                                        <property name="spacing">2</property>
                                         <child>
-                                          <object class="GtkVBox" id="play-box">
+                                          <object class="GtkToggleButton" id="shuffle">
                                             <property name="visible">True</property>
-                                            <property name="orientation">vertical</property>
-                                            <property name="spacing">5</property>
-                                            <child>
-                                              <object class="GtkEventBox" id="disc-box">
-                                                <property name="no_show_all">True</property>
-                                                <child>
-                                                  <object class="GtkHBox" id="disc-menu-box">
-                                                    <property name="visible">True</property>
-                                                    <property name="spacing">5</property>
-                                                    <child>
-                                                      <object class="GtkButton" id="prev-chapter">
-                                                        <property name="label" translatable="yes">Previous Chapter</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">True</property>
-                                                        <property name="no_show_all">True</property>
-                                                        <property name="image">image1</property>
-                                                        <property name="relief">none</property>
-                                                      </object>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="position">0</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <object class="GtkButton" id="dvd-chapters-menu">
-                                                        <property name="label" translatable="yes">DVD Menu</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">True</property>
-                                                        <property name="no_show_all">True</property>
-                                                        <property name="image">image2</property>
-                                                        <property name="relief">none</property>
-                                                      </object>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="position">1</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <object class="GtkButton" id="chapter-menu">
-                                                        <property name="label" translatable="yes">Chapter Menu</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">True</property>
-                                                        <property name="no_show_all">True</property>
-                                                        <property name="image">image3</property>
-                                                        <property name="relief">none</property>
-                                                      </object>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="position">2</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <object class="GtkEventBox" id="eventboxinfo">
-                                                        <property name="no_show_all">True</property>
-                                                        <child>
-                                                          <object class="GtkLabel" id="info">
-                                                            <property name="no_show_all">True</property>
-                                                            <property name="use_markup">True</property>
-                                                          </object>
-                                                        </child>
-                                                      </object>
-                                                      <packing>
-                                                        <property name="position">3</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <placeholder/>
-                                                    </child>
-                                                    <child>
-                                                      <object class="GtkButton" id="select-track">
-                                                        <property name="label" translatable="yes">Select Track</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">True</property>
-                                                        <property name="no_show_all">True</property>
-                                                        <property name="image">image13</property>
-                                                        <property name="relief">none</property>
-                                                      </object>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="position">5</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <object class="GtkButton" id="next-chapter">
-                                                        <property name="label" translatable="yes">Next Chapter</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">True</property>
-                                                        <property name="no_show_all">True</property>
-                                                        <property name="image">image4</property>
-                                                        <property name="relief">none</property>
-                                                      </object>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="position">6</property>
-                                                      </packing>
-                                                    </child>
-                                                  </object>
-                                                </child>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkHScale" id="scale">
-                                                <property name="visible">True</property>
-                                                <property name="sensitive">False</property>
-                                                <property name="can_focus">True</property>
-                                                <property name="draw_value">False</property>
-                                                <signal name="button_press_event" handler="parole_player_range_button_press"/>
-                                                <signal name="value_changed" handler="parole_player_range_value_changed"/>
-                                                <signal name="button_release_event" handler="parole_player_range_button_release"/>
-                                                <signal name="scroll_event" handler="parole_player_scroll_event_cb"/>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">True</property>
+                                            <property name="image">image7</property>
+                                            <property name="relief">none</property>
+                                            <property name="focus_on_click">False</property>
+                                            <signal name="toggled" handler="parole_player_shuffle_toggled_cb"/>
+                                          </object>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkToggleButton" id="repeat">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">True</property>
+                                            <property name="image">image5</property>
+                                            <property name="relief">none</property>
+                                            <property name="focus_on_click">False</property>
+                                            <signal name="toggled" handler="parole_player_repeat_toggled_cb"/>
+                                          </object>
+                                          <packing>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkButton" id="stop">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">True</property>
+                                            <property name="image">image4</property>
+                                            <property name="relief">none</property>
+                                            <property name="focus_on_click">False</property>
+                                            <signal name="clicked" handler="parole_player_stop_clicked"/>
+                                          </object>
+                                          <packing>
+                                            <property name="position">2</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkViewport" id="viewport3">
+                                            <property name="visible">True</property>
+                                            <property name="resize_mode">queue</property>
+                                            <property name="shadow_type">out</property>
                                             <child>
-                                              <object class="GtkHBox" id="hbox7">
+                                              <object class="GtkHBox" id="hbox4">
                                                 <property name="visible">True</property>
+                                                <property name="spacing">2</property>
                                                 <child>
-                                                  <object class="GtkVBox" id="vbox6">
+                                                  <object class="GtkButton" id="backward">
+                                                    <property name="width_request">60</property>
                                                     <property name="visible">True</property>
-                                                    <property name="orientation">vertical</property>
-                                                    <property name="spacing">5</property>
-                                                    <child>
-                                                      <object class="GtkHBox" id="hbox6">
-                                                        <property name="visible">True</property>
-                                                        <property name="spacing">5</property>
-                                                        <child>
-                                                          <object class="GtkButton" id="back">
-                                                            <property name="visible">True</property>
-                                                            <property name="sensitive">False</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property name="receives_default">True</property>
-                                                            <property name="image">image6</property>
-                                                            <property name="relief">none</property>
-                                                            <property name="focus_on_click">False</property>
-                                                            <signal name="clicked" handler="parole_player_seekb_cb"/>
-                                                          </object>
-                                                          <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">0</property>
-                                                          </packing>
-                                                        </child>
-                                                        <child>
-                                                          <object class="GtkButton" id="stop">
-                                                            <property name="visible">True</property>
-                                                            <property name="sensitive">False</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property name="receives_default">True</property>
-                                                            <property name="image">image7</property>
-                                                            <property name="relief">none</property>
-                                                            <property name="focus_on_click">False</property>
-                                                            <signal name="clicked" handler="parole_player_stop_clicked"/>
-                                                          </object>
-                                                          <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">1</property>
-                                                          </packing>
-                                                        </child>
-                                                        <child>
-                                                          <object class="GtkButton" id="play-pause">
-                                                            <property name="visible">True</property>
-                                                            <property name="sensitive">False</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property name="receives_default">True</property>
-                                                            <property name="image">image8</property>
-                                                            <property name="relief">none</property>
-                                                            <property name="focus_on_click">False</property>
-                                                            <signal name="clicked" handler="parole_player_play_pause_clicked"/>
-                                                          </object>
-                                                          <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">2</property>
-                                                          </packing>
-                                                        </child>
-                                                        <child>
-                                                          <object class="GtkButton" id="forward">
-                                                            <property name="visible">True</property>
-                                                            <property name="sensitive">False</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property name="receives_default">True</property>
-                                                            <property name="image">image9</property>
-                                                            <property name="relief">none</property>
-                                                            <property name="focus_on_click">False</property>
-                                                            <signal name="clicked" handler="parole_player_seekf_cb"/>
-                                                          </object>
-                                                          <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">3</property>
-                                                          </packing>
-                                                        </child>
-                                                        <child>
-                                                          <object class="GtkHBox" id="hbox8">
-                                                            <property name="visible">True</property>
-                                                            <property name="spacing">5</property>
-                                                            <child>
-                                                            <object class="GtkImage" id="volume-image">
-                                                            <property name="visible">True</property>
-                                                            <property name="stock">gtk-missing-image</property>
-                                                            </object>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <object class="GtkHScale" id="volume">
-                                                            <property name="width_request">100</property>
-                                                            <property name="height_request">10</property>
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property name="show_fill_level">True</property>
-                                                            <property name="draw_value">False</property>
-                                                            <signal name="value_changed" handler="parole_player_volume_value_changed_cb"/>
-                                                            <signal name="scroll_event" handler="parole_player_volume_scroll_event_cb"/>
-                                                            </object>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">1</property>
-                                                            </packing>
-                                                            </child>
-                                                          </object>
-                                                          <packing>
-                                                            <property name="padding">30</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">4</property>
-                                                          </packing>
-                                                        </child>
-                                                      </object>
-                                                      <packing>
-                                                        <property name="position">0</property>
-                                                      </packing>
-                                                    </child>
+                                                    <property name="can_focus">True</property>
+                                                    <property name="receives_default">True</property>
+                                                    <property name="image">image3</property>
+                                                    <property name="relief">none</property>
+                                                    <property name="focus_on_click">False</property>
                                                   </object>
                                                   <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">False</property>
                                                     <property name="position">0</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <object class="GtkButton" id="leave_fs">
-                                                    <property name="label">gtk-leave-fullscreen</property>
+                                                  <object class="GtkButton" id="play">
+                                                    <property name="width_request">80</property>
+                                                    <property name="height_request">35</property>
+                                                    <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
                                                     <property name="receives_default">True</property>
-                                                    <property name="no_show_all">True</property>
-                                                    <property name="relief">none</property>
-                                                    <property name="use_stock">True</property>
-                                                    <signal name="clicked" handler="parole_player_leave_fs_cb"/>
+                                                    <property name="image">image1</property>
+                                                    <property name="relief">half</property>
+                                                    <property name="focus_on_click">False</property>
+                                                    <signal name="clicked" handler="parole_player_play_pause_clicked"/>
                                                   </object>
                                                   <packing>
-                                                    <property name="expand">False</property>
-                                                    <property name="position">2</property>
+                                                    <property name="position">1</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <object class="GtkButton" id="show-hide-list">
+                                                  <object class="GtkButton" id="forward">
+                                                    <property name="width_request">60</property>
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
                                                     <property name="receives_default">True</property>
-                                                    <property name="no_show_all">True</property>
-                                                    <property name="image">image18</property>
+                                                    <property name="image">image2</property>
                                                     <property name="relief">none</property>
-                                                    <signal name="clicked" handler="parole_player_show_hide_playlist"/>
+                                                    <property name="focus_on_click">False</property>
                                                   </object>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
-                                                    <property name="pack_type">end</property>
-                                                    <property name="position">1</property>
+                                                    <property name="position">2</property>
                                                   </packing>
                                                 </child>
                                               </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="position">2</property>
-                                              </packing>
                                             </child>
                                           </object>
+                                          <packing>
+                                            <property name="padding">5</property>
+                                            <property name="position">3</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkToggleButton" id="volume-image">
+                                            <property name="height_request">10</property>
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">True</property>
+                                            <property name="image">image6</property>
+                                            <property name="relief">none</property>
+                                            <property name="focus_on_click">False</property>
+                                            <signal name="toggled" handler="parole_player_volume_toggled"/>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">4</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkHScale" id="volume">
+                                            <property name="width_request">100</property>
+                                            <property name="height_request">2</property>
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="show_fill_level">True</property>
+                                            <property name="draw_value">False</property>
+                                            <signal name="value_changed" handler="parole_player_volume_value_changed_cb"/>
+                                            <signal name="scroll_event" handler="parole_player_volume_scroll_event_cb"/>
+                                          </object>
+                                          <packing>
+                                            <property name="position">5</property>
+                                          </packing>
                                         </child>
                                       </object>
                                       <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
                                   </object>
                                   <packing>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkVBox" id="vbox3">
+                                    <property name="visible">True</property>
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkButton" id="button2">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="image">image8</property>
+                                        <property name="relief">none</property>
+                                        <property name="focus_on_click">False</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkButton" id="min-view">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="image">image9</property>
+                                        <property name="relief">none</property>
+                                        <property name="focus_on_click">False</property>
+                                        <signal name="clicked" handler="parole_player_minimize_clicked_cb"/>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                  <packing>
                                     <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="pack_type">end</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
@@ -687,89 +755,24 @@
                             </child>
                           </object>
                           <packing>
-                            <property name="resize">True</property>
-                            <property name="shrink">False</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkNotebook" id="notebook-playlist">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="show_border">False</property>
-                            <property name="scrollable">True</property>
-                            <property name="enable_popup">True</property>
-                          </object>
-                          <packing>
-                            <property name="resize">False</property>
-                            <property name="shrink">False</property>
+                            <property name="position">1</property>
                           </packing>
                         </child>
                       </object>
-                      <packing>
-                        <property name="position">0</property>
-                      </packing>
                     </child>
                   </object>
-                </child>
-                <child type="tab">
-                  <object class="GtkLabel" id="Player">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">Media player</property>
-                  </object>
                   <packing>
-                    <property name="tab_fill">False</property>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child type="tab">
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child type="tab">
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHSeparator" id="status-sep">
-            <property name="visible">True</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkAlignment" id="statusalign">
-            <property name="visible">True</property>
-            <property name="left_padding">5</property>
-            <property name="right_padding">5</property>
-            <child>
-              <object class="GtkHBox" id="statusbox">
-                <property name="visible">True</property>
-                <property name="no_show_all">True</property>
-                <property name="spacing">5</property>
-                <child>
-                  <placeholder/>
-                </child>
               </object>
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
-            <property name="position">3</property>
+            <property name="resize">True</property>
+            <property name="shrink">False</property>
           </packing>
         </child>
       </object>
@@ -777,74 +780,121 @@
   </object>
   <object class="GtkImage" id="image10">
     <property name="visible">True</property>
-    <property name="icon_name">audio-volume-low</property>
+    <property name="stock">gtk-go-back</property>
   </object>
   <object class="GtkImage" id="image11">
     <property name="visible">True</property>
-    <property name="icon_name">audio-volume-high</property>
+    <property name="stock">gtk-new</property>
+    <property name="icon-size">1</property>
   </object>
   <object class="GtkImage" id="image12">
     <property name="visible">True</property>
-    <property name="icon_name">audio-volume-muted</property>
+    <property name="stock">gtk-cdrom</property>
+    <property name="icon-size">1</property>
   </object>
-  <object class="GtkImage" id="image1">
+  <object class="GtkImage" id="image13">
     <property name="visible">True</property>
-    <property name="stock">gtk-media-previous</property>
+    <property name="stock">gtk-edit</property>
+    <property name="icon-size">1</property>
   </object>
-  <object class="GtkImage" id="image2">
+  <object class="GtkImage" id="image14">
     <property name="visible">True</property>
-    <property name="stock">gtk-index</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">applications-multimedia</property>
   </object>
-  <object class="GtkImage" id="image3">
+  <object class="GtkImage" id="image15">
     <property name="visible">True</property>
-    <property name="no_show_all">True</property>
-    <property name="stock">gtk-index</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">multimedia-volume-control</property>
+    <property name="icon-size">1</property>
   </object>
-  <object class="GtkImage" id="image13">
+  <object class="GtkImage" id="image16">
     <property name="visible">True</property>
-    <property name="stock">gtk-cdrom</property>
+    <property name="stock">gtk-about</property>
+    <property name="icon-size">1</property>
   </object>
-  <object class="GtkImage" id="image4">
+  <object class="GtkImage" id="image7">
     <property name="visible">True</property>
-    <property name="stock">gtk-media-next</property>
+    <property name="icon_name">media-playlist-shuffle</property>
   </object>
-  <object class="GtkImage" id="image6">
+  <object class="GtkImage" id="image5">
     <property name="visible">True</property>
-    <property name="stock">gtk-media-rewind</property>
+    <property name="icon_name">media-playlist-repeat</property>
   </object>
-  <object class="GtkImage" id="image7">
+  <object class="GtkImage" id="image4">
     <property name="visible">True</property>
     <property name="stock">gtk-media-stop</property>
   </object>
-  <object class="GtkImage" id="image8">
+  <object class="GtkImage" id="image3">
+    <property name="visible">True</property>
+    <property name="stock">gtk-media-previous</property>
+  </object>
+  <object class="GtkImage" id="image1">
     <property name="visible">True</property>
     <property name="stock">gtk-media-play</property>
   </object>
-  <object class="GtkImage" id="image9">
+  <object class="GtkImage" id="image2">
     <property name="visible">True</property>
-    <property name="stock">gtk-media-forward</property>
+    <property name="stock">gtk-media-next</property>
   </object>
-  <object class="GtkImage" id="image18">
+  <object class="GtkImage" id="image6">
     <property name="visible">True</property>
-    <property name="stock">gtk-go-forward</property>
+    <property name="icon_name">audio-volume-high</property>
   </object>
-  <object class="GtkImage" id="image5">
+  <object class="GtkImage" id="image8">
+    <property name="visible">True</property>
+    <property name="stock">gtk-fullscreen</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image9">
+    <property name="visible">True</property>
+    <property name="stock">gtk-remove</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image17">
     <property name="visible">True</property>
     <property name="stock">gtk-network</property>
   </object>
-  <object class="GtkImage" id="image14">
+  <object class="GtkImage" id="image18">
     <property name="visible">True</property>
     <property name="stock">gtk-cdrom</property>
-    <property name="icon-size">1</property>
   </object>
-  <object class="GtkImage" id="image15">
+  <object class="GtkImage" id="image19">
     <property name="visible">True</property>
     <property name="stock">gtk-file</property>
     <property name="icon-size">1</property>
   </object>
-  <object class="GtkImage" id="image16">
+  <object class="GtkImage" id="image20">
     <property name="visible">True</property>
-    <property name="stock">gtk-file</property>
-    <property name="icon-size">1</property>
+    <property name="stock">gtk-cdrom</property>
+  </object>
+  <object class="GtkImage" id="image21">
+    <property name="visible">True</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">audio-volume-muted</property>
+  </object>
+  <object class="GtkImage" id="image22">
+    <property name="visible">True</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">audio-volume-high</property>
+  </object>
+  <object class="GtkImage" id="image24">
+    <property name="visible">True</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">audio-volume-low</property>
+  </object>
+  <object class="GtkListStore" id="sidebar-combo-liststore">
+    <columns>
+      <!-- column-name pix -->
+      <column type="gchararray"/>
+      <!-- column-name title -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">playlist</col>
+        <col id="1" translatable="yes">Playlist</col>
+      </row>
+    </data>
   </object>
 </interface>
diff --git a/data/interfaces/playlist.ui b/data/interfaces/playlist.ui
index 44304e7..1b1ad2f 100644
--- a/data/interfaces/playlist.ui
+++ b/data/interfaces/playlist.ui
@@ -7,22 +7,120 @@
     <property name="orientation">vertical</property>
     <property name="spacing">5</property>
     <child>
-      <object class="GtkScrolledWindow" id="scrolledwindow1">
+      <object class="GtkAlignment" id="alignment1">
         <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="hscrollbar_policy">never</property>
-        <property name="vscrollbar_policy">automatic</property>
-        <property name="shadow_type">in</property>
         <child>
-          <object class="GtkTreeView" id="media-list">
+          <object class="GtkVBox" id="vbox1">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="headers_visible">False</property>
-            <property name="rules_hint">True</property>
-            <signal name="key_press_event" handler="parole_media_list_key_press"/>
-            <signal name="row_activated" handler="parole_media_list_row_activated_cb"/>
-            <signal name="button_release_event" handler="parole_media_list_button_release_event"/>
-            <signal name="drag_data_received" handler="parole_media_list_drag_data_received_cb"/>
+            <property name="orientation">vertical</property>
+            <child>
+              <object class="GtkScrolledWindow" id="scrolledwindow1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">never</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <property name="window_placement">top-right</property>
+                <property name="window_placement_set">True</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <object class="GtkTreeView" id="media-list">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="headers_visible">False</property>
+                    <property name="rules_hint">True</property>
+                    <signal name="key_press_event" handler="parole_media_list_key_press"/>
+                    <signal name="row_activated" handler="parole_media_list_row_activated_cb"/>
+                    <signal name="button_release_event" handler="parole_media_list_button_release_event"/>
+                    <signal name="drag_data_received" handler="parole_media_list_drag_data_received_cb"/>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHBox" id="hbox3">
+                <property name="visible">True</property>
+                <property name="spacing">2</property>
+                <property name="homogeneous">True</property>
+                <child>
+                  <object class="GtkButton" id="add-media">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="image">image1</property>
+                    <signal name="clicked" handler="parole_media_list_add_clicked_cb"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="save-playlist">
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="image">image5</property>
+                    <signal name="clicked" handler="parole_media_list_save_cb"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="remove-media">
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="image">image2</property>
+                    <signal name="clicked" handler="parole_media_list_remove_clicked_cb"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="media-up">
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="image">image3</property>
+                    <signal name="clicked" handler="parole_media_list_media_up_clicked_cb"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="media-down">
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="image">image4</property>
+                    <signal name="clicked" handler="parole_media_list_media_down_clicked_cb"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="padding">4</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
           </object>
         </child>
       </object>
@@ -30,92 +128,15 @@
         <property name="position">0</property>
       </packing>
     </child>
-    <child>
-      <object class="GtkHBox" id="hbox3">
-        <property name="visible">True</property>
-        <property name="spacing">2</property>
-        <property name="homogeneous">True</property>
-        <child>
-          <object class="GtkButton" id="add-media">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="image">image1</property>
-            <signal name="clicked" handler="parole_media_list_add_clicked_cb"/>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="save-playlist">
-            <property name="visible">True</property>
-            <property name="sensitive">False</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="image">image5</property>
-            <signal name="clicked" handler="parole_media_list_save_cb"/>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="remove-media">
-            <property name="visible">True</property>
-            <property name="sensitive">False</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="image">image2</property>
-            <signal name="clicked" handler="parole_media_list_remove_clicked_cb"/>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="media-up">
-            <property name="visible">True</property>
-            <property name="sensitive">False</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="image">image3</property>
-            <signal name="clicked" handler="parole_media_list_media_up_clicked_cb"/>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="media-down">
-            <property name="visible">True</property>
-            <property name="sensitive">False</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">True</property>
-            <property name="image">image4</property>
-            <signal name="clicked" handler="parole_media_list_media_down_clicked_cb"/>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">4</property>
-          </packing>
-        </child>
-      </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="position">1</property>
-      </packing>
-    </child>
   </object>
   <object class="GtkImage" id="image1">
     <property name="visible">True</property>
     <property name="stock">gtk-add</property>
   </object>
+  <object class="GtkImage" id="image5">
+    <property name="visible">True</property>
+    <property name="stock">gtk-save-as</property>
+  </object>
   <object class="GtkImage" id="image2">
     <property name="visible">True</property>
     <property name="stock">gtk-remove</property>
@@ -128,8 +149,4 @@
     <property name="visible">True</property>
     <property name="stock">gtk-go-down</property>
   </object>
-  <object class="GtkImage" id="image5">
-    <property name="visible">True</property>
-    <property name="stock">gtk-save-as</property>
-  </object>
 </interface>
diff --git a/src/Makefile.am b/src/Makefile.am
index eb5aa05..9ed3fa8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -64,8 +64,6 @@ parole_SOURCES =				\
 	parole-subtitle-encoding.h		\
 	parole-open-location.c			\
 	parole-open-location.h			\
-	parole-disc-menu.c			\
-	parole-disc-menu.h			\
 	parole-button.c				\
 	parole-button.h				\
 	parole-plugin-player.c			\
diff --git a/src/main.c b/src/main.c
index 51bab94..5669091 100644
--- a/src/main.c
+++ b/src/main.c
@@ -196,7 +196,8 @@ xv_option_given (const gchar *name, const gchar *value, gpointer data, GError **
 int main (int argc, char **argv)
 {
     ParolePlayer *player;
-    ParolePluginsManager *plugins;
+    //ParolePluginsManager *plugins;
+    
     GtkBuilder *builder;
     GOptionContext *ctx;
     GOptionGroup *gst_option_group;
@@ -353,15 +354,15 @@ int main (int argc, char **argv)
 	    g_error_free (error);
 	}
 
-	plugins = parole_plugins_manager_new (!no_plugins);
-	parole_plugins_manager_load (plugins);
+	//plugins = parole_plugins_manager_new (!no_plugins);
+	//parole_plugins_manager_load (plugins);
 	g_object_unref (builder);
 	
 	gdk_notify_startup_complete ();
 	gtk_main ();
 	
 	parole_dbus_release_name (PAROLE_DBUS_NAME);
-	g_object_unref (plugins);
+	//g_object_unref (plugins);
     }
 
     gst_deinit ();
diff --git a/src/parole-conf.c b/src/parole-conf.c
index da0ff8a..d45a64f 100644
--- a/src/parole-conf.c
+++ b/src/parole-conf.c
@@ -317,7 +317,7 @@ parole_conf_class_init (ParoleConfClass *klass)
                                                        NULL, NULL,
                                                        320,
 						       G_MAXINT16,
-						       780,
+						       760,
                                                        G_PARAM_READWRITE));
 						       
     g_object_class_install_property (object_class,
@@ -326,7 +326,7 @@ parole_conf_class_init (ParoleConfClass *klass)
                                                        NULL, NULL,
                                                        220,
 						       G_MAXINT16,
-						       480,
+						       420,
                                                        G_PARAM_READWRITE));
     
     g_object_class_install_property (object_class,
@@ -462,3 +462,17 @@ parole_conf_new (void)
 
     return PAROLE_CONF (parole_conf_object);
 }
+
+
+gboolean			 parole_conf_get_property_bool  (ParoleConf *conf,
+								 const gchar *name)
+{
+    gboolean value;
+    
+    g_object_get (G_OBJECT (conf),
+		  name, &value,
+		  NULL);
+		  
+    return value;
+}
+
diff --git a/src/parole-conf.h b/src/parole-conf.h
index 79910a2..73021aa 100644
--- a/src/parole-conf.h
+++ b/src/parole-conf.h
@@ -45,9 +45,12 @@ typedef struct
     
 } ParoleConfClass;
 
-GType        			 parole_conf_get_type        (void) G_GNUC_CONST;
+GType        			 parole_conf_get_type        	(void) G_GNUC_CONST;
 
-ParoleConf       		*parole_conf_new             (void);
+ParoleConf       		*parole_conf_new             	(void);
+
+gboolean			 parole_conf_get_property_bool  (ParoleConf *conf,
+								 const gchar *name);
 
 G_END_DECLS
 
diff --git a/src/parole-disc-menu.c b/src/parole-disc-menu.c
deleted file mode 100644
index 58aac16..0000000
--- a/src/parole-disc-menu.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <libxfce4util/libxfce4util.h>
-
-#include "parole-disc-menu.h"
-#include "parole-builder.h"
-#include "parole-statusbar.h"
-#include "parole-gst.h"
-
-static void parole_disc_menu_finalize   (GObject *object);
-
-#define PAROLE_DISC_MENU_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), PAROLE_TYPE_DISC_MENU, ParoleDiscMenuPrivate))
-
-struct ParoleDiscMenuPrivate
-{
-    ParoleGst   *gst;
-    ParoleMediaType current_media_type;
-    
-    GtkWidget	*disc_track;
-    GtkWidget   *disc_box;
-    
-    GtkWidget	*next_chapter;
-    GtkWidget	*prev_chapter;
-    GtkWidget	*dvd_menu;
-    GtkWidget	*chapter_menu;
-    GtkWidget	*info;
-    GtkWidget   *eventboxinfo;
-    
-    guint tracks;
-};
-
-G_DEFINE_TYPE (ParoleDiscMenu, parole_disc_menu, G_TYPE_OBJECT)
-
-static void
-parole_disc_menu_hide (ParoleDiscMenu *menu)
-{
-    gtk_widget_hide (menu->priv->disc_track);
-    gtk_widget_hide (menu->priv->next_chapter);
-    gtk_widget_hide (menu->priv->prev_chapter);
-    gtk_widget_hide (menu->priv->info);
-    gtk_widget_hide (menu->priv->eventboxinfo);
-    gtk_widget_hide (menu->priv->disc_box);
-    //gtk_widget_hide (menu->priv->dvd_menu);
-    //gtk_widget_hide (menu->priv->chapter_menu);
-}
-
-static void
-parole_disc_menu_show (ParoleDiscMenu *menu, gboolean show_label)
-{
-    gtk_widget_show (menu->priv->next_chapter);
-    gtk_widget_show (menu->priv->prev_chapter);
-    
-    if ( show_label )
-    {
-	gtk_widget_show (menu->priv->eventboxinfo);
-	gtk_widget_show (menu->priv->info);
-	gtk_widget_show (menu->priv->disc_track);
-    }
-    
-   //gtk_widget_show (menu->priv->dvd_menu);
-   //gtk_widget_show (menu->priv->dvd_menu);
-   gtk_widget_show (menu->priv->disc_box);
-    
-}
-
-static void
-parole_disc_menu_media_state_cb (ParoleGst *gst, const ParoleStream *stream, 	
-				 ParoleMediaState state, ParoleDiscMenu *menu)
-{
-    ParoleMediaType media_type;
-    menu->priv->tracks = 0;
-    
-    if ( state < PAROLE_MEDIA_STATE_PAUSED )
-    {
-	gtk_label_set_markup (GTK_LABEL (menu->priv->info), NULL);
-	parole_disc_menu_hide (menu);
-    }
-    else if ( state == PAROLE_MEDIA_STATE_PLAYING )
-    {
-	g_object_get (G_OBJECT (stream),
-		      "media-type", &media_type,
-		      NULL);
-	
-	if ( media_type == PAROLE_MEDIA_TYPE_DVD )
-	{
-	    gtk_button_set_label (GTK_BUTTON (menu->priv->next_chapter), _("Next Chapter"));
-	    gtk_button_set_label (GTK_BUTTON (menu->priv->prev_chapter), _("Previous Chapter"));
-	    parole_disc_menu_show (menu, FALSE);
-	}
-	else if ( media_type == PAROLE_MEDIA_TYPE_CDDA )
-	{
-	    guint num_tracks;
-	    guint current;
-	    gchar *text;
-	    gtk_button_set_label (GTK_BUTTON (menu->priv->next_chapter), _("Next Track"));
-	    gtk_button_set_label (GTK_BUTTON (menu->priv->prev_chapter), _("Previous Track"));
-	    
-	    g_object_get (G_OBJECT (stream),
-			  "num-tracks", &num_tracks,
-			  "track", &current,
-			  NULL);
-			  
-	    text = g_strdup_printf ("<span font_desc='sans 8' font_size='xx-large' color='#510DEC'>%s %i/%i</span>", _("Playing Track"), current, num_tracks);
-	    
-	    gtk_label_set_markup (GTK_LABEL (menu->priv->info), text);
-	    
-	    g_free (text);
-	    parole_disc_menu_show (menu, TRUE);
-	    menu->priv->tracks = num_tracks;
-	}
-	menu->priv->current_media_type = media_type;
-    }
-}
-
-static void
-parole_disc_menu_next_chapter_cb (ParoleDiscMenu *menu)
-{
-    if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD )
-	parole_gst_next_dvd_chapter (menu->priv->gst);
-    else if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA)
-	parole_gst_next_cdda_track (menu->priv->gst);
-}
-
-static void
-parole_disc_menu_prev_chapter_cb (ParoleDiscMenu *menu)
-{
-    if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD )
-	parole_gst_prev_dvd_chapter (menu->priv->gst);
-    else if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA)
-	parole_gst_prev_cdda_track (menu->priv->gst);
-}
-
-static void
-parole_disc_menu_dvd_menu_cb (ParoleDiscMenu *menu)
-{
-    
-}
-
-static void
-parole_disc_menu_chapter_menu_cb (ParoleDiscMenu *menu)
-{
-    
-}
-
-static void
-track_menu_item_activated_cb (GtkWidget *widget, ParoleDiscMenu *menu)
-{
-    guint track;
-    
-    track = GPOINTER_TO_UINT ( g_object_get_data (G_OBJECT (widget), "track"));
-    
-    parole_gst_seek_cdda (menu->priv->gst, track);
-}
-
-static void
-parole_disc_menu_show_disc_track_menu (ParoleDiscMenu *disc_menu, guint button, guint activate_time)
-{
-    GtkWidget *menu, *mi, *img;
-    gchar track[128];
-    guint i;
-    
-    menu = gtk_menu_new ();
-    
-    for ( i = 0; i < disc_menu->priv->tracks; i++)
-    {
-	img = gtk_image_new_from_stock (GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU);
-	g_snprintf (track, 128, _("Track %i"), i+1);
-	mi = gtk_image_menu_item_new_with_label (track);
-	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
-	gtk_widget_show (mi);
-	gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-	g_object_set_data (G_OBJECT (mi), "track", GUINT_TO_POINTER (i+1));
-	g_signal_connect (mi, "activate",
-		          G_CALLBACK (track_menu_item_activated_cb), disc_menu);
-    }
-    
-    g_signal_connect_swapped (menu, "selection-done",
-			      G_CALLBACK (gtk_widget_destroy), menu);
-    
-    gtk_menu_popup (GTK_MENU (menu), 
-		    NULL, NULL,
-		    NULL, NULL,
-		    button, activate_time);
-}
-
-static gboolean
-parole_disc_menu_show_disc_track (GtkWidget *widget, GdkEventButton *ev, ParoleDiscMenu *menu)
-{
-    if ( ev->button == 1 )
-    {
-	parole_disc_menu_show_disc_track_menu (menu, ev->button, ev->time);
-    }
-    
-    return FALSE;
-}
-
-static void
-parole_disc_menu_class_init (ParoleDiscMenuClass *klass)
-{
-    GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
-    object_class->finalize = parole_disc_menu_finalize;
-
-    g_type_class_add_private (klass, sizeof (ParoleDiscMenuPrivate));
-}
-
-static void
-parole_disc_menu_init (ParoleDiscMenu *menu)
-{
-    GtkBuilder *builder;
-    GdkColor color;
-    
-    menu->priv = PAROLE_DISC_MENU_GET_PRIVATE (menu);
-    
-    menu->priv->tracks = 0;
-    
-    builder = parole_builder_get_main_interface ();
-    
-    menu->priv->disc_track = GTK_WIDGET (gtk_builder_get_object (builder, "select-track"));
-    menu->priv->next_chapter = GTK_WIDGET (gtk_builder_get_object (builder, "next-chapter"));
-    menu->priv->prev_chapter = GTK_WIDGET (gtk_builder_get_object (builder, "prev-chapter"));
-    menu->priv->chapter_menu = GTK_WIDGET (gtk_builder_get_object (builder, "chapter-menu"));
-    menu->priv->dvd_menu = GTK_WIDGET (gtk_builder_get_object (builder, "dvd-chapters-menu"));
-    menu->priv->info = GTK_WIDGET (gtk_builder_get_object (builder, "info"));
-    menu->priv->eventboxinfo = GTK_WIDGET (gtk_builder_get_object (builder, "eventboxinfo"));
-    menu->priv->disc_box = GTK_WIDGET (gtk_builder_get_object (builder, "disc-box"));
-    
-    gdk_color_parse ("black", &color);
-    
-    gtk_widget_modify_bg (menu->priv->eventboxinfo, GTK_STATE_NORMAL, &color);
-    gtk_widget_modify_bg (menu->priv->disc_box, GTK_STATE_NORMAL, &color);
-
-    menu->priv->current_media_type = PAROLE_MEDIA_TYPE_UNKNOWN;
-    
-    g_signal_connect (menu->priv->disc_track, "button-press-event",
-		      G_CALLBACK (parole_disc_menu_show_disc_track), menu);
-    
-    g_signal_connect_swapped (menu->priv->next_chapter, "clicked",
-			      G_CALLBACK (parole_disc_menu_next_chapter_cb), menu);
-    
-    g_signal_connect_swapped (menu->priv->prev_chapter, "clicked",
-			      G_CALLBACK (parole_disc_menu_prev_chapter_cb), menu);
-			      
-    g_signal_connect_swapped (menu->priv->dvd_menu, "clicked",
-			      G_CALLBACK (parole_disc_menu_dvd_menu_cb), menu);
-    
-    g_signal_connect_swapped (menu->priv->chapter_menu, "clicked",
-			      G_CALLBACK (parole_disc_menu_chapter_menu_cb), menu);
-			      
-    menu->priv->gst = PAROLE_GST (parole_gst_get ());
-    
-    g_signal_connect (G_OBJECT (menu->priv->gst), "media_state",
-		      G_CALLBACK (parole_disc_menu_media_state_cb), menu);
-    
-    g_object_unref (builder);
-}
-
-static void
-parole_disc_menu_finalize (GObject *object)
-{
-    ParoleDiscMenu *menu;
-
-    menu = PAROLE_DISC_MENU (object);
-
-    G_OBJECT_CLASS (parole_disc_menu_parent_class)->finalize (object);
-}
-
-ParoleDiscMenu *
-parole_disc_menu_new (void)
-{
-    ParoleDiscMenu *menu = NULL;
-    menu = g_object_new (PAROLE_TYPE_DISC_MENU, NULL);
-    return menu;
-}
-
-gboolean parole_disc_menu_visible (ParoleDiscMenu *menu)
-{
-    return (GTK_WIDGET_VISIBLE (menu->priv->next_chapter));
-}
-
-gboolean parole_disc_menu_seek_next (ParoleDiscMenu *menu)
-{
-    if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD ||
-	 menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA )
-    {
-	parole_disc_menu_next_chapter_cb (menu);
-	return TRUE;
-    }
-    
-    return FALSE;
-}
-
-gboolean parole_disc_menu_seek_prev (ParoleDiscMenu *menu)
-{
-    if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD ||
-	 menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA )
-    {
-	parole_disc_menu_prev_chapter_cb (menu);
-	return TRUE;
-    }
-    
-    return FALSE;
-}
-
-void parole_disc_menu_set_fullscreen (ParoleDiscMenu *menu, gboolean fullscreen)
-{
-}
diff --git a/src/parole-disc-menu.h b/src/parole-disc-menu.h
deleted file mode 100644
index 02ff929..0000000
--- a/src/parole-disc-menu.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef __PAROLE_DISC_MENU_H
-#define __PAROLE_DISC_MENU_H
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define PAROLE_TYPE_DISC_MENU        (parole_disc_menu_get_type () )
-#define PAROLE_DISC_MENU(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), PAROLE_TYPE_DISC_MENU, ParoleDiscMenu))
-#define PAROLE_IS_DISC_MENU(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), PAROLE_TYPE_DISC_MENU))
-
-typedef struct ParoleDiscMenuPrivate ParoleDiscMenuPrivate;
-
-typedef struct
-{
-    GObject         		parent;
-    ParoleDiscMenuPrivate      *priv;
-} ParoleDiscMenu;
-
-typedef struct
-{
-    GObjectClass 		parent_class;
-} ParoleDiscMenuClass;
-
-GType        			parole_disc_menu_get_type        (void) G_GNUC_CONST;
-
-ParoleDiscMenu                 *parole_disc_menu_new             (void);
-
-gboolean			parole_disc_menu_visible	 (ParoleDiscMenu *menu);
-
-gboolean			parole_disc_menu_seek_next	 (ParoleDiscMenu *menu);
-
-gboolean			parole_disc_menu_seek_prev	 (ParoleDiscMenu *menu);
-
-void				parole_disc_menu_set_fullscreen  (ParoleDiscMenu *menu,
-								  gboolean fullscreen);
-
-G_END_DECLS
-
-#endif /* __PAROLE_DISC_MENU_H */
diff --git a/src/parole-iso-image.c b/src/parole-iso-image.c
index 40aa587..65fe4f2 100644
--- a/src/parole-iso-image.c
+++ b/src/parole-iso-image.c
@@ -57,7 +57,7 @@ gchar *parole_open_iso_image (GtkWindow *parent, ParoleIsoImage image)
     const gchar *folder;
     gint response;
     
-    dialog = xfce_titled_dialog_new_with_buttons (PAROLE_ISO_IMAGE_CD ? _("Open IS CD image") : _("Open ISO DVD image"), 
+    dialog = xfce_titled_dialog_new_with_buttons (PAROLE_ISO_IMAGE_CD ? _("Open CD iso image") : _("Open DVD iso image"), 
 						  parent,
 						  GTK_DIALOG_DESTROY_WITH_PARENT,
 						  GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
diff --git a/src/parole-medialist.c b/src/parole-medialist.c
index 89bd834..86eddc1 100644
--- a/src/parole-medialist.c
+++ b/src/parole-medialist.c
@@ -1,4 +1,4 @@
-/*f
+/*
  * * Copyright (C) 2009 Ali <aliov at xfce.org>
  *
  * Licensed under the GNU General Public License Version 2
diff --git a/src/parole-player.c b/src/parole-player.c
index 428b61e..6927220 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -52,7 +52,6 @@
 #include "parole-mediachooser.h"
 #include "parole-filters.h"
 #include "parole-disc.h"
-#include "parole-disc-menu.h"
 #include "parole-statusbar.h"
 #include "parole-screensaver.h"
 #include "parole-conf-dialog.h"
@@ -162,6 +161,9 @@ gboolean        parole_player_volume_scroll_event_cb	(GtkWidget *widget,
 							 GdkEventScroll *ev,
 							 ParolePlayer *player);
 
+void		parole_player_volume_toggled		(GtkWidget *widget,
+							 ParolePlayer *player);
+
 void		parole_player_full_screen_activated_cb  (GtkWidget *widget,
 							 ParolePlayer *player);
 
@@ -170,7 +172,10 @@ void		parole_player_shuffle_toggled_cb	(GtkWidget *widget,
 
 void		parole_player_repeat_toggled_cb		(GtkWidget *widget,
 							 ParolePlayer *player);
-
+							 
+void		parole_player_minimize_clicked_cb	(GtkWidget *widget,
+							 ParolePlayer *player);
+							 
 /*
  * Aspect ratio
  */
@@ -208,18 +213,25 @@ static GtkTargetEntry target_entry[] =
 /*
  * End of GtkBuilder Callbacks
  */
-#define PAROLE_PLAYER_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), PAROLE_TYPE_PLAYER, ParolePlayerPrivate))
 
-struct ParolePlayerPrivate
+struct _ParolePlayerClass
 {
+    GObjectClass 	parent_class;
+    
+};
+
+struct _ParolePlayer
+{
+    GObject         	parent;
+    
+    
     DBusGConnection     *bus;
     ParoleMediaList	*list;
     ParoleStatusbar     *status;
     ParoleDisc          *disc;
     ParoleScreenSaver   *screen_saver;
     ParoleConf          *conf;
-    ParoleDiscMenu      *disc_menu;
+
 #ifdef HAVE_XF86_KEYSYM
     ParoleButton        *button;
 #endif
@@ -233,6 +245,9 @@ struct ParolePlayerPrivate
     GtkWidget 		*gst;
 
     GtkWidget 		*window;
+    GtkWidget           *sidebar;
+    GtkWidget		*menu_view;
+    GtkWidget		*video_view;
     GtkWidget		*playlist_nt;
     GtkWidget		*main_nt;	/*Main notebook*/
     GtkWidget		*show_hide_playlist;
@@ -258,6 +273,7 @@ struct ParolePlayerPrivate
     gboolean             exit;
     
     gboolean		 full_screen;
+    gboolean		 minimized;
     
     ParoleMediaState     state;
     gboolean		 user_seeking;
@@ -278,47 +294,47 @@ G_DEFINE_TYPE (ParolePlayer, parole_player, G_TYPE_OBJECT)
 
 void parole_show_about	(GtkWidget *widget, ParolePlayer *player)
 {
-    parole_about (GTK_WINDOW (player->priv->window));
+    parole_about (GTK_WINDOW (player->window));
 }
 
 void ratio_none_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
-    g_object_set (G_OBJECT (player->priv->conf),
+    g_object_set (G_OBJECT (player->conf),
 		  "aspect-ratio", PAROLE_ASPECT_RATIO_NONE,
 		  NULL);
 }
 
 void ratio_auto_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
-    g_object_set (G_OBJECT (player->priv->conf),
+    g_object_set (G_OBJECT (player->conf),
 		  "aspect-ratio", PAROLE_ASPECT_RATIO_AUTO,
 		  NULL);
 }
 
 void ratio_square_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
-     g_object_set (G_OBJECT (player->priv->conf),
+     g_object_set (G_OBJECT (player->conf),
 		  "aspect-ratio", PAROLE_ASPECT_RATIO_SQUARE,
 		  NULL);
 }
 
 void ratio_4_3_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
-    g_object_set (G_OBJECT (player->priv->conf),
+    g_object_set (G_OBJECT (player->conf),
 		  "aspect-ratio", PAROLE_ASPECT_RATIO_4_3,
 		  NULL);
 }
 
 void ratio_16_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
-    g_object_set (G_OBJECT (player->priv->conf),
+    g_object_set (G_OBJECT (player->conf),
 		  "aspect-ratio", PAROLE_ASPECT_RATIO_16_9,
 		  NULL);
 }
 
 void ratio_20_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
-    g_object_set (G_OBJECT (player->priv->conf),
+    g_object_set (G_OBJECT (player->conf),
 		  "aspect-ratio", PAROLE_ASPECT_RATIO_DVB,
 		  NULL);
 }
@@ -328,29 +344,29 @@ void parole_player_show_hide_playlist (GtkButton *button, ParolePlayer *player)
     GtkWidget *img;
     gboolean   visible;
     
-    g_object_get (G_OBJECT (player->priv->show_hide_playlist),
+    g_object_get (G_OBJECT (player->show_hide_playlist),
 		  "image", &img,
 		  NULL);
 
-    visible = GTK_WIDGET_VISIBLE (player->priv->playlist_nt);
+    visible = GTK_WIDGET_VISIBLE (player->sidebar);
 
     if ( !visible )
     {
 	g_object_set (G_OBJECT (img),
-		      "stock", GTK_STOCK_GO_FORWARD,
+		      "stock", GTK_STOCK_GO_BACK,
 		      NULL);
 		      
-	gtk_widget_show_all (player->priv->playlist_nt);
-	gtk_widget_set_tooltip_text (GTK_WIDGET (player->priv->show_hide_playlist), _("Hide playlist"));
+	gtk_widget_show_all (player->sidebar);
+	gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Hide playlist"));
     }
     else
     {
 	g_object_set (G_OBJECT (img),
-		      "stock", GTK_STOCK_GO_BACK,
+		      "stock", GTK_STOCK_GO_FORWARD,
 		      NULL);
 		      
-	gtk_widget_hide_all (player->priv->playlist_nt);
-	gtk_widget_set_tooltip_text (GTK_WIDGET (player->priv->show_hide_playlist), _("Show playlist"));
+	gtk_widget_hide_all (player->sidebar);
+	gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Show playlist"));
     }
     g_object_unref (img);
 }
@@ -360,7 +376,7 @@ parole_player_open_iso_image (ParolePlayer *player, ParoleIsoImage image)
 {
     gchar *uri;
     
-    uri = parole_open_iso_image (GTK_WINDOW (player->priv->window), PAROLE_ISO_IMAGE_CD);
+    uri = parole_open_iso_image (GTK_WINDOW (player->window), image);
     
     if ( uri )
     {
@@ -383,13 +399,13 @@ void cd_iso_mi_activated_cb (GtkWidget *widget,	 ParolePlayer *player)
 static void
 parole_player_change_range_value (ParolePlayer *player, gdouble value)
 {
-    if ( !player->priv->user_seeking )
+    if ( !player->user_seeking )
     {
-	player->priv->internal_range_change = TRUE;
+	player->internal_range_change = TRUE;
     
-	gtk_range_set_value (GTK_RANGE (player->priv->range), value);
+	gtk_range_set_value (GTK_RANGE (player->range), value);
 
-	player->priv->internal_range_change = FALSE;
+	player->internal_range_change = FALSE;
     }
 }
 
@@ -398,11 +414,11 @@ parole_player_reset (ParolePlayer *player)
 {
     parole_player_change_range_value (player, 0);
 
-    if ( player->priv->row )
+    if ( player->row )
     {
-	parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
-	gtk_tree_row_reference_free (player->priv->row);
-	player->priv->row = NULL;
+	parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
+	gtk_tree_row_reference_free (player->row);
+	player->row = NULL;
     }
 }
 
@@ -415,7 +431,7 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
 
     parole_player_reset (player);
     
-    player->priv->row = gtk_tree_row_reference_copy (row);
+    player->row = gtk_tree_row_reference_copy (row);
     
     model = gtk_tree_row_reference_get_model (row);
     
@@ -432,7 +448,7 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
 	    
 	    if ( g_str_has_prefix (uri, "file:/") )
 	    {
-		if ( parole_file_filter (player->priv->video_filter, file) )
+		if ( parole_file_filter (player->video_filter, file) )
 		{
 		    sub = parole_get_subtitle_path (uri);
 		}
@@ -440,9 +456,9 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
 	    TRACE ("Trying to play media file %s", uri);
 	    TRACE ("File content type %s", parole_file_get_content_type (file));
 	    
-	    gtk_widget_set_sensitive (player->priv->stop, TRUE);
+	    gtk_widget_set_sensitive (player->stop, TRUE);
 	    
-	    parole_gst_play_uri (PAROLE_GST (player->priv->gst), 
+	    parole_gst_play_uri (PAROLE_GST (player->gst), 
 				 parole_file_get_uri (file),
 				 sub);
 	    g_free (sub);
@@ -455,26 +471,26 @@ static void
 parole_player_disc_selected_cb (ParoleDisc *disc, const gchar *uri, const gchar *device, ParolePlayer *player)
 {
     parole_player_reset (player);
-    gtk_widget_set_sensitive (player->priv->stop, TRUE);
+    gtk_widget_set_sensitive (player->stop, TRUE);
     
-    parole_gst_play_device_uri (PAROLE_GST (player->priv->gst), uri, device);
+    parole_gst_play_device_uri (PAROLE_GST (player->gst), uri, device);
 }
 
 static void
 parole_player_uri_opened_cb (ParoleMediaList *list, const gchar *uri, ParolePlayer *player)
 {
     parole_player_reset (player);
-    gtk_widget_set_sensitive (player->priv->stop, TRUE);
-    parole_gst_play_uri (PAROLE_GST (player->priv->gst), uri, NULL);
+    gtk_widget_set_sensitive (player->stop, TRUE);
+    parole_gst_play_uri (PAROLE_GST (player->gst), uri, NULL);
 }
 
 static void
 parole_player_media_cursor_changed_cb (ParoleMediaList *list, gboolean media_selected, ParolePlayer *player)
 {
-    if (player->priv->state < PAROLE_MEDIA_STATE_PAUSED)
+    if (player->state < PAROLE_MEDIA_STATE_PAUSED)
     {
-	gtk_widget_set_sensitive (player->priv->play_pause, 
-				  media_selected || !parole_media_list_is_empty (player->priv->list));
+	gtk_widget_set_sensitive (player->play_pause, 
+				  media_selected || !parole_media_list_is_empty (player->list));
     }
 }
 
@@ -485,7 +501,7 @@ parole_player_media_progressed_cb (ParoleGst *gst, const ParoleStream *stream, g
     g_return_if_fail (value > 0);
 #endif
     
-    if ( !player->priv->user_seeking && player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
+    if ( !player->user_seeking && player->state == PAROLE_MEDIA_STATE_PLAYING )
     {
 	parole_player_change_range_value (player, value);
     }
@@ -526,7 +542,7 @@ parole_player_save_uri (ParolePlayer *player, const ParoleStream *stream)
 		  
     if ( media_type == PAROLE_MEDIA_TYPE_LOCAL_FILE )
     {
-	gtk_recent_manager_add_item (player->priv->recent, uri);
+	gtk_recent_manager_add_item (player->recent, uri);
 	goto out;
     }
 	
@@ -568,7 +584,7 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
     if ( !pix )
 	pix = parole_icon_load ("gtk-media-play-ltr", 16);
     
-    parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, pix);
+    parole_media_list_set_row_pixbuf (player->list, player->row, pix);
     
     g_object_get (G_OBJECT (stream),
 		  "seekable", &seekable,
@@ -576,31 +592,31 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
 		  "live", &live,
 		  NULL);
 		  
-    gtk_widget_set_sensitive (player->priv->play_pause, TRUE);
-    gtk_widget_set_sensitive (player->priv->stop, TRUE);
-    
-    parole_player_set_playpause_button_image (player->priv->play_pause, GTK_STOCK_MEDIA_PAUSE);
+    gtk_widget_set_sensitive (player->play_pause, TRUE);
+    gtk_widget_set_sensitive (player->stop, TRUE);
+
+    parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PAUSE);
     
-    gtk_widget_set_sensitive (player->priv->range, seekable);
+    gtk_widget_set_sensitive (player->range, seekable);
     
-    player->priv->internal_range_change = TRUE;
+    player->internal_range_change = TRUE;
     if ( live || duration == 0)
 	parole_player_change_range_value (player, 0);
     else 
-	gtk_range_set_range (GTK_RANGE (player->priv->range), 0, duration);
+	gtk_range_set_range (GTK_RANGE (player->range), 0, duration);
 	
-    player->priv->internal_range_change = FALSE;
+    player->internal_range_change = FALSE;
     
-    gtk_widget_set_sensitive (player->priv->seekf, seekable);
-    gtk_widget_set_sensitive (player->priv->seekb, seekable);
-    gtk_widget_set_tooltip_text (GTK_WIDGET (player->priv->range), seekable ? NULL : _("Media stream is not seekable"));
+    gtk_widget_set_sensitive (player->seekf, seekable);
+    gtk_widget_set_sensitive (player->seekb, seekable);
+    gtk_widget_set_tooltip_text (GTK_WIDGET (player->range), seekable ? NULL : _("Media stream is not seekable"));
 
     if ( pix )
 	g_object_unref (pix);
 	
     parole_player_save_uri (player, stream);
     
-    gtk_widget_grab_focus (player->priv->gst);
+    gtk_widget_grab_focus (player->gst);
 }
 
 static void
@@ -611,13 +627,13 @@ parole_player_paused (ParolePlayer *player)
     TRACE ("Player paused");
     
     pix = parole_icon_load (GTK_STOCK_MEDIA_PAUSE, 16);
-    parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, pix);
+    parole_media_list_set_row_pixbuf (player->list, player->row, pix);
     
-    gtk_widget_set_sensitive (player->priv->play_pause, TRUE);
-    gtk_widget_set_sensitive (player->priv->stop, TRUE);
+    gtk_widget_set_sensitive (player->play_pause, TRUE);
+    gtk_widget_set_sensitive (player->stop, TRUE);
     
-    if ( player->priv->user_seeking == FALSE)
-	parole_player_set_playpause_button_image (player->priv->play_pause, GTK_STOCK_MEDIA_PLAY);
+    if ( player->user_seeking == FALSE)
+	parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PLAY);
     
     if ( pix )
 	g_object_unref (pix);
@@ -627,9 +643,9 @@ parole_player_paused (ParolePlayer *player)
 static void
 parole_player_quit (ParolePlayer *player)
 {
-    parole_media_list_save_list (player->priv->list);
-    parole_gst_shutdown (PAROLE_GST (player->priv->gst));
-    gtk_widget_destroy (player->priv->window);
+    parole_media_list_save_list (player->list);
+    parole_gst_shutdown (PAROLE_GST (player->gst));
+    gtk_widget_destroy (player->window);
     g_object_unref (player);
     gtk_main_quit ();
 }
@@ -639,31 +655,31 @@ parole_player_stopped (ParolePlayer *player)
 {
     TRACE ("Player stopped");
     
-    gtk_widget_set_sensitive (player->priv->play_pause, 
-			      parole_media_list_is_selected_row (player->priv->list) || 
-			      !parole_media_list_is_empty (player->priv->list));
+    gtk_widget_set_sensitive (player->play_pause, 
+			      parole_media_list_is_selected_row (player->list) || 
+			      !parole_media_list_is_empty (player->list));
     
     /* 
      * Set the stop widget insensitive only if we are not going to got to playing
      * state, this give the possibility to press on it if the media get stuck
      * for some reason.
      */
-    if ( parole_gst_get_gst_target_state (PAROLE_GST (player->priv->gst)) != GST_STATE_PLAYING)
+    if ( parole_gst_get_gst_target_state (PAROLE_GST (player->gst)) != GST_STATE_PLAYING)
     {
-	gtk_widget_set_sensitive (player->priv->stop, FALSE);
+	gtk_widget_set_sensitive (player->stop, FALSE);
     }
 
     parole_player_change_range_value (player, 0);
-    gtk_widget_set_sensitive (player->priv->range, FALSE);
+    gtk_widget_set_sensitive (player->range, FALSE);
     
-    gtk_widget_set_sensitive (player->priv->seekf, FALSE);
-    gtk_widget_set_sensitive (player->priv->seekb, FALSE);
+    gtk_widget_set_sensitive (player->seekf, FALSE);
+    gtk_widget_set_sensitive (player->seekb, FALSE);
 
-    parole_player_set_playpause_button_image (player->priv->play_pause, GTK_STOCK_MEDIA_PLAY);
+    parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PLAY);
     
-    parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
+    parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
     
-    if ( player->priv->exit )
+    if ( player->exit )
     {
 	parole_player_quit (player);
     }
@@ -674,13 +690,13 @@ parole_player_play_selected_row (ParolePlayer *player)
 {
     GtkTreeRowReference *row;
     
-    row = parole_media_list_get_selected_row (player->priv->list);
+    row = parole_media_list_get_selected_row (player->list);
     
     if ( row == NULL )
-	row = parole_media_list_get_first_row (player->priv->list);
+	row = parole_media_list_get_first_row (player->list);
     
     if ( row )
-	parole_player_media_activated_cb (player->priv->list, row, player);
+	parole_player_media_activated_cb (player->list, row, player);
 }
 
 static void
@@ -690,34 +706,34 @@ parole_player_play_next (ParolePlayer *player, gboolean allow_shuffle)
     
     GtkTreeRowReference *row;
     
-    g_object_get (G_OBJECT (player->priv->conf),
+    g_object_get (G_OBJECT (player->conf),
 		  "shuffle", &shuffle,
 		  "repeat", &repeat,
 		  NULL);
     
-    if ( player->priv->row )
+    if ( player->row )
     {
-	parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
+	parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
 	
 	if ( shuffle && allow_shuffle )
-	    row = parole_media_list_get_row_random (player->priv->list);
+	    row = parole_media_list_get_row_random (player->list);
 	else
-	    row = parole_media_list_get_next_row (player->priv->list, player->priv->row, repeat);
+	    row = parole_media_list_get_next_row (player->list, player->row, repeat);
 	
 	if ( row )
 	{
-	    parole_player_media_activated_cb (player->priv->list, row, player);
+	    parole_player_media_activated_cb (player->list, row, player);
 	    return;
 	}
 	else
 	{
 	    TRACE ("No remaining media in the list");
-	    gtk_tree_row_reference_free (player->priv->row);
-	    player->priv->row = NULL;
+	    gtk_tree_row_reference_free (player->row);
+	    player->row = NULL;
 	}
     }
 
-    parole_gst_stop (PAROLE_GST (player->priv->gst));
+    parole_gst_stop (PAROLE_GST (player->gst));
 }
 
 static void
@@ -725,26 +741,26 @@ parole_player_play_prev (ParolePlayer *player)
 {
     GtkTreeRowReference *row;
     
-    if ( player->priv->row )
+    if ( player->row )
     {
-	parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
+	parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
 	
-	row = parole_media_list_get_prev_row (player->priv->list, player->priv->row);
+	row = parole_media_list_get_prev_row (player->list, player->row);
 	
 	if ( row )
 	{
-	    parole_player_media_activated_cb (player->priv->list, row, player);
+	    parole_player_media_activated_cb (player->list, row, player);
 	    return;
 	}
 	else
 	{
 	    TRACE ("No remaining media in the list");
-	    gtk_tree_row_reference_free (player->priv->row);
-	    player->priv->row = NULL;
+	    gtk_tree_row_reference_free (player->row);
+	    player->row = NULL;
 	}
     }
 
-    parole_gst_stop (PAROLE_GST (player->priv->gst));
+    parole_gst_stop (PAROLE_GST (player->gst));
 }
 
 static void
@@ -754,13 +770,13 @@ parole_player_reset_saver_changed (ParolePlayer *player, const ParoleStream *str
     
     TRACE ("Start");
     
-    g_object_get (G_OBJECT (player->priv->conf),
+    g_object_get (G_OBJECT (player->conf),
 		  "reset-saver", &reset_saver,
 		  NULL);
 		  
     if ( !reset_saver )
-	parole_screen_saver_uninhibit (player->priv->screen_saver);
-    else if ( player->priv->state ==  PAROLE_MEDIA_STATE_PLAYING )
+	parole_screen_saver_uninhibit (player->screen_saver);
+    else if ( player->state ==  PAROLE_MEDIA_STATE_PLAYING )
     {
 	gboolean has_video;
 	
@@ -770,11 +786,11 @@ parole_player_reset_saver_changed (ParolePlayer *player, const ParoleStream *str
 		      
 	if ( has_video )
 	{
-	    parole_screen_saver_inhibit (player->priv->screen_saver);
+	    parole_screen_saver_inhibit (player->screen_saver);
 	}
     }
     else
-	parole_screen_saver_uninhibit (player->priv->screen_saver);
+	parole_screen_saver_uninhibit (player->screen_saver);
 }
 
 static void
@@ -783,7 +799,7 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
     PAROLE_DEBUG_ENUM ("State callback", state, GST_ENUM_TYPE_MEDIA_STATE);
 
 
-    player->priv->state = state;
+    player->state = state;
     
     parole_player_reset_saver_changed (player, stream);
     
@@ -809,10 +825,10 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
 void
 parole_player_play_pause_clicked (GtkButton *button, ParolePlayer *player)
 {
-    if ( player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
-	parole_gst_pause (PAROLE_GST (player->priv->gst));
-    else if ( player->priv->state == PAROLE_MEDIA_STATE_PAUSED )
-	parole_gst_resume (PAROLE_GST (player->priv->gst));
+    if ( player->state == PAROLE_MEDIA_STATE_PLAYING )
+	parole_gst_pause (PAROLE_GST (player->gst));
+    else if ( player->state == PAROLE_MEDIA_STATE_PAUSED )
+	parole_gst_resume (PAROLE_GST (player->gst));
     else
 	parole_player_play_selected_row (player);
 }
@@ -820,7 +836,7 @@ parole_player_play_pause_clicked (GtkButton *button, ParolePlayer *player)
 void
 parole_player_stop_clicked (GtkButton *button, ParolePlayer *player)
 {
-    parole_gst_stop (PAROLE_GST (player->priv->gst));
+    parole_gst_stop (PAROLE_GST (player->gst));
 }
 
 /*
@@ -832,7 +848,7 @@ parole_player_get_seek_value (ParolePlayer *player)
     gint64 val;
     gint64 dur;
     
-    dur = parole_gst_get_stream_duration (PAROLE_GST (player->priv->gst));
+    dur = parole_gst_get_stream_duration (PAROLE_GST (player->gst));
     
     val = dur * 5 /100;
     
@@ -843,22 +859,22 @@ void parole_player_seekf_cb (GtkButton *button, ParolePlayer *player)
 {
     gdouble seek;
     
-    seek =  parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
+    seek =  parole_gst_get_stream_position (PAROLE_GST (player->gst) )
 	    +
 	    parole_player_get_seek_value (player);
 	    
-    parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
+    parole_gst_seek (PAROLE_GST (player->gst), seek);
 }
 							 
 void parole_player_seekb_cb (GtkButton *button, ParolePlayer *player)
 {
     gdouble seek;
     
-    seek =  parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
+    seek =  parole_gst_get_stream_position (PAROLE_GST (player->gst) )
 	    -
 	    parole_player_get_seek_value (player);
 	    
-    parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
+    parole_gst_seek (PAROLE_GST (player->gst), seek);
 }
 
 gboolean parole_player_scroll_event_cb (GtkWidget *widget, GdkEventScroll *ev, ParolePlayer *player)
@@ -884,7 +900,7 @@ parole_player_range_button_release (GtkWidget *widget, GdkEventButton *ev, Parol
 {
     ev->button = 2;
     
-    player->priv->user_seeking = FALSE;
+    player->user_seeking = FALSE;
     
     return FALSE;
 }
@@ -894,7 +910,7 @@ parole_player_range_button_press (GtkWidget *widget, GdkEventButton *ev, ParoleP
 {
     ev->button = 2;
     
-    player->priv->user_seeking = TRUE;
+    player->user_seeking = TRUE;
     
     return FALSE;
 }
@@ -904,21 +920,42 @@ parole_player_range_value_changed (GtkRange *range, ParolePlayer *player)
 {
     gdouble value;
     
-    if ( !player->priv->internal_range_change )
+    if ( !player->internal_range_change )
     {
 	value = gtk_range_get_value (GTK_RANGE (range));
-	player->priv->user_seeking = TRUE;
+	player->user_seeking = TRUE;
 	TRACE ("Sending a seek request with value :%e", value);
-	parole_gst_seek (PAROLE_GST (player->priv->gst), value);
-	player->priv->user_seeking = FALSE;
+	parole_gst_seek (PAROLE_GST (player->gst), value);
+	player->user_seeking = FALSE;
+    }
+}
+
+void parole_player_minimize_clicked_cb (GtkWidget *widget, ParolePlayer *player)
+{
+    if ( player->minimized )
+    {
+	gtk_widget_show (GTK_WIDGET (player->gst));
+	gtk_widget_show (GTK_WIDGET (player->video_view));
+	gtk_widget_show (GTK_WIDGET (player->menu_view));
+	gtk_widget_show (GTK_WIDGET (player->sidebar));
+	
+	player->minimized = FALSE;
+    }
+    else
+    {
+	gtk_widget_hide (GTK_WIDGET (player->gst));
+	gtk_widget_hide (GTK_WIDGET (player->video_view));
+	gtk_widget_hide (GTK_WIDGET (player->menu_view));
+	gtk_widget_hide (GTK_WIDGET (player->sidebar));
+	player->minimized = TRUE;
     }
 }
 
 static void
 parole_player_error_cb (ParoleGst *gst, const gchar *error, ParolePlayer *player)
 {
-    parole_dialog_error (GTK_WINDOW (player->priv->window), _("GStreamer backend error"), error);
-    parole_screen_saver_uninhibit (player->priv->screen_saver);
+    parole_dialog_error (GTK_WINDOW (player->window), _("GStreamer backend error"), error);
+    parole_screen_saver_uninhibit (player->screen_saver);
     parole_player_stopped (player);
 }
 
@@ -927,14 +964,14 @@ parole_player_media_tag_cb (ParoleGst *gst, const ParoleStream *stream, ParolePl
 {
     gchar *title;
     
-    if ( player->priv->row )
+    if ( player->row )
     {
 	g_object_get (G_OBJECT (stream),
 		      "title", &title,
 		      NULL);
 	if ( title )
 	{
-	    parole_media_list_set_row_name (player->priv->list, player->priv->row, title);
+	    parole_media_list_set_row_name (player->list, player->row, title);
 	    g_free (title);
 	}
     }
@@ -945,24 +982,24 @@ parole_player_buffering_cb (ParoleGst *gst, const ParoleStream *stream, gint per
 {
     if ( percentage == 100 )
     {
-	player->priv->buffering = FALSE;
-	parole_gst_resume (PAROLE_GST (player->priv->gst));
+	player->buffering = FALSE;
+	parole_gst_resume (PAROLE_GST (player->gst));
     }
     else
     {
-	player->priv->buffering = TRUE;
+	player->buffering = TRUE;
 	
-	if ( player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
-	    parole_gst_pause (PAROLE_GST (player->priv->gst));
+	if ( player->state == PAROLE_MEDIA_STATE_PLAYING )
+	    parole_gst_pause (PAROLE_GST (player->gst));
     }
 }
 
 gboolean parole_player_delete_event_cb (GtkWidget *widget, GdkEvent *ev, ParolePlayer *player)
 {
-    parole_window_busy_cursor (GTK_WIDGET (player->priv->window)->window);
+    parole_window_busy_cursor (GTK_WIDGET (player->window)->window);
     
-    player->priv->exit = TRUE;
-    parole_gst_terminate (PAROLE_GST (player->priv->gst));
+    player->exit = TRUE;
+    parole_gst_terminate (PAROLE_GST (player->gst));
     
     return TRUE;
 }
@@ -975,25 +1012,13 @@ parole_player_destroy_cb (GtkObject *window, ParolePlayer *player)
 static void
 parole_player_play_menu_item_activate (ParolePlayer *player)
 {
-    gtk_widget_activate (player->priv->play_pause);
+    gtk_widget_activate (player->play_pause);
 }
 
 static void
 parole_player_stop_menu_item_activate (ParolePlayer *player)
 {
-    gtk_widget_activate (player->priv->stop);
-}
-
-static void
-parole_player_next_menu_item_activate (ParolePlayer *player)
-{
-    parole_disc_menu_seek_next (player->priv->disc_menu);
-}
-
-static void
-parole_player_previous_menu_item_activate (ParolePlayer *player)
-{
-    parole_disc_menu_seek_prev (player->priv->disc_menu);
+    gtk_widget_activate (player->stop);
 }
 
 static void
@@ -1002,19 +1027,19 @@ parole_player_move_fs_window (ParolePlayer *player)
     GdkScreen *screen;
     GdkRectangle rect;
     
-    screen = gtk_window_get_screen (GTK_WINDOW (player->priv->fs_window));
+    screen = gtk_window_get_screen (GTK_WINDOW (player->fs_window));
     
     gdk_screen_get_monitor_geometry (screen,
-				     gdk_screen_get_monitor_at_window (screen, player->priv->window->window),
+				     gdk_screen_get_monitor_at_window (screen, player->window->window),
 				     &rect);
     
-    gtk_window_resize (GTK_WINDOW (player->priv->fs_window), 
+    gtk_window_resize (GTK_WINDOW (player->fs_window), 
 		       rect.width, 
-		       player->priv->play_box->allocation.width);
+		       player->play_box->allocation.width);
     
-    gtk_window_move (GTK_WINDOW (player->priv->fs_window),
+    gtk_window_move (GTK_WINDOW (player->fs_window),
 		     0, 
-		     rect.height + rect.y - player->priv->play_box->allocation.height);
+		     rect.height + rect.y - player->play_box->allocation.height);
 }
 
 static void
@@ -1023,54 +1048,52 @@ parole_player_full_screen (ParolePlayer *player, gboolean fullscreen)
     gint npages;
     static gint current_page = 0;
     
-    if ( player->priv->full_screen == fullscreen )
+    if ( player->full_screen == fullscreen )
 	return;
     
-    if ( player->priv->full_screen )
+    if ( player->full_screen )
     {
-	npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (player->priv->main_nt));
-	gtk_widget_reparent (player->priv->play_box, player->priv->control);
-	gtk_widget_hide (player->priv->fs_window);
-	parole_statusbar_set_visible (player->priv->status, TRUE);
-	parole_disc_menu_set_fullscreen (player->priv->disc_menu, FALSE);
-	gtk_widget_show (player->priv->play_box);
-	gtk_widget_show (player->priv->menu_bar);
-	gtk_widget_show (player->priv->playlist_nt);
-	gtk_widget_show (player->priv->show_hide_playlist);
-	gtk_widget_hide (player->priv->leave_fs);
+	npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (player->main_nt));
+	gtk_widget_reparent (player->play_box, player->control);
+	gtk_widget_hide (player->fs_window);
+	parole_statusbar_set_visible (player->status, TRUE);
+	gtk_widget_show (player->play_box);
+	gtk_widget_show (player->menu_bar);
+	gtk_widget_show (player->playlist_nt);
+	gtk_widget_show (player->show_hide_playlist);
+	gtk_widget_hide (player->leave_fs);
 	
-	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), npages > 1);
+	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->main_nt), npages > 1);
 	
-	gtk_window_unfullscreen (GTK_WINDOW (player->priv->window));
-	gtk_notebook_set_current_page (GTK_NOTEBOOK (player->priv->playlist_nt), current_page);
-	player->priv->full_screen = FALSE;
+	gtk_window_unfullscreen (GTK_WINDOW (player->window));
+	gtk_notebook_set_current_page (GTK_NOTEBOOK (player->playlist_nt), current_page);
+	player->full_screen = FALSE;
     }
     else
     {
-	parole_disc_menu_set_fullscreen (player->priv->disc_menu, TRUE);
 	parole_player_move_fs_window (player);
-	gtk_widget_reparent (player->priv->play_box, player->priv->fs_window);
+	gtk_widget_reparent (player->play_box, player->fs_window);
 	
-	parole_statusbar_set_visible (player->priv->status, FALSE);
+	parole_statusbar_set_visible (player->status, FALSE);
 	
-	gtk_widget_hide (player->priv->play_box);
-	gtk_widget_hide (player->priv->menu_bar);
-	gtk_widget_hide (player->priv->playlist_nt);
-	gtk_widget_hide (player->priv->show_hide_playlist);
-	gtk_widget_show (player->priv->leave_fs);
+	gtk_widget_hide (player->play_box);
+	gtk_widget_hide (player->menu_bar);
+	gtk_widget_hide (player->playlist_nt);
+	gtk_widget_hide (player->show_hide_playlist);
+	gtk_widget_show (player->leave_fs);
 	
-	current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (player->priv->playlist_nt));
-	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), FALSE);
+	current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (player->playlist_nt));
+	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->main_nt), FALSE);
 	
-	gtk_window_fullscreen (GTK_WINDOW (player->priv->window));
-	player->priv->full_screen = TRUE;
+	gtk_window_fullscreen (GTK_WINDOW (player->window));
+	player->full_screen = TRUE;
     }
 }
 
 static void
 parole_player_full_screen_menu_item_activate (ParolePlayer *player)
 {
-    parole_player_full_screen (player, !player->priv->full_screen);
+    parole_player_full_screen (player, !player->full_screen);
 }
 
 void parole_player_full_screen_activated_cb (GtkWidget *widget, ParolePlayer *player)
@@ -1088,22 +1111,19 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
 {
     GtkWidget *menu, *mi, *img;
     gboolean sensitive;
-    gboolean dvd_menu;
     ParoleMediaType media_type;
     
-    dvd_menu = parole_disc_menu_visible (player->priv->disc_menu);
-    
-    media_type = parole_gst_get_current_stream_type (PAROLE_GST (player->priv->gst));
+    media_type = parole_gst_get_current_stream_type (PAROLE_GST (player->gst));
     
     menu = gtk_menu_new ();
     
     /*Play menu item
      */
-    mi = gtk_image_menu_item_new_from_stock (player->priv->state == PAROLE_MEDIA_STATE_PLAYING 
+    mi = gtk_image_menu_item_new_from_stock (player->state == PAROLE_MEDIA_STATE_PLAYING 
 					     ? GTK_STOCK_MEDIA_PAUSE : GTK_STOCK_MEDIA_PLAY, 
 					     NULL);
 					     
-    g_object_get (G_OBJECT (player->priv->play_pause),
+    g_object_get (G_OBJECT (player->play_pause),
 		  "sensitive", &sensitive,
 		  NULL);
 		  
@@ -1118,7 +1138,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
      */
     mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_FORWARD, NULL);
 					     
-    gtk_widget_set_sensitive (mi, (player->priv->state >= PAROLE_MEDIA_STATE_PAUSED));
+    gtk_widget_set_sensitive (mi, (player->state >= PAROLE_MEDIA_STATE_PAUSED));
     gtk_widget_show (mi);
     g_signal_connect (mi, "activate",
 		      G_CALLBACK (parole_player_seekf_cb), player);
@@ -1129,7 +1149,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
      */
     mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_REWIND, NULL);
 					     
-    gtk_widget_set_sensitive (mi, (player->priv->state >= PAROLE_MEDIA_STATE_PAUSED));
+    gtk_widget_set_sensitive (mi, (player->state >= PAROLE_MEDIA_STATE_PAUSED));
     gtk_widget_show (mi);
     g_signal_connect (mi, "activate",
 		      G_CALLBACK (parole_player_seekb_cb), player);
@@ -1140,7 +1160,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
      */
     mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_STOP, NULL);
 					     
-    gtk_widget_set_sensitive (mi, player->priv->state == PAROLE_MEDIA_STATE_PLAYING);
+    gtk_widget_set_sensitive (mi, player->state == PAROLE_MEDIA_STATE_PLAYING);
     gtk_widget_show (mi);
     g_signal_connect_swapped (mi, "activate",
 			      G_CALLBACK (parole_player_stop_menu_item_activate), player);
@@ -1152,10 +1172,10 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
     mi = gtk_image_menu_item_new_with_label (media_type == PAROLE_MEDIA_TYPE_CDDA ? _("Next Track") : _("Next Chapter"));
     img = gtk_image_new_from_stock (GTK_STOCK_MEDIA_NEXT, GTK_ICON_SIZE_MENU);
     gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi),img);
-    gtk_widget_set_sensitive (mi, (player->priv->state == PAROLE_MEDIA_STATE_PLAYING) && dvd_menu);
+    gtk_widget_set_sensitive (mi, (player->state == PAROLE_MEDIA_STATE_PLAYING));
     gtk_widget_show (mi);
-    g_signal_connect_swapped (mi, "activate",
-			      G_CALLBACK (parole_player_next_menu_item_activate), player);
+//    g_signal_connect_swapped (mi, "activate",
+//			      G_CALLBACK (parole_player_next_menu_item_activate), player);
     gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
     
     /*
@@ -1165,10 +1185,10 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
     img = gtk_image_new_from_stock (GTK_STOCK_MEDIA_PREVIOUS, GTK_ICON_SIZE_MENU);
     gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
 					     
-    gtk_widget_set_sensitive (mi, (player->priv->state == PAROLE_MEDIA_STATE_PLAYING) && dvd_menu);
+    gtk_widget_set_sensitive (mi, (player->state == PAROLE_MEDIA_STATE_PLAYING));
     gtk_widget_show (mi);
-    g_signal_connect_swapped (mi, "activate",
-			      G_CALLBACK (parole_player_previous_menu_item_activate), player);
+    //  g_signal_connect_swapped (mi, "activate",
+//			      G_CALLBACK (parole_player_previous_menu_item_activate), player);
     gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
     
     mi = gtk_separator_menu_item_new ();
@@ -1178,7 +1198,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
     /*
      * Un/Full screen
      */
-    mi = gtk_image_menu_item_new_from_stock (player->priv->full_screen ? GTK_STOCK_LEAVE_FULLSCREEN:
+    mi = gtk_image_menu_item_new_from_stock (player->full_screen ? GTK_STOCK_LEAVE_FULLSCREEN:
 					     GTK_STOCK_FULLSCREEN, NULL);
     gtk_widget_show (mi);
     g_signal_connect_swapped (mi, "activate",
@@ -1236,18 +1256,18 @@ static gboolean parole_player_hide_fs_window (gpointer data)
     
     player = PAROLE_PLAYER (data);
     
-    if ( GTK_WIDGET_VISIBLE (player->priv->fs_window) )
+    if ( GTK_WIDGET_VISIBLE (player->fs_window) )
     {
 	/* Don't hide the popup if the pointer is above it*/
-	w = player->priv->fs_window->allocation.width;
-	h = player->priv->fs_window->allocation.height;
+	w = player->fs_window->allocation.width;
+	h = player->fs_window->allocation.height;
 	
-	gtk_widget_get_pointer (player->priv->fs_window, &x, &y);
+	gtk_widget_get_pointer (player->fs_window, &x, &y);
 	
 	if ((x >= 0) && (x <= w) && (y >= 0) && (y <= h))
 	    return TRUE;
 
-	gtk_widget_hide (player->priv->fs_window);
+	gtk_widget_hide (player->fs_window);
     }
 
     return FALSE;
@@ -1258,9 +1278,9 @@ parole_player_gst_widget_motion_notify_event (GtkWidget *widget, GdkEventMotion
 {
     static gulong hide_timeout = 0;
     
-    if ( player->priv->full_screen )
+    if ( player->full_screen )
     {
-	gtk_widget_show_all (player->priv->fs_window);
+	gtk_widget_show_all (player->fs_window);
 	if ( hide_timeout != 0 )
 	{
 	    g_source_remove (hide_timeout);
@@ -1281,13 +1301,13 @@ parole_player_gst_widget_motion_notify_event (GtkWidget *widget, GdkEventMotion
 void
 parole_player_menu_open_location_cb (GtkWidget *widget, ParolePlayer *player)
 {
-    parole_media_list_open_location (player->priv->list);
+    parole_media_list_open_location (player->list);
 }
 
 void
 parole_player_menu_add_cb (GtkWidget *widget, ParolePlayer *player)
 {
-    parole_media_list_open (player->priv->list);
+    parole_media_list_open (player->list);
 }
 
 void parole_player_open_preferences_cb	(GtkWidget *widget, ParolePlayer *player)
@@ -1296,7 +1316,7 @@ void parole_player_open_preferences_cb	(GtkWidget *widget, ParolePlayer *player)
     
     dialog = parole_conf_dialog_new ();
     
-    parole_conf_dialog_open (dialog, player->priv->window);
+    parole_conf_dialog_open (dialog, player->window);
 }
 
 void
@@ -1309,10 +1329,17 @@ parole_player_menu_exit_cb (GtkWidget *widget, ParolePlayer *player)
 void parole_player_shuffle_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
     gboolean toggled;
-    
-    toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
-    
-    g_object_set (G_OBJECT (player->priv->conf),
+
+    if ( !g_strcmp0 (gtk_widget_get_name (widget), "GtkToggleButton"))
+    {
+	toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+    }
+    else 
+    {
+	toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
+    }
+	
+    g_object_set (G_OBJECT (player->conf),
 		  "shuffle", toggled,
 		  NULL);
 }
@@ -1321,9 +1348,16 @@ void parole_player_repeat_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 {
     gboolean toggled;
     
-    toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
+    if ( !g_strcmp0 (gtk_widget_get_name (widget), "GtkToggleButton"))
+    {
+	toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+    }
+    else 
+    {
+	toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
+    }
     
-    g_object_set (G_OBJECT (player->priv->conf),
+    g_object_set (G_OBJECT (player->conf),
 		  "repeat", toggled,
 		  NULL);
 }
@@ -1335,7 +1369,7 @@ parole_player_get_volume_icon_name (gdouble value)
 	return "audio-volume-high";
     else if ( value > 0.5 )
 	return "audio-volume-medium";
-    else if ( value > 0 )
+    else if ( value > 0. )
 	return "audio-volume-low";
     
     return "audio-volume-muted";
@@ -1344,23 +1378,22 @@ parole_player_get_volume_icon_name (gdouble value)
 static void
 parole_player_set_volume_image (ParolePlayer *player, gdouble value)
 {
-    GdkPixbuf *icon;
+    GtkWidget *img;
 
-    icon = parole_icon_load (parole_player_get_volume_icon_name (value), 
-			     player->priv->volume_image->allocation.width);
-    if ( icon )
-    {
-	g_object_set (G_OBJECT (player->priv->volume_image),
-		      "pixbuf", icon,
-		      NULL);
-	gdk_pixbuf_unref (icon);
-    }
+    g_object_get (player->volume_image,
+		  "image", &img,
+		  NULL);
+
+    gtk_image_set_from_icon_name (GTK_IMAGE (img), 
+				  parole_player_get_volume_icon_name (value),
+				  GTK_ICON_SIZE_BUTTON);
+    g_object_unref (img);
 }
 
 static void
 parole_player_change_volume (ParolePlayer *player, gdouble value)
 {
-    parole_gst_set_volume (PAROLE_GST (player->priv->gst), value);
+    parole_gst_set_volume (PAROLE_GST (player->gst), value);
     parole_player_set_volume_image (player, value);
 }
 
@@ -1379,7 +1412,7 @@ parole_player_volume_scroll_event_cb (GtkWidget *widget, GdkEventScroll *ev, Par
 	parole_player_volume_down (NULL, player);
 	ret_val = TRUE;
     }
-
+    
     return ret_val;
 }
 
@@ -1388,43 +1421,73 @@ parole_player_volume_value_changed_cb (GtkRange *range, ParolePlayer *player)
 {
     gdouble value;
     value = gtk_range_get_value (range);
+
     parole_player_change_volume (player, value);
     parole_rc_write_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, (gint)(value * 100));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (player->volume_image), value > 0 ? FALSE : TRUE);
 }
 
 void
 parole_player_volume_up (GtkWidget *widget, ParolePlayer *player)
 {
     gdouble value;
-    value = gtk_range_get_value (GTK_RANGE (player->priv->volume));
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), value + 0.1);
+    value = gtk_range_get_value (GTK_RANGE (player->volume));
+    gtk_range_set_value (GTK_RANGE (player->volume), MIN (value + 0.1, 1));
 }
 
 void
 parole_player_volume_down (GtkWidget *widget, ParolePlayer *player)
 {
     gdouble value;
-    value = gtk_range_get_value (GTK_RANGE (player->priv->volume));
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), value - 0.1);
+    value = MAX (gtk_range_get_value (GTK_RANGE (player->volume)) - 0.1, 0);
+    gtk_range_set_value (GTK_RANGE (player->volume), value);
 }
 
 void parole_player_volume_mute (GtkWidget *widget, ParolePlayer *player)
 {
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), 0);
+    gdouble value;
+    value = gtk_range_get_value (GTK_RANGE (player->volume));
+    parole_rc_write_entry_int ("last-volume", PAROLE_RC_GROUP_GENERAL, (gint)(value * 100));
+    gtk_range_set_value (GTK_RANGE (player->volume), 0);
+}
+
+static void
+parole_player_volume_unmute (ParolePlayer *player)
+{
+    gtk_range_set_value (GTK_RANGE (player->volume), 
+                         (gdouble) (parole_rc_read_entry_int ("last-volume", PAROLE_RC_GROUP_GENERAL, 100)/100.));
+}
+
+void parole_player_volume_toggled (GtkWidget *widget, ParolePlayer *player)
+{
+    gboolean active;
+    gdouble value;
+    
+    active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+    value = gtk_range_get_value (GTK_RANGE (player->volume));
+    
+    if (active && value != 0)
+    {
+	parole_player_volume_mute (NULL, player);
+    }
+    else if (!active && value == 0 )
+    {
+	parole_player_volume_unmute (player);
+    }
 }
 
 static void
 parole_player_screen_size_change_changed_cb (GdkScreen *screen, ParolePlayer *player)
 {
-    if ( player->priv->full_screen )
+    if ( player->full_screen )
 	parole_player_move_fs_window (player);
 }
 
 static void
 parole_player_sm_quit_requested_cb (ParolePlayer *player)
 {
-    player->priv->exit = TRUE;
-    parole_gst_terminate (PAROLE_GST (player->priv->gst));
+    player->exit = TRUE;
+    parole_gst_terminate (PAROLE_GST (player->gst));
 }
 
 static void
@@ -1436,25 +1499,24 @@ parole_player_finalize (GObject *object)
 
     TRACE ("start");
     
-    dbus_g_connection_unref (player->priv->bus);
+    dbus_g_connection_unref (player->bus);
     
-    g_object_unref (player->priv->conf);
-    g_object_unref (player->priv->video_filter);
-    g_object_unref (player->priv->status);
-    g_object_unref (player->priv->disc);
-    g_object_unref (player->priv->disc_menu);
-    g_object_unref (player->priv->screen_saver);
+    g_object_unref (player->conf);
+    g_object_unref (player->video_filter);
+    g_object_unref (player->status);
+    g_object_unref (player->disc);
+    g_object_unref (player->screen_saver);
     
-    if ( player->priv->client_id )
-	g_free (player->priv->client_id);
+    if ( player->client_id )
+	g_free (player->client_id);
 	
-    g_object_unref (player->priv->sm_client);
+    g_object_unref (player->sm_client);
     
 #ifdef HAVE_XF86_KEYSYM
-    g_object_unref (player->priv->button);
+    g_object_unref (player->button);
 #endif
 
-    gtk_widget_destroy (player->priv->fs_window);
+    gtk_widget_destroy (player->fs_window);
 
     G_OBJECT_CLASS (parole_player_parent_class)->finalize (object);
 }
@@ -1470,7 +1532,7 @@ static void parole_player_set_property (GObject *object,
     switch (prop_id)
     {
 	case PROP_CLIENT_ID:
-	    player->priv->client_id = g_value_dup_string (value);
+	    player->client_id = g_value_dup_string (value);
 	    break;
 	default:
 	    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1489,7 +1551,7 @@ static void parole_player_get_property (GObject *object,
     switch (prop_id)
     {
 	case PROP_CLIENT_ID:
-	    g_value_set_string (value, player->priv->client_id);
+	    g_value_set_string (value, player->client_id);
 	    break;
 	default:
 	    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1517,16 +1579,16 @@ parole_player_constructed (GObject *object)
 
     current_dir = g_get_current_dir ();
     
-    player->priv->sm_client = xfce_sm_client_get_full (XFCE_SM_CLIENT_RESTART_NORMAL,
+    player->sm_client = xfce_sm_client_get_full (XFCE_SM_CLIENT_RESTART_NORMAL,
 						       XFCE_SM_CLIENT_PRIORITY_DEFAULT,
-						       player->priv->client_id,
+						       player->client_id,
 						       current_dir,
 						       restart_command,
 						       DESKTOPDIR "/" PACKAGE_NAME ".desktop");
 				      
-    if ( xfce_sm_client_connect (player->priv->sm_client, NULL ) )
+    if ( xfce_sm_client_connect (player->sm_client, NULL ) )
     {
-	g_signal_connect_swapped (player->priv->sm_client, "quit-requested",
+	g_signal_connect_swapped (player->sm_client, "quit-requested",
 				  G_CALLBACK (parole_player_sm_quit_requested_cb), player);
     }
     
@@ -1558,8 +1620,6 @@ parole_player_class_init (ParolePlayerClass *klass)
 							  NULL,
 							  G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY));
 
-    g_type_class_add_private (klass, sizeof (ParolePlayerPrivate));
-    
     parole_player_dbus_class_init (klass);
 }
 
@@ -1574,7 +1634,7 @@ parole_player_reset_saver_changed_cb (ParolePlayer *player)
 {
     const ParoleStream *stream;
     
-    stream = parole_gst_get_stream (PAROLE_GST (player->priv->gst));
+    stream = parole_gst_get_stream (PAROLE_GST (player->gst));
     TRACE ("Reset saver configuration changed");
     parole_player_reset_saver_changed (player, stream);
 }
@@ -1586,13 +1646,13 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
     
     gboolean ret_val = FALSE;
     
-    focused = gtk_window_get_focus (GTK_WINDOW (player->priv->window));
+    focused = gtk_window_get_focus (GTK_WINDOW (player->window));
     
     if ( focused )
     {
-	if ( ( gtk_widget_is_ancestor (focused, player->priv->playlist_nt) ) ||
-	     ( gtk_widget_is_ancestor (focused, player->priv->main_nt) && 
-	       !gtk_widget_is_ancestor (focused, player->priv->main_box) ))
+	if ( ( gtk_widget_is_ancestor (focused, player->playlist_nt) ) ||
+	     ( gtk_widget_is_ancestor (focused, player->main_nt) && 
+	       !gtk_widget_is_ancestor (focused, player->main_box) ))
 	{
 	    return FALSE;
 	}
@@ -1622,12 +1682,12 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
 	    break;
 	case GDK_Right:
 	    /* Media seekable ?*/
-	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
+	    if ( GTK_WIDGET_SENSITIVE (player->range) )
 		parole_player_seekf_cb (NULL, player);
 	    ret_val = TRUE;
 	    break;
 	case GDK_Left:
-	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
+	    if ( GTK_WIDGET_SENSITIVE (player->range) )
 		parole_player_seekb_cb (NULL, player);
 	    ret_val = TRUE;
 	    break;
@@ -1642,7 +1702,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
 #ifdef HAVE_XF86_KEYSYM
 	case XF86XK_OpenURL:
 	    parole_player_full_screen (player, FALSE);
-	    parole_media_list_open_location (player->priv->list);
+	    parole_media_list_open_location (player->list);
 	    break;
 #endif
 	case GDK_O:
@@ -1650,7 +1710,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
 	    if ( ev->state & GDK_CONTROL_MASK )
 	    {
 		parole_player_full_screen (player, FALSE);
-		parole_media_list_open (player->priv->list);
+		parole_media_list_open (player->list);
 	    }
 	break;
 	/* 
@@ -1660,7 +1720,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
 	case GDK_Down:
 	case GDK_Return:
 	case GDK_Delete:
-	    parole_media_list_grab_focus (player->priv->list);
+	    parole_media_list_grab_focus (player->list);
 	    break;
 	default:
 	    break;
@@ -1700,11 +1760,9 @@ parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *playe
 	    parole_player_volume_mute (NULL, player);
 	    return TRUE;
 	case XF86XK_AudioPrev:
-	    if ( !parole_disc_menu_seek_prev (player->priv->disc_menu))
 		parole_player_play_prev (player);
 	    return TRUE;
 	case XF86XK_AudioNext:
-	    if ( !parole_disc_menu_seek_next (player->priv->disc_menu))
 		parole_player_play_next (player, FALSE);
 	    return TRUE;
 #endif /* HAVE_XF86_KEYSYM */
@@ -1730,12 +1788,10 @@ parole_player_button_pressed_cb (ParoleButton *button, ParoleButtonKey key, Paro
 	    parole_player_stop_clicked (NULL, player);
 	    break;
 	case PAROLE_KEY_AUDIO_PREV:
-	    if ( !parole_disc_menu_seek_prev (player->priv->disc_menu))
-		parole_player_play_prev (player);
+	    parole_player_play_prev (player);
 	    break;
 	case PAROLE_KEY_AUDIO_NEXT:
-	    if ( !parole_disc_menu_seek_next (player->priv->disc_menu))
-		parole_player_play_next (player, FALSE);
+	    parole_player_play_next (player, FALSE);
 	    break;
 	default:
 	    break;
@@ -1749,7 +1805,7 @@ parole_gst_set_default_aspect_ratio (ParolePlayer *player, GtkBuilder *builder)
     ParoleAspectRatio ratio;
     const gchar *widget_name;
     
-    g_object_get (G_OBJECT (player->priv->conf),
+    g_object_get (G_OBJECT (player->conf),
 		  "aspect-ratio", &ratio,
 		  NULL);
 		  
@@ -1782,30 +1838,15 @@ parole_gst_set_default_aspect_ratio (ParolePlayer *player, GtkBuilder *builder)
 				    TRUE);
 }
 
-static void
-parole_player_set_sound_menu_items_image (GtkBuilder *builder)
-{
-    GtkWidget *img;
-    
-    img = gtk_image_new_from_icon_name ("audio-volume-muted", GTK_ICON_SIZE_MENU);
-    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (gtk_builder_get_object (builder, "volume-mute-menu")), img);
-    
-    img = gtk_image_new_from_icon_name ("audio-volume-high", GTK_ICON_SIZE_MENU);
-    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (gtk_builder_get_object (builder, "volume-up-menu")), img);
-    
-    img = gtk_image_new_from_icon_name ("audio-volume-low", GTK_ICON_SIZE_MENU);
-    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (gtk_builder_get_object (builder, "volume-down-menu")), img);
-}
-
 gboolean
 parole_player_configure_event_cb (GtkWidget *widget, GdkEventConfigure *ev, ParolePlayer *player)
 {
     gint w,h;
     
-    if ( !player->priv->full_screen )
+    if ( !player->full_screen )
     {
 	gtk_window_get_size (GTK_WINDOW (widget), &w, &h);
-	g_object_set (G_OBJECT (player->priv->conf),
+	g_object_set (G_OBJECT (player->conf),
 		      "window-width", w,
 		      "window-height", h,
 		      NULL);
@@ -1836,7 +1877,7 @@ parole_player_drag_data_received_cb (GtkWidget *widget,
     {
 	gchar *path;
 	path = g_filename_from_uri (uri_list[i], NULL, NULL);
-	added += parole_media_list_add_by_path (player->priv->list, path, i == 0 ? TRUE : FALSE);
+	added += parole_media_list_add_by_path (player->list, path, i == 0 ? TRUE : FALSE);
 
 	g_free (path);
     }
@@ -1850,17 +1891,17 @@ parole_player_drag_data_received_cb (GtkWidget *widget,
 static void
 parole_player_window_notify_is_active (ParolePlayer *player)
 {
-    if ( !player->priv->full_screen )
+    if ( !player->full_screen )
 	return;
 	
-    if (!gtk_window_is_active (GTK_WINDOW (player->priv->window)) )
+    if (!gtk_window_is_active (GTK_WINDOW (player->window)) )
     {
-	gtk_widget_hide (player->priv->fs_window);
-	parole_gst_set_cursor_visible (PAROLE_GST (player->priv->gst), TRUE);
+	gtk_widget_hide (player->fs_window);
+	parole_gst_set_cursor_visible (PAROLE_GST (player->gst), TRUE);
     } 
     else 
     {
-	parole_gst_set_cursor_visible (PAROLE_GST (player->priv->gst), FALSE);
+	parole_gst_set_cursor_visible (PAROLE_GST (player->gst), FALSE);
     }
 } 
 
@@ -1907,14 +1948,14 @@ parole_player_setup_multimedia_keys (ParolePlayer *player)
 {
 #ifdef HAVE_XF86_KEYSYM
     gboolean enabled;
-    g_object_get (G_OBJECT (player->priv->conf),
+    g_object_get (G_OBJECT (player->conf),
 		  "multimedia-keys", &enabled,
 		  NULL);
     
     if ( enabled )
     {
-	player->priv->button = parole_button_new ();
-	g_signal_connect (player->priv->button, "button-pressed",
+	player->button = parole_button_new ();
+	g_signal_connect (player->button, "button-pressed",
 			  G_CALLBACK (parole_player_button_pressed_cb), player);
     }
 #endif
@@ -1927,75 +1968,73 @@ parole_player_init (ParolePlayer *player)
     GtkBuilder *builder;
     GdkScreen *screen;
     gint w, h;
+    gdouble volume;
     
     gboolean repeat, shuffle;
     
-    player->priv = PAROLE_PLAYER_GET_PRIVATE (player);
+    player->client_id = NULL;
+    player->sm_client = NULL;
+    player->minimized = FALSE;
+    player->full_screen = FALSE;
     
-    player->priv->client_id = NULL;
-    player->priv->sm_client = NULL;
+    player->bus = parole_g_session_bus_get ();
     
-    player->priv->bus = parole_g_session_bus_get ();
-    
-    player->priv->video_filter = parole_get_supported_video_filter ();
-    g_object_ref_sink (player->priv->video_filter);
+    player->video_filter = parole_get_supported_video_filter ();
+    g_object_ref_sink (player->video_filter);
     
     builder = parole_builder_get_main_interface ();
     
-    player->priv->conf = parole_conf_new ();
+    player->conf = parole_conf_new ();
     
-    g_signal_connect_swapped (player->priv->conf, "notify::reset-saver",
+    g_signal_connect_swapped (player->conf, "notify::reset-saver",
 			      G_CALLBACK (parole_player_reset_saver_changed_cb), player);
     
-    player->priv->gst = parole_gst_new (FALSE, player->priv->conf);
+    player->gst = parole_gst_new (FALSE, player->conf);
 
-    player->priv->status = parole_statusbar_new ();
+    player->status = parole_statusbar_new ();
 
-    player->priv->disc = parole_disc_new ();
-    g_signal_connect (player->priv->disc, "disc-selected",
+    player->disc = parole_disc_new ();
+    g_signal_connect (player->disc, "disc-selected",
 		      G_CALLBACK (parole_player_disc_selected_cb), player);
-		      
-    player->priv->disc_menu = parole_disc_menu_new ();
-    
-    player->priv->screen_saver = parole_screen_saver_new ();
-    player->priv->list = PAROLE_MEDIA_LIST (parole_media_list_get ());
+		     
+    player->screen_saver = parole_screen_saver_new ();
+    player->list = PAROLE_MEDIA_LIST (parole_media_list_get ());
     
-    player->priv->state = PAROLE_MEDIA_STATE_STOPPED;
-    player->priv->user_seeking = FALSE;
-    player->priv->internal_range_change = FALSE;
-    player->priv->exit = FALSE;
-    player->priv->full_screen = FALSE;
-    player->priv->buffering = FALSE;
-    player->priv->row = NULL;
+    player->state = PAROLE_MEDIA_STATE_STOPPED;
+    player->user_seeking = FALSE;
+    player->internal_range_change = FALSE;
+    player->exit = FALSE;
+    player->full_screen = FALSE;
+    player->buffering = FALSE;
+    player->row = NULL;
     
-    player->priv->recent = gtk_recent_manager_get_default ();
+    player->recent = gtk_recent_manager_get_default ();
     
-    parole_player_set_sound_menu_items_image (builder);
     /*
      * Gst signals
      */
-    g_signal_connect (G_OBJECT (player->priv->gst), "media-state",
+    g_signal_connect (G_OBJECT (player->gst), "media-state",
 		      G_CALLBACK (parole_player_media_state_cb), player);
 	
-    g_signal_connect (G_OBJECT (player->priv->gst), "media-progressed",
+    g_signal_connect (G_OBJECT (player->gst), "media-progressed",
 		      G_CALLBACK (parole_player_media_progressed_cb), player);
 		      
-    g_signal_connect (G_OBJECT (player->priv->gst), "media-tag",
+    g_signal_connect (G_OBJECT (player->gst), "media-tag",
 		      G_CALLBACK (parole_player_media_tag_cb), player);
     
-    g_signal_connect (G_OBJECT (player->priv->gst), "error",
+    g_signal_connect (G_OBJECT (player->gst), "error",
 		      G_CALLBACK (parole_player_error_cb), player);
    
-    g_signal_connect (G_OBJECT (player->priv->gst), "buffering",
+    g_signal_connect (G_OBJECT (player->gst), "buffering",
 		      G_CALLBACK (parole_player_buffering_cb), player);
     
-    g_signal_connect_after (G_OBJECT (player->priv->gst), "button-release-event",
+    g_signal_connect_after (G_OBJECT (player->gst), "button-release-event",
 			    G_CALLBACK (parole_player_gst_widget_button_release), player);
     
-    g_signal_connect_after (G_OBJECT (player->priv->gst), "button-press-event",
+    g_signal_connect_after (G_OBJECT (player->gst), "button-press-event",
 			    G_CALLBACK (parole_player_gst_widget_button_press), player);
     
-    g_signal_connect (G_OBJECT (player->priv->gst), "motion-notify-event",
+    g_signal_connect (G_OBJECT (player->gst), "motion-notify-event",
 		      G_CALLBACK (parole_player_gst_widget_motion_notify_event), player);
     
     output = GTK_WIDGET (gtk_builder_get_object (builder, "output"));
@@ -2007,96 +2046,107 @@ parole_player_init (ParolePlayer *player)
     g_signal_connect (output, "drag-data-received",
 		      G_CALLBACK (parole_player_drag_data_received_cb), player);
     
-    player->priv->window = GTK_WIDGET (gtk_builder_get_object (builder, "main-window"));
+    player->window = GTK_WIDGET (gtk_builder_get_object (builder, "main-window"));
    
-    player->priv->main_nt = GTK_WIDGET (gtk_builder_get_object (builder, "main-notebook"));
+    player->main_nt = GTK_WIDGET (gtk_builder_get_object (builder, "main-notebook"));
     
-    player->priv->play_pause = GTK_WIDGET (gtk_builder_get_object (builder, "play-pause"));
-    player->priv->stop = GTK_WIDGET (gtk_builder_get_object (builder, "stop"));
-    player->priv->seekf = GTK_WIDGET (gtk_builder_get_object (builder, "forward"));
-    player->priv->seekb = GTK_WIDGET (gtk_builder_get_object (builder, "back"));
+    player->play_pause = GTK_WIDGET (gtk_builder_get_object (builder, "play"));
+    player->stop = GTK_WIDGET (gtk_builder_get_object (builder, "stop"));
+    player->seekf = GTK_WIDGET (gtk_builder_get_object (builder, "forward"));
+    player->seekb = GTK_WIDGET (gtk_builder_get_object (builder, "back"));
      
-    player->priv->range = GTK_WIDGET (gtk_builder_get_object (builder, "scale"));
+    player->range = GTK_WIDGET (gtk_builder_get_object (builder, "scale"));
     
-    player->priv->volume = GTK_WIDGET (gtk_builder_get_object (builder, "volume"));
-    player->priv->volume_image = GTK_WIDGET (gtk_builder_get_object (builder, "volume-image"));
+    player->volume = GTK_WIDGET (gtk_builder_get_object (builder, "volume"));
+    player->volume_image = GTK_WIDGET (gtk_builder_get_object (builder, "volume-image"));
     
-    player->priv->menu_bar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar"));
-    player->priv->play_box = GTK_WIDGET (gtk_builder_get_object (builder, "play-box"));
-    player->priv->playlist_nt = GTK_WIDGET (gtk_builder_get_object (builder, "notebook-playlist"));
-    player->priv->show_hide_playlist = GTK_WIDGET (gtk_builder_get_object (builder, "show-hide-list"));
-    player->priv->control = GTK_WIDGET (gtk_builder_get_object (builder, "control"));
-    player->priv->leave_fs = GTK_WIDGET (gtk_builder_get_object (builder, "leave_fs"));
-    player->priv->main_box = GTK_WIDGET (gtk_builder_get_object (builder, "main-box"));
+    player->menu_bar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar"));
+    player->play_box = GTK_WIDGET (gtk_builder_get_object (builder, "play-box"));
+    player->playlist_nt = GTK_WIDGET (gtk_builder_get_object (builder, "sidebar-notebook"));
+    player->show_hide_playlist = GTK_WIDGET (gtk_builder_get_object (builder, "show-hide-list"));
+    player->sidebar = GTK_WIDGET (gtk_builder_get_object (builder, "sidebar"));
+    player->video_view = GTK_WIDGET (gtk_builder_get_object (builder, "video-view"));
+    player->menu_view = GTK_WIDGET (gtk_builder_get_object (builder, "menu-view"));
+    player->control = GTK_WIDGET (gtk_builder_get_object (builder, "control"));
+    player->leave_fs = GTK_WIDGET (gtk_builder_get_object (builder, "leave_fs"));
+    player->main_box = GTK_WIDGET (gtk_builder_get_object (builder, "main-box"));
     
-    gtk_range_set_range (GTK_RANGE (player->priv->volume), 0, 1.0);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "repeat")), 
+				   parole_conf_get_property_bool (player->conf, "repeat"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "shuffle")),
+				   parole_conf_get_property_bool (player->conf, "shuffle"));
     
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), 
-			 (gdouble) (parole_rc_read_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, 100)/100.));
+    /*VOLUME*/
+    gtk_range_set_range (GTK_RANGE (player->volume), 0, 1.0);
+    volume = (gdouble) (parole_rc_read_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, 100)/100.);
+
+    parole_player_change_volume (player, volume);
+    gtk_range_set_value (GTK_RANGE (player->volume), volume);
+    
+    parole_player_volume_value_changed_cb (GTK_RANGE (player->volume), player);
     
     /*
      * Pack the playlist.
      */
-    gtk_notebook_append_page (GTK_NOTEBOOK (player->priv->playlist_nt), 
-			      GTK_WIDGET (player->priv->list),
+    gtk_notebook_append_page (GTK_NOTEBOOK (player->playlist_nt), 
+			      GTK_WIDGET (player->list),
 			      gtk_label_new (_("Playlist")));
 			      
-    g_object_get (G_OBJECT (player->priv->conf),
+    g_object_get (G_OBJECT (player->conf),
 		  "window-width", &w,
 		  "window-height", &h,
 		  NULL);
     
-    gtk_window_set_default_size (GTK_WINDOW (player->priv->window), w, h);
+    gtk_window_set_default_size (GTK_WINDOW (player->window), w, h);
     
-    gtk_widget_show_all (player->priv->window);
+    gtk_widget_show_all (player->window);
     
-    parole_player_set_wm_opacity_hint (player->priv->window);
+    parole_player_set_wm_opacity_hint (player->window);
     
     gtk_box_pack_start (GTK_BOX (output), 
-			player->priv->gst,
+			player->gst,
 			TRUE, TRUE, 0);
     
-    gtk_widget_realize (player->priv->gst);
-    gtk_widget_show (player->priv->gst);
+    gtk_widget_realize (player->gst);
+    gtk_widget_show (player->gst);
 
-    parole_player_change_volume (player, 
-				 (gdouble) (parole_rc_read_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, 100)/100.));
 
-    g_signal_connect (player->priv->list, "media_activated",
+    g_signal_connect (player->list, "media_activated",
 		      G_CALLBACK (parole_player_media_activated_cb), player);
 		      
-    g_signal_connect (player->priv->list, "media_cursor_changed",
+    g_signal_connect (player->list, "media_cursor_changed",
 		      G_CALLBACK (parole_player_media_cursor_changed_cb), player);
 		      
-    g_signal_connect (player->priv->list, "uri-opened",
+    g_signal_connect (player->list, "uri-opened",
 		      G_CALLBACK (parole_player_uri_opened_cb), player);
     
     /*
      * Load auto saved media list.
      */
-    parole_media_list_load (player->priv->list);
+    parole_media_list_load (player->list);
     
-    g_object_get (G_OBJECT (player->priv->conf),
+    g_object_get (G_OBJECT (player->conf),
 		  "repeat", &repeat,
 		  "shuffle", &shuffle,
 		  NULL);
 
-    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "repeat")),
+    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-repeat")),
 				    repeat);
 
-    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "shuffle")),
+    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-shuffle")),
 				    shuffle);
 	
-    player->priv->fs_window = gtk_window_new (GTK_WINDOW_POPUP);
+    player->fs_window = gtk_window_new (GTK_WINDOW_POPUP);
 
-    gtk_window_set_gravity (GTK_WINDOW (player->priv->fs_window), GDK_GRAVITY_SOUTH_WEST);
-    gtk_window_set_position (GTK_WINDOW (player->priv->fs_window), GTK_WIN_POS_NONE);
+    gtk_window_set_gravity (GTK_WINDOW (player->fs_window), GDK_GRAVITY_SOUTH_WEST);
+    gtk_window_set_position (GTK_WINDOW (player->fs_window), GTK_WIN_POS_NONE);
   
     parole_gst_set_default_aspect_ratio (player, builder);
 	
     gtk_builder_connect_signals (builder, player);
     
-    screen = gtk_widget_get_screen (player->priv->window);
+    
+    screen = gtk_widget_get_screen (player->window);
     g_signal_connect (G_OBJECT (screen), "size-changed",
 		      G_CALLBACK (parole_player_screen_size_change_changed_cb), player);
     
@@ -2104,7 +2154,7 @@ parole_player_init (ParolePlayer *player)
     
     parole_player_setup_multimedia_keys (player);
     
-    g_signal_connect_swapped (player->priv->window, "notify::is-active",
+    g_signal_connect_swapped (player->window, "notify::is-active",
 			      G_CALLBACK (parole_player_window_notify_is_active), player);
     
     parole_player_dbus_init (player);
@@ -2120,7 +2170,7 @@ parole_player_new (const gchar *client_id)
 
 ParoleMediaList	*parole_player_get_media_list (ParolePlayer *player)
 {
-    return player->priv->list;
+    return player->list;
 }
 
 void parole_player_play_uri_disc (ParolePlayer *player, const gchar *uri, const gchar *device)
@@ -2195,7 +2245,7 @@ parole_player_dbus_class_init (ParolePlayerClass *klass)
 static void
 parole_player_dbus_init (ParolePlayer *player)
 {
-    dbus_g_connection_register_g_object (player->priv->bus,
+    dbus_g_connection_register_g_object (player->bus,
 					 PAROLE_DBUS_PATH,
 					 G_OBJECT (player));
 }
@@ -2211,23 +2261,21 @@ static gboolean	parole_player_dbus_play (ParolePlayer *player,
 static gboolean	parole_player_dbus_stop (ParolePlayer *player,
 					 GError *error)
 {
-    parole_gst_stop (PAROLE_GST (player->priv->gst));
+    parole_gst_stop (PAROLE_GST (player->gst));
     return TRUE;
 }
 
 static gboolean	parole_player_dbus_next_track (ParolePlayer *player,
 					       GError *error)
 {
-    if ( !parole_disc_menu_seek_next (player->priv->disc_menu))
-	parole_player_play_next (player, FALSE);
+    parole_player_play_next (player, FALSE);
     return TRUE;
 }
 
 static gboolean	parole_player_dbus_prev_track (ParolePlayer *player,
 					       GError *error)
 {
-    if ( !parole_disc_menu_seek_prev (player->priv->disc_menu))
-	parole_player_play_prev (player);
+    parole_player_play_prev (player);
     return TRUE;
 }
 
@@ -2262,7 +2310,7 @@ static gboolean	parole_player_dbus_lower_volume (ParolePlayer *player,
 static gboolean	parole_player_dbus_mute (ParolePlayer *player,
 					 GError *error)
 {
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), 0);
+    gtk_range_set_value (GTK_RANGE (player->volume), 0);
     return TRUE;
 }
 
@@ -2273,7 +2321,7 @@ static gboolean parole_player_dbus_play_disc (ParolePlayer *player,
 {
     TRACE ("uri : %s", in_uri);
     
-    gtk_window_present (GTK_WINDOW (player->priv->window));
+    gtk_window_present (GTK_WINDOW (player->window));
     
     if ( parole_is_uri_disc (in_uri) )
 	parole_player_disc_selected_cb (NULL, in_uri, in_device, player);
diff --git a/src/parole-player.h b/src/parole-player.h
index 3fdf46b..f7d8e39 100644
--- a/src/parole-player.h
+++ b/src/parole-player.h
@@ -30,20 +30,8 @@ G_BEGIN_DECLS
 #define PAROLE_PLAYER(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), PAROLE_TYPE_PLAYER, ParolePlayer))
 #define PAROLE_IS_PLAYER(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), PAROLE_TYPE_PLAYER))
 
-typedef struct ParolePlayerPrivate ParolePlayerPrivate;
-
-typedef struct
-{
-    GObject         		 parent;
-    ParolePlayerPrivate     	*priv;
-    
-} ParolePlayer;
-
-typedef struct
-{
-    GObjectClass 		 parent_class;
-    
-} ParolePlayerClass;
+typedef struct _ParolePlayer	  ParolePlayer;
+typedef struct _ParolePlayerClass ParolePlayerClass;
 
 GType        			 parole_player_get_type        (void) G_GNUC_CONST;
 



More information about the Xfce4-commits mailing list