PDA

View Full Version : سوال: Dock در جاوا



tanzadeh7
جمعه 25 مهر 1393, 11:12 صبح
دارم واسه توزیع لینوکسم یک میزکار میسازم که بعد gnome-session و compiz پنل خودم اجرا بشه.
من میخواستم بدونم میشه یک نرم افزار تو جاوا مثل Docky یا همین پنل یونیتی همیشه یک جا ثابت باشه و بک سوال دیگه لیست نرم افزار ها + ایکون شون رو چجوری نمایش بدم

محمد فدوی
جمعه 25 مهر 1393, 14:22 عصر
سلام.
برای ساخت چیزی مثل Docky کافیه یه پنجره‌ی Transparent بسازی و اونو در گوشه‌ی صفحه قرار بدی. البته پشتیبانی از Transparency توی گنو/لینوکس در مورد مدیرپنجره‌های مختلف فرق می‌کنه... ولی اگه از Unity استفاده می‌کنی احتمالا مشکلی نیست.
یه برنامه مشابه Docky هم هست به اسم Cairo Dock. توی مخازن اوبونتو موجوده. اونم افکت‌های جالبی داره. شاید کمکت کنه.

برای دریافت لیستی Application‌های نصب شده ممکنه توی توزیع‌های مختلف یه تفاوتای اندکی باشه... منم الان از ArchLinux استفاده می‌کنم Ubuntu ندارم.
ولی اگه اشتباه نکنم لیست فایل‌های usr/share/applications/ بتونه بت کمک کنه:


$ ls /usr/share/applications

تو این فولدر یه سری فایل با فرمت desktop هست. با ادیتور مورد علاقه‌ت (nano، vim، gedit یا...) یکیشونو باز کن:


$ nano /usr/share/applications/SOMETHING.desktop


فرمتش خیلی ساده‌ست. هم دستور اجرای این برنامه توش هست و هم آدرس آیکونش. حتی توضیحات دیگه‌ای هم در موردش تو همین فایل درج میشه... (البته مطمئن نیستم درست گفته باشم. چک کن بم بگو اگه اشتباهه تا بگردم درستشو پیدا کنم)
حالا تنها کاری که باید انجام بدی اینه که برنامه‌ت خودش بتونه این فایل‌های desktop رو بخونه...
موفق باشی.

[younes]
جمعه 25 مهر 1393, 14:33 عصر
من از یک عکس برای آیکون برنامه ام استفاده کردم و در مسیر /usr/share/applications/ در یک فایل .desktop ذخیره کردم همه چیز درسته ولی آیکون رو به درستی نمایش نمیده

همچنین فرمت تصویر .png هست و سایز آن 100 * 100 PX است مشکل کجاست؟

من از ابونتو 14.04 و KDE استفاده میکنم

tanzadeh7
جمعه 25 مهر 1393, 16:30 عصر
سلام.
برای ساخت چیزی مثل Docky کافیه یه پنجره‌ی Transparent بسازی و اونو در گوشه‌ی صفحه قرار بدی. البته پشتیبانی از Transparency توی گنو/لینوکس در مورد مدیرپنجره‌های مختلف فرق می‌کنه... ولی اگه از Unity استفاده می‌کنی احتمالا مشکلی نیست.
یه برنامه مشابه Docky هم هست به اسم Cairo Dock. توی مخازن اوبونتو موجوده. اونم افکت‌های جالبی داره. شاید کمکت کنه.

برای دریافت لیستی Application‌های نصب شده ممکنه توی توزیع‌های مختلف یه تفاوتای اندکی باشه... منم الان از ArchLinux استفاده می‌کنم Ubuntu ندارم.
ولی اگه اشتباه نکنم لیست فایل‌های usr/share/applications/ بتونه بت کمک کنه:


$ ls /usr/share/applications

تو این فولدر یه سری فایل با فرمت desktop هست. با ادیتور مورد علاقه‌ت (nano، vim، gedit یا...) یکیشونو باز کن:


$ nano /usr/share/applications/SOMETHING.desktop


فرمتش خیلی ساده‌ست. هم دستور اجرای این برنامه توش هست و هم آدرس آیکونش. حتی توضیحات دیگه‌ای هم در موردش تو همین فایل درج میشه... (البته مطمئن نیستم درست گفته باشم. چک کن بم بگو اگه اشتباهه تا بگردم درستشو پیدا کنم)
حالا تنها کاری که باید انجام بدی اینه که برنامه‌ت خودش بتونه این فایل‌های desktop رو بخونه...
موفق باشی.

چجوری باید یک پنجره Transparent بسازم.
من از مدریت پنجره compiz استفاده میکنم

محمد فدوی
جمعه 25 مهر 1393, 16:41 عصر
;2119389']من از یک عکس برای آیکون برنامه ام استفاده کردم و در مسیر /usr/share/applications/ در یک فایل .desktop ذخیره کردم همه چیز درسته ولی آیکون رو به درستی نمایش نمیده

همچنین فرمت تصویر .png هست و سایز آن 100 * 100 PX است مشکل کجاست؟

من از ابونتو 14.04 و KDE استفاده میکنم
من الان Openbox دارم نمیتونم مطمئن چیزی بت بگم. یعنی چجوری نمایش میده؟ محتوای فایل desktop رو بذار اینجا شاید بتونم کمک کنم.
البته برای شخصی سازی منو در KDE میتونی از Kickoff استفاده کنی (اگه برای استفاده روزمره میخوای اینو گفتم!)


چجوری باید یک پنجره Transparent بسازم.
من از مدریت پنجره compiz استفاده میکنم
سرچ کن. این (http://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html) رو ببین. البته برنامه‌ت رو جوری بنویس که اگه Transparency توی مدیر پنجره پشتیبانی نمی‌شد هم بتونه یه Launcher خوب مستطیلی ایجاد کنه...
* تجربه‌ی شخصی من میگه Compiz یه روز زهرشو میریزه! بیخیال Effectهاش شو از همون Metacity استفاده کن!

tanzadeh7
شنبه 26 مهر 1393, 23:43 عصر
سلام من یک مشکل دیگه دارم نمیدونم چجوری فایل desktop رو اجرا کنم.

محمد فدوی
یک شنبه 27 مهر 1393, 21:19 عصر
سلام من یک مشکل دیگه دارم نمیدونم چجوری فایل desktop رو اجرا کنم.

شما قرار نیست فایل desktop رو اجرا کنی (اصلا قابل اجرا شدن نیست!) این فایل desktop فایرفاکس توی سیستم منه:


[Desktop Entry]
Name=Firefox
...
Exec=/usr/lib/firefox/firefox %u
Icon=firefox
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;

شما برنامت رو چوری مینویسی که دستور موجود توی بخش Exec رو اجرا کنه.