diff -Naur --exclude='*.pyc' -x '*.bak' -x 'trayicon*' /home/fito/nicotine+-1.2.8/pynicotine/config.py nicotine+-1.2.8/pynicotine/config.py
--- /home/fito/nicotine+-1.2.8/pynicotine/config.py	2007-05-15 15:52:29.000000000 +0200
+++ nicotine+-1.2.8/pynicotine/config.py	2007-06-02 15:18:31.000000000 +0200
@@ -50,7 +50,7 @@
 \
 "transfers":{"downloaddir":None,"sharedownloaddir":1,"shared":None, "buddyshared": [],\
 "uploadbandwidth":10, "uselimit":0,"uploadlimit":150, "preferfriends":0, \
-"useupslots":0, "uploadslots":2, "incompletedir":"", "afterfinish":"", \
+"useupslots":0, "uploadslots":2, "incompletedir":"", "shownotification":0, "afterfinish":"", \
 "afterfolder":"", "lock":1, "fifoqueue": 0, "usecustomban":0, "limitby":1, \
 "customban":"Banned, don't bother retrying","queuelimit":100,"friendsonly":0, \
 "friendsnolimits":0, "enablebuddyshares": 0, "enabletransferbuttons": 1, \
diff -Naur --exclude='*.pyc' -x '*.bak' -x 'trayicon*' /home/fito/nicotine+-1.2.8/pynicotine/gtkgui/settings_glade.py nicotine+-1.2.8/pynicotine/gtkgui/settings_glade.py
--- /home/fito/nicotine+-1.2.8/pynicotine/gtkgui/settings_glade.py	2007-06-01 21:24:10.000000000 +0200
+++ nicotine+-1.2.8/pynicotine/gtkgui/settings_glade.py	2007-06-02 15:23:22.000000000 +0200
@@ -3227,6 +3227,12 @@
         self.label214.show()
         self.vbox96.pack_start(self.label214, False, False, 0)
 
+	self.ShowNotification = gtk.CheckButton()
+	self.ShowNotification.set_active(False)
+	self.ShowNotification.set_label(_("Show notification after download"))
+	self.ShowNotification.show()
+	self.vbox96.pack_start(self.ShowNotification, False, False, 0)
+
         self.AfterDownload = gtk.Entry()
         self.AfterDownload.set_size_request(313, -1)
         self.AfterDownload.set_text("")
diff -Naur --exclude='*.pyc' -x '*.bak' -x 'trayicon*' /home/fito/nicotine+-1.2.8/pynicotine/gtkgui/settingswindow.py nicotine+-1.2.8/pynicotine/gtkgui/settingswindow.py
--- /home/fito/nicotine+-1.2.8/pynicotine/gtkgui/settingswindow.py	2007-05-15 09:32:22.000000000 +0200
+++ nicotine+-1.2.8/pynicotine/gtkgui/settingswindow.py	2007-06-02 15:24:40.000000000 +0200
@@ -1139,6 +1139,8 @@
 	def SetSettings(self, config):
 		
 		transfers = config["transfers"]
+		if transfers["shownotification"] is not None: 
+			self.ShowNotification.set_active(transfers["shownotification"])
 		if transfers["afterfinish"] is not None:
 			self.AfterDownload.set_text(transfers["afterfinish"])
 		if transfers["afterfolder"] is not None:
@@ -1150,6 +1152,7 @@
 	def GetSettings(self):
 		return {
 			"transfers": {
+				"shownotification" : self.ShowNotification.get_active(),
 				"afterfinish": self.AfterDownload.get_text(),
 				"afterfolder": self.AfterFolder.get_text(),
 				
diff -Naur --exclude='*.pyc' -x '*.bak' -x 'trayicon*' /home/fito/nicotine+-1.2.8/pynicotine/transfers.py nicotine+-1.2.8/pynicotine/transfers.py
--- /home/fito/nicotine+-1.2.8/pynicotine/transfers.py	2007-04-10 21:44:11.000000000 +0200
+++ nicotine+-1.2.8/pynicotine/transfers.py	2007-06-02 15:50:37.000000000 +0200
@@ -111,6 +111,13 @@
 				self.geoip = _GeoIP.new(_GeoIP.GEOIP_STANDARD)
 			except:
 				self.geoip = None
+				
+		try:
+			import pynotify
+			pynotify.init("Nicotine+")
+			self.pynotify = pynotify
+		except ImportError:
+			self.pynotify = None
  
 	def setTransferPanels(self, downloads, uploads):
 		self.downloadspanel = downloads
@@ -772,6 +779,14 @@
 					self.eventprocessor.sendNumSharedFoldersFiles()
 					self.SaveDownloads()
 					self.downloadspanel.update(i)
+					if self.eventprocessor.config.sections["transfers"]["shownotification"] and self.pynotify != None:
+						n = self.pynotify.Notification("Nicotine+", _("%s downloaded" % newname))
+						n.set_icon_from_pixbuf(self.eventprocessor.frame.images["n"])
+						try: n.attach_to_status_icon(self.eventprocessor.frame.TrayApp.trayicon_module)
+						except: 
+							try: n.attach_to_widget(self.eventprocessor.frame.TrayApp.trayicon_module)
+							except: pass
+						n.show()
 					if self.eventprocessor.config.sections["transfers"]["afterfinish"]:
 						command = self.eventprocessor.config.sections["transfers"]["afterfinish"].replace("$", utils.escapeCommand(newname))
 						os.system(command)
