Μια νέα ιδέα

...unity, kde, gnome, xfce, κλπ ...compiz, κλπ

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Αν έχετε πρόβλημα με την λειτουργία του unity δοκιμάστε να το επαναφέρετε με την παρακάτω εντολή σε τερματικό.
unity --reset (ισχύει μέχρι και την 12.04)

Re: Μια νέα ιδέα

Δημοσίευσηαπό sokoban4ever » 18 Μάιος 2009, 00:00

lyrisias
Μπράβο :!: :!: :!:
Πολύ χρήσιμη ιδέα :D

Για να τρέχει ένα πρόγραμμα που εκτελείς από τερματικό και να σου αφήσει ελεύθερη την κονσόλα απλά βάλε το & στο τέλος της εντολής
π.χ
Κώδικας: Επιλογή όλων
firefox &



Πρόταση :
μπορείς να το κάνεις και με nautilus scripts (δεξί κλικ και άλλαγμα φακέλων στο desktop ;)
http://g-scripts.sourceforge.net/
Φιλικά :P
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό lyrisias » 19 Μάιος 2009, 00:08

Κώδικας: Επιλογή όλων
#!/usr/bin/env python

import pygtk
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.sdd.destroy()
elif response == gtk.RESPONSE_CANCEL:
self.sdd.destroy()

# ON OK BUTTON CLICKED DEFINE
def onok(self, *args):
if (self.paen.get_text() != ''):
command='xdg-user-dirs-update --set DESKTOP '+self.paen.get_text()
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')
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()

Thanks sokoban4ever :)
Παιδιά εδώ είναι ο κώδικας όλα δουλεύουν κανονικά απλά το πρόγραμμα δεν πρέπει να το τρέχεις από το τερματικό.
όποιος θέλει να το δοκιμάσει:
Αντιγράφει τον κώδικα σε ένα αρχείο κειμένου το αποθηκεύει με κατάληξη .py
Επάνω στο αρχείο κάνει δεξί click properties στο tab "Permissions" στο execute να τσεκάρει το "Allow executing file as program"
Και έτοιμο.
* όταν κάνεις διπλό click στο αρχείο θα εμφανίσει ένα παράθυρο εκεί πατάμε "Εκτέλεση" όχι "Εκτέλεση εντός τερματικού"
Κατά βάση αυτό είναι το πρόγραμμα τώρα ασχολούμαι με το πώς θα αλλάξω το nautilus ώστε να βλέπει το κάθε workspace ξεχωριστά.
Τώρα οι αλλαγές του φακέλου του desktop ισχύουν για όλα τα workspace.
Κάθε βοήθεια/ιδέα για το nautilus δεκτή...
:)
Τελευταία επεξεργασία από lyrisias και 19 Μάιος 2009, 05:16, έχει επεξεργασθεί 1 φορά/ες συνολικά
1001000 1100101 1101100 1101100 1101111
Άβαταρ μέλους
lyrisias
babeTUX
babeTUX
 
Δημοσιεύσεις: 77
Εγγραφή: 04 Μάιος 2009, 19:47
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό g00fy » 19 Μάιος 2009, 00:33

lyrisias έγραψε:Αν τρέξεις ένα πρόγραμμα από terminal π.χ. firefox τότε το terminal παγώνει μέχρι να κλείσουμε την εφαρμογή...
υπάρχει κάποια εντόλη ή κάποια παράμετρος που να εκτελείται αυτόνομα ένα πρόγραμμα?


Ναι φίλε μου, υπάρχει! θα εκτελέσεις απο το τερματικό την εντολή με την προσθήκη του & και δε θα "παγώσει" τίποτα
π.χ.
Κώδικας: Επιλογή όλων
firefox&


lyrisias έγραψε:
συγνώμη ρε παιδιά που σας έχω πρίξει αλλά τα Unix είναι ατελείωτα για να ξέρεις τα πάντα :)

Δεν έχεις πρήξει κανέναν, χαρά μας να συνεισφέρουμε στις προσπάθειές σου. ;)

lyrisias έγραψε:εξ άλλου linux δουλεύω 1,5 χρόνο.

Κι εγώ που δουλεύω πιο πολλά τί έκανα; Έστείλα κανένα πύραυλο στο φεγγάρι; :mrgreen: :lol: :mrgreen: :lol:
Η/Υ: Intel Pentium DualCore / 2GB RAM / nVidia Geforce 8400GS / Ubuntu 10.04 64bit
Η/Υ: Toshiba Tecra R10-10S / Ubuntu 9.10 64bit

motd: May the source be with you!
g00fy@ubuntu-gr.org:~$ cat /etc/γνώσεις.conf
Linux:kuru (όχι guru) / Προγραμματισμός:Ναί / Αγγλικά:Καλά
Άβαταρ μέλους
g00fy
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 614
Εγγραφή: 12 Σεπ 2008, 18:58
Τοποθεσία: Σε όλη τη Μακεδονία!
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό sokoban4ever » 20 Μάιος 2009, 02:38

Για δες εδώ
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

ώστε να μπορείς να επιλέγεις και φακέλους με κενά στο όνομα τους :)
γιατί δοκίμασα και δεν γινόταν .
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό lyrisias » 21 Μάιος 2009, 02:39

Ευχαριστώ πολύ παιδιά για το ότι ασχολήστε με την δουλεία μου.
sokoban4ever πραγματικά αισθάνομαι πολύ περήφανος που ασχολήθηκες και διόρθωσες ένα Bug :)

έγω δεν το είχα καταλάβει διότι έχω αγγλικό μενού και στου φακέλους desktop musik κ.τ.λ. δεν έχει κενά.

Τώρα προσπαθώ να βρώ τον τρόπο ώστε να κάνω κάθε επιφάνεια ξεχωριστή π.χ.
το αρχείο user-dirs.dirs να έχει επιλογές όπως
XDG_DESKTOP_1_DIR
XDG_DESKTOP_2_DIR
XDG_DESKTOP_3_DIR
και για αρχή πρέπει να βρώ τον κώδικα του αρχείου που φορτώνει τις επιλογές από το user-dirs.dirs
ψάχνω στο nautilus αλλά ακόμη δεν βρήκα τίποτα

Προσπάθω...
Το πρόγραμμα όπως είναι τώρα δεν έχει κάποια ουσιώδες αξία είναι απλά ένα script
1001000 1100101 1101100 1101100 1101111
Άβαταρ μέλους
lyrisias
babeTUX
babeTUX
 
Δημοσιεύσεις: 77
Εγγραφή: 04 Μάιος 2009, 19:47
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό lyrisias » 30 Μάιος 2009, 20:53

Εικόνα

Αυτή η εικόνα δείχνει το πρόγραμμα σε Gnome applet
είναι αρκετά εύχρηστο και απλό.

Μπορείτε να το κατεβάσετε από :
http://www.filefactory.com/file/ag3ef5g/n/Gnome_Applet_Desktop_Folder_tar_gz

Install:
Κατεβάζετε το αρχείο Gnome_Applet_Desktop_Folder.tar.gz
αποσυμπίεση.
Στο φάκελο Desktop_Folder_Appleτ
υπάρχει ένα αρχείο install.sh
διπλό click
“Run in terminal” “Εκτέλεση εντός Τερματικού”

Τώρα δεξί click στο panel->add to panel
θα υπάρχει το applet “Desktop Folder”

Χρήση:
απλά κάνοντας click εμφανίζει το dialog για να διαλέξεις φάκελο
στο κουμπί Apply και άλλαξε.
1001000 1100101 1101100 1101100 1101111
Άβαταρ μέλους
lyrisias
babeTUX
babeTUX
 
Δημοσιεύσεις: 77
Εγγραφή: 04 Μάιος 2009, 19:47
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό paschalis.m » 30 Μάιος 2009, 23:57

πολυ καλο. το δοκιμασα και δουλευει μια χαρα.
μετα την εγκατασταση θελει ενα logout/login.
Εικόνα
Άβαταρ μέλους
paschalis.m
punkTUX
punkTUX
 
Δημοσιεύσεις: 280
Εγγραφή: 10 Σεπ 2008, 22:10
IRC: paschalis
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό lyrisias » 31 Μάιος 2009, 00:39

Αν βρήτε παιδιά κάποιο Bug ενημερώστε με.
paschalis.m ακόμη κι αυτό που είπες ότι πρέπει να κάνεις logout δεν ξέρω γιατί σου συνεύει,
στο install.sh έχω στο τέλος την εντολή killall gnome-panel
κανονικά έπρεπε να δουλέψει αμέσως χωρίς logout.

Όταν αλλάζεις φάκελο κανονικά δουλεύει ετσί; δεν χρειάζεται logout.
1001000 1100101 1101100 1101100 1101111
Άβαταρ μέλους
lyrisias
babeTUX
babeTUX
 
Δημοσιεύσεις: 77
Εγγραφή: 04 Μάιος 2009, 19:47
Εκτύπωση

Re: Μια νέα ιδέα

Δημοσίευσηαπό paschalis.m » 31 Μάιος 2009, 00:47

δουλευει μια χαρα. δεν παρατηρω κατι περιεργο. επισης συνεργαζεται μια χαρα και με το conky (απλα οταν αλλαζεις φακελο χρειαζεται restart το conky).
κατα τα λοιπα, δεν μου αρεσε το εικονιδιο που εβαλες και το αλλαξα. αλλα αυτο ειναι το λιγοτερο.
Εικόνα
Άβαταρ μέλους
paschalis.m
punkTUX
punkTUX
 
Δημοσιεύσεις: 280
Εγγραφή: 10 Σεπ 2008, 22:10
IRC: paschalis
Εκτύπωση

Προηγούμενη

Επιστροφή στο Περιβάλλον Εργασίας / Εμφάνιση / Εφέ / Customization