Δημοσιεύτηκε: 20 Μάιος 2009, 02:38
από sokoban4ever
Για δες εδώ
Στην γραμμή 35 και κάτω πρόσθεσα/άλλαξα αυτά
ώστε να μπορείς να επιλέγεις και φακέλους με κενά στο όνομα τους
γιατί δοκίμασα και δεν γινόταν .
Spoiler: show
- Κώδικας: Επιλογή όλων
#!/usr/bin/env python
import pygtk
# kalytera to subprocess
#import subprocess
import os
pygtk.require('2.0')
import gtk
class Desktop:
print "Don't Run This Application In Terminal."
print "\nIf you change your desktop and application\nrun in terminal nautilus will not work"
# DESTROY PROGRAM
def Destroy(self, *args):
gtk.main_quit()
# SELECT DESKTOP DIRECTORY DIALOG
def sdd(self, *args):
self.sdd=gtk.FileChooserDialog(title="Select Desktop Directory", parent=None,
action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK), backend=None)
self.sdd.set_default_response(gtk.RESPONSE_OK)
response = self.sdd.run()
if response == gtk.RESPONSE_OK:
#self.paen.set_text(self.sdd.get_filename())
self.paen.set_text(self.sdd.get_filename().replace('$HOME/',''))
self.sdd.destroy()
elif response == gtk.RESPONSE_CANCEL:
self.sdd.destroy()
# ON OK BUTTON CLICKED DEFINE
def onok(self, *args):
if (self.paen.get_text() != ''):
NotEscapedString= self.paen.get_text()
EscapedString = NotEscapedString.replace(' ','\ ')
#print NotEscapedString
command='xdg-user-dirs-update --set DESKTOP '+ EscapedString
os.system(command)
os.system('killall nautilus')
os.system('nautilus -n&')
self.pathload()
# DESKTOP PATH LOAD
def pathload(self, *args):
home=os.getenv("HOME")
file=open(home+'/.config/user-dirs.dirs','r')
#fileList = conf.readlines()
team = "nonempty"
while (team != ""):
team = file.readline()
if (team[:15] == "XDG_DESKTOP_DIR"): self.paen.set_text(team[17:-1-1])
file.close()
# INIT DEFINE
def __init__(self):
# WINDOW
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_position(gtk.WIN_POS_CENTER)
self.window.set_title('All Desktops')
self.window.connect( 'show', self.pathload)
self.window.set_resizable(False)
## MAINBOX
self.mainbox = gtk.VBox()
self.window.add(self.mainbox)
### MAINBOX.UPS
self.ups = gtk.HBox()
self.ups.set_size_request(400, 3)
self.mainbox.pack_start(self.ups, expand=True, fill=True, padding=0)
### MAINBOX.UPBOX
self.upbox = gtk.HBox()
self.upbox.set_size_request(400, 27)
self.mainbox.pack_start(self.upbox, expand=True, fill=True, padding=0)
### MAINBOX.CENTERBOX
self.centerbox = gtk.HBox()
self.centerbox.set_size_request(400, 5)
self.mainbox.pack_start(self.centerbox, expand=True, fill=True, padding=0)
### MAINBOX.DOWNBOX
self.downbox = gtk.HBox()
self.downbox.set_size_request(400, 32)
self.mainbox.pack_start(self.downbox, expand=True, fill=True, padding=0)
#### MAINBOX.DOWNBOX.SEP
self.sep = gtk.VPaned()
self.sep.set_size_request(220, 30)
self.downbox.pack_start(self.sep, expand=True, fill=True, padding=0)
#### MAINBOX.DOWNBOX.BCLOSE
self.bclose = gtk.Button(stock=gtk.STOCK_CANCEL)
self.bclose.set_size_request(90, 30)
self.bclose.connect( 'clicked', self.Destroy)
self.downbox.pack_start(self.bclose, expand=True, fill=True, padding=0)
#### MAINBOX.DOWNBOX.BOK
self.bok = gtk.Button(stock=gtk.STOCK_APPLY)
self.bok.connect( 'clicked', self.onok)
self.bok.set_size_request(90, 30)
self.downbox.pack_start(self.bok, expand=True, fill=True, padding=0)
#### MAINBOX.UPBOX.PAEN
self.paen = gtk.Entry()
self.paen.set_size_request(360, 28)
self.upbox.pack_start(self.paen, expand=True, fill=True, padding=0)
#### MAINBOX.UPBOX.BROWSE
self.browse = gtk.Button('...')
self.browse.set_size_request(40, 10)
self.browse.connect( 'clicked', self.sdd)
self.upbox.pack_start(self.browse, expand=True, fill=True, padding=0)
self.window.show_all()
# MAIN DEFINE
def main(self):
gtk.main()
if __name__ == "__main__":
Desktop().main()
Στην γραμμή 35 και κάτω πρόσθεσα/άλλαξα αυτά
- Κώδικας: Επιλογή όλων
NotEscapedString= self.paen.get_text()
EscapedString = NotEscapedString.replace(' ','\ ')
#print NotEscapedString
command='xdg-user-dirs-update --set DESKTOP '+ EscapedString
ώστε να μπορείς να επιλέγεις και φακέλους με κενά στο όνομα τους
γιατί δοκίμασα και δεν γινόταν .