[Xfce4-commits] <eatmonkey:aria2-xml-rpc> Add dummy notification icon to show/hide the window

Mike Massonnet noreply at xfce.org
Sun Feb 28 22:18:01 CET 2010


Updating branch refs/heads/aria2-xml-rpc
         to 2ee7fb9018f46b3e6939a3959f57a164f6cfd84f (commit)
       from ce1f293c8377b1f38faf0f225ca56a2b15590b29 (commit)

commit 2ee7fb9018f46b3e6939a3959f57a164f6cfd84f
Author: Mike Massonnet <mmassonnet at xfce.org>
Date:   Sun Feb 28 22:15:22 2010 +0100

    Add dummy notification icon to show/hide the window

 src/eatmanager.rb |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/eatmanager.rb b/src/eatmanager.rb
index ae87da1..16ad8da 100755
--- a/src/eatmanager.rb
+++ b/src/eatmanager.rb
@@ -128,12 +128,30 @@ class Eat::Manager
 		file_filter.add_pattern("*.torrent")
 		file_filter.add_pattern("*.metalink")
 		@file_select_file_dialog.filter = file_filter
-		@file_select_file.signal_connect('clicked') do
+		@file_select_file.signal_connect('clicked') {
 			@file_select_file_dialog.unselect_all
 			res = @file_select_file_dialog.run
 			@file_uri.text = @file_select_file_dialog.filename if res == Gtk::Dialog::RESPONSE_ACCEPT
 			@file_select_file_dialog.hide
-		end
+		}
+
+		# Setup notification icon
+		@statusicon = StatusIcon.new
+		@statusicon.set_icon_name("eatmonkey")
+		@statusicon.signal_connect("activate") {
+			# Check if window is invisible
+			if not @window.flags & Widget::VISIBLE
+				@window.show
+			# Check if window is inactive
+			elsif not @window.active?
+				@window.present
+			# Else hide
+			else
+				winx, winy = @window.position
+				@window.hide
+				@window.move(winx, winy)
+			end
+		}
 	end
 
 	def show()
@@ -473,12 +491,12 @@ class Eat::ManagerInfoBar < HBox
 		@label.set_use_markup(true)
 		pack_start(@label, true, true, 0)
 
-		signal_connect("hide") do
+		signal_connect("hide") {
 			if @button.signal_handler_is_connected?(@callback_id)
 				@button.signal_handler_disconnect(@callback_id)
 			end
 			set_no_show_all(true)
-		end
+		}
 	end
 
 	public



More information about the Xfce4-commits mailing list