Gnome Masaüstü için Slide şeklinde duvar kağıdı betiği

Başlatan yavuzselim, 13 Mayıs 2011 - 17:31:04

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

yavuzselim

Net'te örnekleri mevcut olabilir. Perl ile yapılmış bir tane görmüştüm.. Bash ile nasıl yapılabilir diye dün gece başladım.. En azından işe yarıyor..

Gnome'un orjinal masaüstü duvarkağıtlarından olan Cosmos bildiğiniz gibi Slide şeklinde. Bu şekilde kendi resimlerimizi yapmak için bir kaç program mevcut.. Bu basit betik sadece Cosmos XML dosyası gibi bir dosya oluşturuyor sizin seçtiğiniz resimlerden ve /usr/share/backgrounds altına kaydediyor.. Betik'te hata kontrolleri felan yapılmadı isteyen geliştirebilir. Kendim için yapmıştım en faal linux-gnome forumuna da koyayım dedim..

Uzun satırları kestim...


#!/bin/bash
## Bu Betik Gnome Duvarkağıdınızın Sunum şeklinde olmasını sağlar
## Gnome'un kendi orjinal "Cosmos" sunumu örnek alınmıştır.
## Betikte her hangi bir kontrol ifadesi henüz yoktur. bu sebeple
## parametreler doğru olarak girilmelidir.
## Yavuz Selim bamsibeyrek@gmail.com
##

zenity --info --text="\
Bu Betik duvarkağıdınızı bir sunum şekline getirir.\n \
Bir dizin oluşturup beğendiğiniz duvar kağıtlarını \n \
içine kopyalayın. Resim isimlerinde boşluk karakteri\n \
olmamasına dikkat edin. Ayrıca size bu dizin, geçiş süresi, resim\n \
kalma süresi ve seçeceğiniz bir isim sorulacak. \n \
Bu versiyonda her hangi bir kontrol olmadığı için parametreleri\n \
mutlaka tarif edilen şekilde giriniz"

#öntanımlı değerler
DURATION=3.0; SURE=120.0;ISIM="yenislide"
BACKGROUND="/usr/share/backgrounds/"

#
DURATION=`zenity --entry --text="Resim Geçiş Süresi (Saniye Cinsinden)" --entry-text="3.0"`
SURE=`zenity --entry --text="Resim Süresi (Saniye Cinsinden)" --entry-text="150.0"`
YOL=`zenity --file-selection --directory`
ISIM=`zenity --entry --text="Klasor ismi Giriniz. Türkçe karakter ve boşluk kullanmayınız"`
zenity --info --text="Seçimleriniz:\nResim Geçişi: $DURATION saniye\nResim Süresi: \
                                 $SURE saniye\nFoto Dizini: $YOL\nİsim: $ISIM"

cat >> $ISIM.xml << EOF
<background>
  <starttime>
    <hour>00</hour>
    <minute>00</minute>
    <second>01</second>
  </starttime>
EOF

k=0

for i in `ls $YOL`;do

if [ $k -eq 0 ]
then

cat >> $ISIM.xml << EOF
  <static>
    <duration>$SURE</duration>
    <file>$BACKGROUND$ISIM/$i</file>
  </static>
  <transition>
    <duration>$DURATION</duration>
    <from>$BACKGROUND$ISIM/$i</from>
EOF

else

cat >> $ISIM.xml << EOF
    <to>$BACKGROUND$ISIM/$i</to>
  </transition>
  <static>
    <duration>$SURE</duration>
    <file>$BACKGROUND$ISIM/$i</file>
  </static>
  <transition>
    <duration>$DURATION</duration>
    <from>$BACKGROUND$ISIM/$i</from>
EOF

fi

k=1

done

cat >> $ISIM.xml << EOF
    <to>$BACKGROUND$ISIM/`ls $YOL|head -n 1`</to>
  </transition>
</background>
EOF

mkdir $ISIM
mv $ISIM.xml $ISIM/
cp $YOL/* $ISIM
gksu mv $ISIM $BACKGROUND
zenity --info --text="işlem tamam! Masaüstünüzü şimdi değiştirebilirsiniz"
zenity --question --text="Seçtiğiniz resimler duvarkağıdınız olarak \
                                        belirlensin mi?" --ok-label="Evet" --cancel-label="Hayır"
if [ $? -eq 0 ];then
gconftool-2 --set /desktop/gnome/background/picture_filename \
                                   --type string $BACKGROUND$ISIM/$ISIM.xml
fi


heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

GNUbuntu

Teşekkürler @yavuzselim.
Bir ara bu işi yapan bir program aramak aklıma gelmişti ama o kadar önemsememiştim. Sonra parlak zekam ile  :) /cosmos dizini içindeki resimleri değiştirip denedim, oldu. Fakat masaüstü resimleri az sayıda oluyor ve çoğaltmak için xml dosyasına ekleme yapmak gerekiyordu falan. Sayende şimdi bir program aradım ve buldum bir tane. Crebs. Tam olarak Türkçe değil ama kullanımı çok kolay.

sudo add-apt-repository ppa:crebs/ppa
sudo apt-get update && sudo apt-get install crebs

Program, Menu -> Tercihler -> Arkaplan Slayt Gösterisi Yarat olarak yerleşiyor.
http://www.omgubuntu.co.uk/2010/06/crebs-wallpaper-slideshow-generator-gets-a-ppa-new-features/
Önce Saygı...

krwlng

Dün aklıma gelmişti cosmos tarzı bir şey yapayım diye, önce foruma bakmakla iyi etmişim, ellerine sağlık yavuzselim tam aradığım şey.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

ferat_tes

Duvar kağıdını değiştiren applicationlar 10-20 mb harcıyor. Oysa bu sadece bir betik ve aynı işlevi görüyor. Teşekkürler!

krwlng

İşin güzel tarafı bu betik sürekli çalışmıyor, bir kereliğine  istediğiniz dizindeki resimleri uygun xml dosyası oluşturup /usr/share/backgrounds içerisine kopyalayıp parametreleri ayarlıyor, gerisi zaten bildiğimiz cosmos arkaplanın çalışma mantığı.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

BayboraKaan

11.10'da deneyen var mi?
Bendenedim ama bir türlü yaptigim dosyayi artalana yerlestiremedim. :)

eribol

11.10'da zaten böyle bir şey var ancak özelleştirilemiyor. Arkaplan seçerken yanında küçücük saat simgesi olan arkaplanı seçtiğimizde sürekli arkaplanları değiştiriyor.

BayboraKaan

Evet onu biliyorum @Eribol ama ben kendi resimlerimle böyle bir görsel sölen istiyorum :D

eribol

Arkaplana atılan resimleri gün boyu değiştiriyor zaten yani kendi resimlerini de eklesen olur diye dusunuyorum

Mx0Ub

teşekürler,peki resmi bash dan nasıl sectiriyoruz yada ayarlıyoruz hangi komut ile?
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

guopx

tam da aradığım şey. fakat nasıl çalıştıracağımı bilmiyorum :-[ acaba anlatır mısınız? uçbirime falan mı yazacağız? 12.04'te çalışır mı?
crebs depoda yok bu arada.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 31 Mayıs 2012 - 23:16:01

betiğe gerek kalmadı :) wallch diye bir program var bayağı güzel kullanımı falan da kolay başlangıç programlarına kendini ekleyip sessiz sedasız çalışıyor.
yazılım merkezinde var ya da
sudo  apt-get install wallch
Sevdiklerine sevdiğini söyle çok geç olmadan.

if

@yavuzselim'in sunduğu içeriği bir belgeye kaydedin. Diyelim duvar_ustası olsun belgenin ismi. chmod +x duvar_ustası
./duvar_ustası
şeklinde çalışır.

guopx

@if teşekkür ederim gedit'e kaydetmeliyim değil mi? peki her açılışta çalışması için ne yapmalıyım? kusura bakmayın daha 4 gün oldu ubuntu yükleyeli biraz cahilim :)
Sevdiklerine sevdiğini söyle çok geç olmadan.

if

Alıntı YapGedit'e kaydetmeliyim değil mi?

Ne sormak istediğinizi anlayamadım ama tahmin edecek olursam gedit ile kaydedip edemeyeceğiniz sordunuz galiba. Kaydedebilirsiniz, hangi metin düzenleyiciyi kullandığınız önemli değil.

Bilgisayar açıldığında çalışması için:
Alıntı YapYukarıdaki işlemleri yapıp belgemizi çalıştırılabilir hale getirdikten sonra masaüstünde sağ üst köşedeki dişli çark simgesine tıklayıp açılan seçkede "Başlangıç uygulamaları"nı seçiyoruz. Çıkan pencerede üstteki kutuya herhangi bir şey yazabilirsiniz. Sonrasında Gözat düğmesine basıp oradan oluşturduğumuz belge neredeyse seçip "Ekle" düğmesine, ardından da kapat düğmesine basıp pencereyi kapatıyoruz. Bundan sonra hiç bir müdahalede bulunmadan sistem açılışında istediğiniz çözünürlükte bilgisayarınızı kullanmaya devam edebilirsiniz.

guopx

tekrar teşekkürler :) kusura bakmayın cahillik kötü bişey :-[
Sevdiklerine sevdiğini söyle çok geç olmadan.

if

Rica ederim, lafını etmeye değmez.