পটভূমি গবেষণা
আমি ডেকে python/Gtkব্যবহার করে তৈরি করা একটি সাধারণ অ্যাপ্লিকেশনটির জন্য ইউনিটি লঞ্চারের মধ্যে অগ্রগতি বারটি আপডেট করার চেষ্টা করছি ; তবে নির্দেশাবলী অনুসরণ এই ভিডিওটি , আমি সফলভাবে প্রগতি দণ্ড আপডেট করতে পেরেছি লঞ্চার । ইউনিটি ইন্টিগ্রেশন ভিডিওতে ব্যবহৃত হয়নি, সুতরাং অ্যাপ্লিকেশনটি যেভাবে গঠন করা হয়েছে তা কিছুটা আলাদা ছিল এবং ভিডিওটিতে ব্যবহৃত কোডটি কোনও ডিফল্ট টেম্পলেট অ্যাপ্লিকেশনটিতে পরিবর্তন ছাড়া সঠিকভাবে কাজ করে না বলে মনে হয় ।QuicklytestUnityQuicklyQuickly ubuntu-application
স্ক্রীনশট
অ্যাপ্লিকেশন আইকনের একটি স্ক্রিনশট এটি বর্তমানে ইউনিটি লঞ্চারে প্রদর্শিত হওয়ায় এটি।

আমি যে জাতীয় ইউনিটি প্রবর্তক বারের কার্যকারিতাটি পছন্দ করতে চাই তার একটি স্ক্রিনশট এখানে রয়েছে (মেল আইকনটিতে ওভারলেড করা হয়েছে : উইকি.উবুন্টু.কম )।

প্রকল্পের কোড
.zipপ্রকল্পের ফাইলযুক্ত একটি ফাইল এখানে পাওয়া যাবে ।
প্রত্যাশিত আচরণ
আমি উপরের কোডটি progressক্য লঞ্চারের পরীক্ষার অ্যাপ্লিকেশনটির জন্য আইকনটিতে 75% পূর্ণ ওভারলেড হওয়া একটি অগ্রগতি বারটি দেখানোর প্রত্যাশা করব , তবে কমান্ডটি quickly runকার্যকর করা হলে অ্যাপ্লিকেশনটি কেবল চালিত হয় এবং কোনও অগ্রগতি বার প্রদর্শন করে না ।
সমস্যা তদন্ত
আমি বিশ্বাস করি যে সমস্যাটি হ'ল আমি যথাযথভাবে অ্যাপ্লিকেশনটির মূল উইন্ডোতে একটি রেফারেন্স পাচ্ছি না, তবে কীভাবে এই সমস্যাটি সঠিকভাবে সমাধান করা যায় তা সম্পর্কে আমি নিশ্চিত নই। আমি আরও বিশ্বাস করি যে রেখাটি: self.launcher = Unity.LauncherEntry.get_for_desktop_id("test.destkop")জটিলতার আরও একটি উত্স হতে পারে কারণ সাধারণ ফাইলের চেয়ে ফাইল Quicklyতৈরি করে, তাই আমি নিশ্চিত নই যে এটির কারণে সমস্যাও ঘটছে কিনা I.desktop.in.desktop
সম্ভবত, সমস্যার আরেকটি উত্স হ'ল আমি .desktopএবং .desktop.inফাইলগুলির মধ্যে পার্থক্যটি পুরোপুরি বুঝতে পারি না । test.desktop.inফাইলটির একটি অনুলিপি তৈরি করে পুনরায় নামকরণ করা test.desktopএবং সঠিক ফাইলটি উল্লেখ /usr/share/applicationsকরার জন্য এটি স্থাপন করা কি সম্ভবত বোধগম্য ?get_for_desktop_id("test,desktop").desktop
সম্পর্কিত গবেষণা লিঙ্ক
যদিও, আমি .ডেস্কটপ এবং .ডেস্কটপ.ইন ফাইলগুলির মধ্যে পার্থক্য সম্পর্কে এখনও পরিষ্কার নই, আমি .ডেস্কটপ ফাইলগুলি নিয়ে কিছু গবেষণা করেছি এবং আমি কয়েকটি লিঙ্ক পেয়েছি:
- ডেস্কটপ এন্ট্রি ফাইল (গ্রন্থাগার.gnome.org)
- ডেস্কটপ ফাইল ইনস্টলেশন ডিরেক্টরি (Askubuntu.com)
- ইউনিটি লঞ্চার API (wiki.ubuntu.com)
- ডেস্কটপ ফাইলগুলি: আপনার অ্যাপ্লিকেশনটি ডেস্কটপ মেনুতে রেখেছেন (developer.gnome.org)
- ডেস্কটপ মেনু স্পেসিফিকেশন (মান.ফ্রেডস্কটপ.অর্গ)
সম্পাদন করা
চলমান python setup.py buildএবং তারপরে নেভিগেট করার পরে এবং /build/share/applicationsনির্মিত test.desktopফাইলটি সরানোর পরে ~/.local/share/applicationsএবং শেষ পর্যন্ত কার্যকর করার পরে quickly run, কোনও আইকনটির জন্য কেবল একটি প্রশ্ন চিহ্ন প্রদর্শিত হবে, কোনও দৃশ্যমান অগ্রগতি বার নেই ।

সম্পাদনা 2
নির্মিত .desktopফাইলটির আরও তদন্তের পরে , দেখা যাচ্ছে যে লাইনটি:
ফাইলটির Icon=/usr/share/test/media/test.svgমধ্যে .desktopএকটি আইকন ফাইলের দিকে ইঙ্গিত করছিল test.svgযা বলা হত না।
এই সমস্যা সমাধান করার জন্য, আমি নামক একটি নতুন ফোল্ডার তৈরি করা testমধ্যে /usr/share/কমান্ড ব্যবহার করে sudo mkdir testএবং তারপর পরীক্ষা ফোল্ডারের নামক আরেকটি ফোল্ডার ভিতরে তৈরি mediaকমান্ড ব্যবহার করে sudo mkdir media, এবং তারপর আমি সরানো test.svgআইকন আমার দ্রুত প্রকল্প ডিরেক্টরিতে অবস্থিত ফাইল test/data/media/test.svgথেকে /usr/share/test/media/। .svgঅ্যাপ্লিকেশনের জন্য আইকন এখন ইউনিটি লঞ্চার বারে সঠিকভাবে প্রদর্শন করে এবং Alt-ট্যাব দৃশ্য অবশ্য এখনও কোনো দৃশ্যমান উন্নতি বার নীচে স্ক্রিনশট দেখানো হয়েছে।

সম্পাদনা 3
@ ডবি যেমন উল্লেখ করেছেন, লাইনে টেস্ট উইন্ডো.পি ফাইলের কোডটিতে একটি টাইপ ছিল:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("test.destkop"),
কোথায় test.destkopহওয়া উচিত test.desktop।
আমি এই টাইপটি পরিবর্তন করেছি এবং অ্যাপ্লিকেশনটি ব্যবহার করে কার্যকর করার সময় কোনও দৃশ্যমান পরিবর্তন ঘটেনি quickly run। যাইহোক, লাইন যোগ করার পরে print('Integrating with launcher')করতে add_launcher_integration()সেখানে টার্মিনাল যখন অ্যাপ্লিকেশন চালানোর ছিল কোন সংশ্লিষ্ট আউটপুট ছিল, যা নির্দেশ করে সমস্যা হতে পারে, মনে হয় add_launcher_integration()আবেদন শুরু সঠিকভাবে যখন বলা হবে না মনে হচ্ছে না।
সম্পাদনা 4
আরও তদন্তের পরে, দেখা যাচ্ছে যে add_launcher_integration()প্রয়োগটি শুরু হওয়ার পরে এটি প্রকৃতপক্ষে ডাকা হয়। লাইনটি যুক্ত হওয়ার সাথে:
os.system("clear")
লাইনের আগে
print("Integrating with launcher")
"লঞ্চারের সাথে সংহতকরণ" বার্তাটি এখন প্রদর্শিত হয় terminal।
তবে, ইউনিটি লঞ্চার বারটিতে এখনও কোনও অগ্রগতি দর্শনযোগ্য নয় ।
সম্পাদনা করুন 5
পুনর্নির্মাণ করার পর Quicklyনির্বাহ দ্বারা প্রকল্প python setup.py buildএবং নির্মিত চলন্ত .desktopমধ্যে ফাইল Quicklyএ অবস্থিত প্রকল্পের /build/share/applications/জন্য ~/.local/share/applications, অ্যাপ্লিকেশন আইকন এবং প্রগতি দণ্ড এখন প্রদর্শন সঠিকভাবে ইউনিটি লঞ্চার বারে। লঞ্চার ইন্টিগ্রেশনের একটি স্ক্রিনশট নীচে দেখা যাবে।
