পাইথন নন-জিটিকে, নন-কিউটি অ্যাপে গ্লোবাল মেনুটির জন্য কীভাবে সমর্থন যুক্ত করবেন?


24

নন-জিটিকে, নন-কিউটি অ্যাপ্লিকেশনটিতে কীভাবে গ্লোবাল মেনু সমর্থন যুক্ত করা যায় তার জন্য আমি ভাল ডকুমেন্টেশন (উদাহরণস্বরূপ, টিউটোরিয়াল, বা গাইড) খুঁজছি। (জিটিকেতে এটি মূল মেনুতে 'ম্যাজিকালি' কাজ করে ...)। আমি এটি দিয়ে যে টুলকিটটি ব্যবহার করতে চাই তা হ'ল কিভি , যা গ্লিব-মেইনলুপকে সমর্থন করে (উদাহরণস্বরূপ জিস্ট্রেমার হিসাবে), তাই নীতিগতভাবে সমস্তকে সেখানে কাজ করা উচিত।

আমি ডিবুসেনু এবং এখানে এপিআই রেফারেন্স দেখেছি তবে এটি প্রক্রিয়াগুলি বোঝার জন্য খুব বেশি কার্যকর নয়।

লঞ্চার-কুইকলিস্ট তৈরির জন্য একটি সংক্ষিপ্ত উদাহরণ রয়েছে যা একটি ডিবিস-মেনু ধারণ করে, তবে গ্লোবাল-মেনু / অ্যাপম্যানুর জন্য নয়।

সেখানে একটি উইকি পৃষ্ঠা রয়েছে যা অন্য কোনও প্রাসঙ্গিক তথ্য ধারণ করে না "তখন অন্যান্য সরঞ্জামদণ্ডে অ্যাপ্লিকেশন মেনুতে সহায়তা করার কাজটি স্বাগত হবে, তবে ডিএক্স দলের পক্ষে অগ্রাধিকার নয়, সহায়তা চেয়েছিলেন।"

সূচক-অ্যাপম্যানু উত্স কোড থেকে এই গ্রাফিকটিতে একটি সামান্য তথ্য রয়েছে, তবে এটি যথেষ্ট নয়, বিকাশকারী.বুন্টু.কোমে পাওয়া যায় না এবং এর আরও ব্যাখ্যা প্রয়োজন:

এখানে চিত্র বর্ণনা লিখুন

তাই:

  • মেনু আইটেমগুলির একটি সেট (Dbusmenu.Menuitem) প্রদর্শিত হবে কি পদ্ধতি?
  • ক্লায়েন্ট এবং সার্ভার কী ভূমিকা পালন করে? (এগুলির মধ্যে কোনটি আমার অ্যাপ্লিকেশনটিতে চালিত হওয়ার কথা? বা উভয়?)

অনুরূপ প্রশ্ন


আপনি যে টুলকিটটি ব্যবহার করছেন তা আপনি যুক্ত করতে পারেন।
টিমো

নিশ্চিত: এটি হল কিভি টুলকিট।
xubuntix

1
আমি মনে করি এই প্রশ্নটির নীতিগত থেকে একটি উত্তর দরকার।
ট্যাচিয়ন্স

প্রাথমিকভাবে আমি আশা করেছিলাম যে ডুবুসেনু-গ্লিব (যেমন টেড গোল্ড) এর লেখকরা, এমনকি লিডবসম্যানু-কিউটি (অরেলিন গেটো) তাদের কোডের ডকুমেন্টেশন লেখার জন্য কিছু সময় ব্যয় করতে পারে। কিন্তু 4 মাস অপেক্ষার পরেও কিছুই হয়নি। তাই আমি দ্বিতীয় সর্বোত্তম বিকল্পটি চেষ্টা করেছিলাম, আমার খ্যাতি অর্জনের জন্য এই সম্প্রদায়কে 'ঘুষ' দেওয়ার চেষ্টা করেছি ms মনে হয়
এটিও

@ এক্সুবুনটিক্স আপনাকে টেড ( gould.cx/ted/blog ) এবং অরেলিন ( অগাটিউ.com / about-me ) সাথে সরাসরি যোগাযোগ করার পরামর্শ দিচ্ছেন
ফসফ্রিডম

উত্তর:


14

সাধারণভাবে, আমি টুলকিট সমর্থিত উপায়গুলি বিশ্বব্যাপী মেনুবারে মেনু রাখার পরামর্শ দিচ্ছি ... তবে, আমি ধরে নিচ্ছি যে এই মুহুর্তে আপনাকে বোঝাতে খুব দেরী হয়েছে :-) এছাড়াও, আমি মনে করব যে এমনকি আমরা ভেবেছিলাম আমাদেরও 12.04-এ ডিবুসেনু এবং রেজিস্ট্রেশন ব্যবহার করে লক্ষ্যটি হল GMenuModel এ চলে যাওয়া এবং 14.04-র মধ্যে উইন্ডোটির মেনু দিয়ে চিহ্নিত করা, সুতরাং এই তথ্যটি তারিখ হয়ে যাবে। অবশ্যই, টুলকিট প্লাগইনগুলি আপডেট হবে ;-) (শেষবারের মতো চেষ্টা করব, আমি প্রতিশ্রুতি দিচ্ছি)

জড়িত মূল নীতিটি হ'ল আমাদের জানার দরকার যে কোন উইন্ডোটির সাথে মেনুগুলি যুক্ত। আমরা উইন্ডোটির এক্সআইডি ব্যবহার করে ট্র্যাক করি এবং মেনুগুলি ডিবিস-এ ডাবসুম্যানু সার্ভারের জন্য একটি পথ। নিবন্ধ করার জন্য আপনার কাছে সেই উভয় তথ্যই দরকার need রেজিস্ট্রেশন ইন্টারফেসটি খুব সহজ যে আপনি মূলত সেই দুটি টুকরো তথ্যই নিবন্ধকের কাছে প্রেরণ করেন। ডিবিস- এ রেজিস্ট্রারের সুপরিচিত নাম com.canonical.appMenu.Registrar

এটি কীভাবে কাজ করতে পারে তার উদাহরণের জন্য আপনি সূচক-অ্যাপম্যানুতে থাকা মক-জসন -অ্যাপ নমুনা কোডটি দেখতে পারেন । এটি একটি ছোট সরঞ্জাম যা dbusmenu-dumper (যা libdbusmenu- সরঞ্জামগুলিতে রয়েছে ) দ্বারা JSON ফাইল আউটপুট নেবে এবং একটি উইন্ডো তৈরি করবে যা দাবি করে যে মেনু রয়েছে। এটি অ্যাপম্যানু ক্র্যাশ হওয়ার মতো জিনিসগুলিও পরিচালনা করে, যা বেশিরভাগ অ্যাপ্লিকেশনটির জন্য সত্যই প্রয়োজন হতে পারে না (যদিও এটি বিকাশে সত্যই গুরুত্বপূর্ণ :-))।

একটি ডিবুসেনু সার্ভার তৈরি করার জন্য আপনাকে মূলত অবজেক্টটি বরাদ্দ করতে হবে এবং ডিবিাসে কোথায় উপস্থিত হবে তা তা বলতে হবে (যাতে আপনি নিবন্ধকের কাছে অবস্থানটি দিতে পারেন)। অ্যাপমেনু- gtk এর মতো প্লাগইনগুলির জন্য আমরা একটি উত্পন্ন পথটি ব্যবহার করি যাতে কোনও বিরোধ না হয় তবে আপনি যদি অ্যাপটি নিয়ন্ত্রণ করছেন তবে আপনি সম্ভবত একটি নির্দিষ্ট পথ ব্যবহার করতে পারেন। তারপরে আপনি ডবুসমেনু মেনুয়েটেম অবজেক্টগুলির একটি ট্রি স্ট্রাকচার তৈরি করুন । মূলটি প্রদর্শিত হয় নি, তবে মেনুগুলি শুরু করার জন্য ডিবুসেনু সার্ভারে দেওয়া হয়েছে। প্রথম স্তরটির মূলটি উবুন্টু মেনুবার জুড়ে আইটেম হিসাবে প্রদর্শিত হবে ।

শুভকামনা, এই প্রশ্নের উত্তর দেওয়ার জন্য আমাকে যারা হয়রানি করেছিল তাদের সকলকে ধন্যবাদ। আমি এখনও বিশ্বাস করি যে আপনার টুলকিট সমর্থনটি ব্যবহার করা উচিত (আমি এটি শেষ বারের মতো বলেছিলাম), তবে শুভকামনা!


1
আপনাকে অনেক ধন্যবাদ! এবং আপনাকে ধন্যবাদ জানানো সকল লোককে :-) টুলকিটের প্রশ্ন হিসাবে: আমি টুলকিট সমর্থনটি ব্যবহার করতে পছন্দ করব, কিন্তু কিভির পক্ষে কেউ নেই। এবং আমি কেবল মেনুর জন্য টুলকিটগুলি স্যুইচ করব না ... GMenuModel এ স্যুইচ করা কি অন্য সরঞ্জামকিটগুলির সাথে এটি ব্যবহার করা অসম্ভব করে দেবে?
xubuntix

GMenuModel অনেক সরঞ্জামকিটগুলিতে প্রবাহিত করা সহজ করে তুলবে কারণ সমর্থনটি সরাসরি GLib এ রয়েছে তাই কোনও অতিরিক্ত নির্ভরতা নেই, যা কিছু সরঞ্জামকিট রক্ষণাবেক্ষণকারীদের বিরক্ত করেছিল।
টেড গোল্ড

@ টেডগোল্ড দুর্দান্ত উত্তর, টেড! তবে, জিটিকে-এর কম উদাহরণ রয়েছে কি? এমন কিছু যা সম্ভব হিসাবে কেবলমাত্র Xlib ব্যবহারের কাছাকাছি, আর কিছুই নয়? আপনার দেওয়া মক-জসন-অ্যাপ উদাহরণটি দুর্দান্ত, যদি কেউ জিটিকে ব্যবহার করে; এক্স 11 সরাসরি ব্যবহার করা হয় না (বা অন্য একটি টুলকিট)। আমি এমন কিছু একসাথে রাখার চেষ্টা করছি যা কেবল গ্লিব, libdbusmenu-glib এবং X11 ব্যবহার করে তবে দেখে মনে হচ্ছে যে আমি সমস্যায় পড়ছি। আমার লক্ষ্য? আমি একটি এসডিএল অ্যাপ্লিকেশনটিতে সমর্থন যুক্ত করতে আগ্রহী এবং আমি নিয়মিত জিএনইউস্টেপ অ্যাপ্লিকেশনগুলিতে ডবসম্যানু সমর্থন না করার বিষয়ে ভাবছি।
ইভান ভুইকা

1
@TedGould আমার প্রয়াস এখানে উপর হল: bitbucket.org/ivucica/minidbus-menu আশা রাখি, আপনি (! অথবা অন্য কেউ) কোড কটাক্ষপাত করা এবং কেন মেনু প্রদর্শিত হবে না দেখতে হতে কয়েক মিনিট সময় থাকবে এবং কেন শিরোনামবারটি "হুদ" বলে। :-)
ইভান ভুইকা

দেখে মনে হচ্ছে যে আমি আমার সি কোডটি 12.04 এর আওতায় কাজ করতে পেয়েছি। আমার মেনুতে স্বতন্ত্র আইটেম যুক্ত করার চেষ্টা করা উচিত হয়নি; এগুলিকে অন্য মেনু আইটেমের সাবাইটাম হিসাবে যুক্ত করে এখন এটি কার্যকর হয়। দুর্দান্ত;)
ইভান ভুইকা

0

দুর্ভাগ্যক্রমে, আপনি এর জন্য একটি বন্ধুত্বপূর্ণ দলিল পাবেন না। গ্লোবাল মেনুটি জিটিকে এবং কিউটি-কে মাথায় রেখে তৈরি করা হয়েছিল এবং প্রোটোকলটি ডিবাস-ভিত্তিক হওয়ায় যেহেতু তাত্ত্বিকভাবে অন্যান্য ওয়েবকিটগুলির জন্য সমর্থন বাস্তবায়ন করা সম্ভব, ডকুমেন্টেশন উপলব্ধ করার ক্ষেত্রে খুব কম প্রচেষ্টা ছিল।

আমি আপনাকে যে সেরা পয়েন্টার দিতে পারি তা হ'ল সূচক-অ্যাপেনু এবং প্লাজমা-উইজেট-মেনুবারের উত্স কোড । Dbus প্রোটোকল কীভাবে কাজ করে তা বুঝতে আপনি তাদের পড়তে পারেন।


1
এটি কিছু প্রতিনিধি ক্ষেত্রে কথোপকথনের dbus- মনিটরের ট্রেস পেতে সহায়তা করতে পারে? আমি dbusmenu বা নজরদারি Dbus সম্পর্কে জানতে যথেষ্ট জানি না, তবে আমি এমন কারও কাছ থেকে কিছু উদাহরণ দেখতে আগ্রহী।
নীলাম্যাকবি

0

গ্লোবাল মেনু বারের সাথে সংহত করতে আপনি পাইথন-ডিবিাস বাইন্ডিং ব্যবহার করতে পারেন এবং ডাবাসমেনুর জন্য http://developer.ubuntu.com/api/ubuntu-12.04/python/Dbusmenu-0.4.html এ ডকুমেন্টযুক্ত এপিআই ব্যবহার করতে পারেন ।


4
আমি আমার উত্তরে ঠিক এই লিঙ্কটি দিয়েছি, উল্লেখ করে যে আমি কীভাবে এটি ব্যবহার করব বুঝতে পারছি না!
xubuntix
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.