Taze program yazan kişilerin başına dert olabilecek bir olay: Programınızın ürettiği dosyaların kde/gnome/xfce/blabla altında hiçbir ayar yapmadan, tıklayınca programınızla beraber çalışmasını istersiniz. Bilinen dosya türlerinden biri ile çalışmıyorsanız işiniz zor. Bilemiyorum bu işlemi herhangi bir geliştirme ortamı yardımıyla yapılan programlar otomatik olarak hallediyor mu ama, çift tıklayınca “ilişkilendirilmiş uygulama yok” hatasına kesin çözüm yollarından birisi olarak yepyeni, cillop gibi bir mimetype üretmeyi anlatacağım.
Programınızın ürettiği bir dosyanın mime türünü “file dosya_adi” komutu ile görebilirsiniz. Anlatacağım yöntem, olabilecek en kötü ihtimallerden olan, yalnızca “data” çıktısına sahip dosyalar için işe yaradı.
Programınızı çalıştırmak için gerekli komutun “programim” olduğunu varsayıyorum. Ürettiğiniz/açmak istediğiniz dosyanın uzantısı da “weq” olsun (nasıl salladım ama).
Bu arada programın komut satırından dosya açabildiğini bilmemiz gerek, “programim /home/blabla/dosya_adi” komutu ile açabiliyor olması gerek.
Yeni mime türü oluşturmaya başlayalım, öncelikle/usr/share/mime/packages/programim.xml diye bir dosya oluşturuyoruz. İçeriği şu şekilde ayarlıyoruz:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/programim">
<comment>Programim</comment>
<glob pattern="*.weq"/>
</mime-type>
</mime-info>
sonra, /usr/share/mime-info/programim.mime :
application/programim ext: weq
/usr/share/mime-info/programim.keys :
application/programim: description=Benim Programim Walla default_action_type=application short_list_application_ids_for_novice_user_level=programim category=Documents/Data
/usr/share/applications/programim.desktop :
[Desktop Entry] Encoding=UTF-8 Name=Programım Comment=Bu benim öyle gıcıklık olsun diye yazdığım bi program Exec=programim %f Icon=/usr/share/benim_simgem.png Terminal=false Type=Application Categories=GNOME;GTK;Game; #(artık neyse kategoriniz yazarsınız) StartupNotify=true MimeType=application/programim;
Son olarak, /usr/share/application-registry/programim.applications :
programim command=programim name=Programim can_open_multiple_files=false expects_uris=false requires_terminal=false mime_types=application/programim
Bitirdikten sonra da root olarak “update-desktop-database” komutu verirseniz, artık “.weq” uzantılı dosyalara çift tıkladığınızda “programim” ile açılacaktır. Bunu da artık atarsınız kurulum prosedürünün bi kenarına, onu da mı anlatayım..







