summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-09-24 05:12:34 +0000
committeriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-09-24 05:12:34 +0000
commit082d8003ac4fe3c406c743079bd49b0d86d8a63e (patch)
tree5ed54f91fac88b605e9d8334a9961c6a839522f0
parent7b584ba56671ac813f0fcf5ec54fc9fdb3e968e4 (diff)
select window
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@67 f606c939-3180-4ac9-a4b8-4b8779d57d0a
-rw-r--r--gtk-recordmydesktop/rmdSimple.py47
1 files changed, 40 insertions, 7 deletions
diff --git a/gtk-recordmydesktop/rmdSimple.py b/gtk-recordmydesktop/rmdSimple.py
index 7355b65..f4f1b43 100644
--- a/gtk-recordmydesktop/rmdSimple.py
+++ b/gtk-recordmydesktop/rmdSimple.py
@@ -36,6 +36,7 @@ from rmdTrayIcon import *
import gtk.gdk
import gobject
import gc
+import re
import rmdPrefsWidget as pW
import rmdSelectThumb as sT
@@ -43,7 +44,7 @@ class simpleWidget(object):
hidden=[0]
labelStrings=[_('Video Quality'),_('Sound Quality')]
buttonStrings=[_('Advanced'),_('Select Window')]
- tooltipLabels=[_('\nLeft click and drag, on the preview image,\nto select an area for recording.\nRight click on it, to reset the area.'),
+ tooltipLabels=[_('Click here to select a window to record'),
_('Click to start the recording.\nThis window will hide itself.'),
_('Click to choose a filename and location.\nDefault is out.ogg in your home folder.\nEXISTING FILES WILL BE OVER-WRITTEN WITHOUT WARNING!'),
_('Click to exit the program.'),
@@ -51,7 +52,8 @@ class simpleWidget(object):
_('Enable/Disable sound recording.'),
_('Select the audio quality of your recording.'),
_('Click here to access more options.')]
-
+ tipLabelStrings=[_('\nLeft click and drag, on the preview image,\nto select an area for recording.\nRight click on it, to reset the area.')]
+
options=None
optionsOpen=[0]
def __subWidgets__(self):
@@ -108,7 +110,7 @@ class simpleWidget(object):
self.s_label=gtk.Label(self.labelStrings[1])
self.advanced_button=gtk.Button(self.buttonStrings[0])
- self.tipLabel=gtk.Label(self.tooltipLabels[0])
+ self.tipLabel=gtk.Label(self.tipLabelStrings[0])
self.NEVQBox.pack_start(self.v_label,expand=False,fill=False)
self.NEVQBox.pack_start(self.v_quality,expand=True,fill=True)
self.NESQBox.pack_start(self.s_button,expand=False,fill=False)
@@ -117,16 +119,16 @@ class simpleWidget(object):
self.NETABox.pack_start(self.advanced_button,expand=False,fill=False)
self.NETABox.pack_start(self.tipLabel,expand=False,fill=False)
- #self.win_button=gtk.Button(self.buttonStrings[1])
+ self.win_button=gtk.Button(self.buttonStrings[1])
self.start_button=gtk.Button(None,gtk.STOCK_MEDIA_RECORD)
self.file_button=gtk.Button(None,gtk.STOCK_SAVE_AS)
self.quit_button=gtk.Button(None,gtk.STOCK_QUIT)
- #self.SWBox.pack_start(self.win_button,False,False)
+ self.SWBox.pack_start(self.win_button,False,False)
self.SWBox.pack_start(self.start_button,False,False)
self.SEBox.pack_end(self.quit_button,False,False)
self.SEBox.pack_end(self.file_button,False,False)
- #self.win_button.show()
+ self.win_button.show()
self.start_button.show()
self.file_button.show()
self.quit_button.show()
@@ -152,6 +154,7 @@ class simpleWidget(object):
self.window.add(self.labelbox)
def __tooltips__(self):
self.tooltips=gtk.Tooltips()
+ self.tooltips.set_tip(self.win_button,self.tooltipLabels[0])
self.tooltips.set_tip(self.start_button,self.tooltipLabels[1])
self.tooltips.set_tip(self.file_button,self.tooltipLabels[2])
self.tooltips.set_tip(self.quit_button,self.tooltipLabels[3])
@@ -197,13 +200,43 @@ class simpleWidget(object):
self.fileSel.cancel_button.connect("clicked", self.__fileSelQuit__)
self.fileSel.set_filename(self.values[4])
self.fileSel.show()
-
+ def __select_window__(self,button):
+ (stdin,stdout,stderr)=os.popen3('xwininfo','t')
+ wid=stdout.readlines()
+ stdin.close()
+ stdout.close()
+ stderr.close()
+ x=y=width=height=None
+ for i in wid:
+ if i.lstrip().startswith('Absolute upper-left X:'):
+ x=int(i.split(' ')[len(i.split(' '))-1])
+ elif i.lstrip().startswith('Absolute upper-left Y'):
+ y=int(i.split(' ')[len(i.split(' '))-1])
+ elif i.lstrip().startswith('Width:'):
+ width=int(i.split(' ')[len(i.split(' '))-1])
+ elif i.lstrip().startswith('Height:'):
+ height=int(i.split(' ')[len(i.split(' '))-1])
+ if x<0:
+ width+=x
+ x=0
+ if y<0:
+ height+=y
+ y=0
+ if width+x>self.wwidth: width=self.wwidth-x
+ if height+y>self.wheight: height=self.wheight-y
+ self.values[5][0]=x
+ self.values[5][1]=y
+ self.values[5][2]=width+x
+ self.values[5][3]=height+y
+ self.image.update_image()
+
def __makeCons__(self):
self.advanced_button.connect("clicked",self.advanced)
self.file_button.connect("clicked",self.__fileSelect__)
self.quit_button.connect("clicked",self.__exit__)
self.start_button.connect("clicked",self.trayIcon.record_ext)
self.s_button.connect("clicked",self.__sound_check__)
+ self.win_button.connect("clicked",self.__select_window__)
def __sound_check__(self,widget):
self.s_quality.set_sensitive(widget.get_active())
self.values[2]=widget.get_active()
© All Rights Reserved