আমি কি মূল থেকে আলাদা আলাদা অ্যাপ্লিকেশনে আলাদা জিটিকে 3 থিম প্রয়োগ করতে পারি?


46

উদাহরণস্বরূপ, আমি কি অ্যাম্বিয়েন্সকে মূল থিম হিসাবে রাখতে পারি তবে প্রাথমিক থিমটি প্রাথমিকের অ্যাপে নির্ধারণ করতে পারি?


8
Gtk2 সম্পর্কে বর্তমান উত্তরগুলি সম্পর্কে, আমি Gtk3 সম্পর্কে জিজ্ঞাসা করছি।
নিয়নবয়

আপনি যা চেয়েছেন তা আরও ভালভাবে প্রতিবিম্বিত করতে আমি প্রশ্নটি সম্পাদনা করেছি। দুঃখিত, তবে আমার গবেষণার সংক্ষিপ্ত উত্তর হ'ল না , আপনি @ কুশের ব্যাখ্যা অনুসারে একটি নতুন "হাইব্রিড" থিম তৈরির জন্য কিছু প্রচেষ্টা ব্যয় না করে করতে পারবেন না :( এটি আর জিটিকে 2 এর মতো সহজ নয়
ইশ

উত্তর:


32

আপনি GTK_THEME=elementaryপ্রাথমিক থিম সহ একটি অ্যাপ্লিকেশন চালু করতে জিটিকে এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করতে পারেন । উদাহরণস্বরূপ, চলমান GTK_THEME=elementary pantheon-filesপ্রাথমিক জিটিকে থিমটি ব্যবহার করে প্রাথমিক ফাইল অ্যাপ্লিকেশন চালু করবে।

আপনি যখনই কোনও নির্দিষ্ট অ্যাপ্লিকেশন চালু করেন এটি প্রয়োগ করার জন্য, আপনার সেরা বিকল্পটি একটি কাস্টম .ডেস্কটপ ফাইল (লঞ্চার) তৈরি করার সম্ভাবনা রয়েছে।

একটি কাস্টম .ডেস্কটপ ফাইল তৈরি করুন

  1. আপনার ফাইল ব্রাউজারটি খুলুন
  2. নেভিগেট করুন /usr/share/applications/
  3. প্রাথমিক থিমটি দিয়ে আপনি যে অ্যাপটি চালু করতে চান তার জন্য লঞ্চটি (হাইলাইট এবং Ctrl + সি) অনুলিপি করুন
  4. ল্যাঞ্চারে নেভিগেট ~/.local/share/applications/এবং পেস্ট করুন (Ctrl + V)
  5. টেক্সট এডিটর দিয়ে ডান ক্লিক করুন এবং লঞ্চটি খুলুন
  6. Exec=অন্তর্ভুক্ত করতে শুরু করে Exec=env GTK_THEME=elementaryএবং তারপরে লাইনের পূর্ববর্তী বিদ্যমান সামগ্রীগুলি সংশোধন করুন । (তাই Exec=pantheon-filesহয়ে যাবে Exec=env GTK_THEME=elementary pantheon-files)
  7. সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন

পরের বার আপনি ইউনিটি (বা আপনার পছন্দসই অ্যাপ্লিকেশন প্রবর্তক) থেকে অ্যাপ্লিকেশন চালু করলে এটি প্রাথমিক থিমটি ব্যবহার করবে।

বোনাস: কমান্ড লাইন ব্যবহার করার সময় এটি কার্যকর করুন

আপনি কমান্ড লাইন থেকে প্রবর্তন করার সময় অ্যাপটিকে প্রাথমিক থিমের সাথে চালু করতেও চাইবেন। তাই না:

  1. আপনার টার্মিনাল অ্যাপ্লিকেশনটি খুলুন
  2. প্রকার alias pantheon-files="GTK_THEME=elementary pantheon-files"( pantheon-filesপছন্দসই অ্যাপ্লিকেশন দিয়ে প্রতিস্থাপন )
  3. এন্টার চাপুন

আদেশ সহকারে:

  1. এটি আপনার উইন্ডো ম্যানেজারের থিমটিকে প্রাথমিক থিমে পরিবর্তন করবে না।
  2. এটি (নকশা দ্বারা) কেবল আপনার অ্যাকাউন্টে প্রযোজ্য হবে, মেশিনে থাকা রুট বা অন্য কারও জন্য নয়।
  3. থিমের নামগুলি cAsE-sEnsItiVe এবং থিম ফোল্ডারের নামের সাথে মিলে যাওয়া উচিত।

সূত্র:

  1. আমি একটি প্রাথমিক অবদানকারী;)
  2. GTK + 3 রেফারেন্স ম্যানুয়াল: GTK + অ্যাপ্লিকেশন চলমান
  3. .ডেস্কটপ ফাইলটিতে পরিবর্তনশীল সেট করুন

সুন্দর উত্তর কিন্তু আমি কোনও থিমের জন্য এটি কাজ করতে পারি না। টার্মিনাল ব্যবহার করে find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'এবং geditপ্রদর্শনের উদ্দেশ্যে আপনি উদাহরণ দিতে পারেন ? যেমন GTK_THEME="HighContrast" geditবা env GTK_THEME="HighContrast" geditবা GTK_THEME=Adwaita:dark gedit... কিছুই নেই।
রেডসান্দ্রো

আমি কেবল এটিকে পরিবর্তন করেছি /usr/share/applications/<appname>.desktopএবং এটি আমার পক্ষে কাজ করেছে।
ড্রু চ্যাপিন

অ্যাপের অভ্যন্তরে কোড থেকে এটি করার কোনও উপায়?
অ্যানি-মাউসে

1
এটি লক্ষণীয় যে থিমের নামগুলি কেস সংবেদনশীল।
সেড্রিক রেইচেনবাচ

এটি কিছু অ্যাপের জন্য কাজ করে তবে সবার জন্য নয়।

10

প্রশ্নটি এখনও বৈধ এবং আমি একটি উপায় খুঁজে পেয়েছি:

  • যে কোনও ফোল্ডার তৈরি করুন path/to/MY_FOLDER
  • /share/themes/এটির ভিতরে একটি ফোল্ডার তৈরি করুন (এটি path/to/MY_FOLDER/share/themes)।
  • পরে কোনও জিটিকে 3 থিম রাখুন
  • তাত্পর্যপূর্ণ ক্রিয়াকলাপের থিমটির নাম পরিবর্তন করুন name

    শেষ অবধি, এই আদেশটি বর্তমানে সক্রিয় একের পরিবর্তে নাম পরিবর্তন করা থিমটি ব্যবহার করতে একটি অ্যাপকে তৈরি করবে:

GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON

(পথ পর GTK_DATA_PREFIX=হতে হয়েছে যে ( এবং শুধুমাত্র যে ) যে ফোল্ডারে রয়েছে /share/themes/RENAMED_THEME । কেন এটা যে এর না path/to/MY_FOLDER/share/themes/RENAMED_THEME , কিন্তু path/to/MY_FOLDER।)

এটি একটি লঞ্চারের ভিতরে থাকতে, সেই অনুযায়ী প্রতিস্থাপন করুন:

Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'

1
আমি এখন চেষ্টা করেছি এমন অন্যান্য জবাবগুলির তুলনায় এটি বাস্তবে Eclipse নিয়েও কাজ করে।
রুসলান

2
যা ফাইল / ফোল্ডার ঠিক ব্যবহার করে আমরা বাতলান কি GTK_DATA_PREFIX?
দোসরুন

1
এটি বরং বিভ্রান্তিকর ছিল, তবে আমি এটিটি বের করে উত্তরটি সম্পাদনা করেছি।

আর একটি উপায় হ'ল অ্যাপ-নির্দিষ্ট নাম পরিবর্তিত থিমটিতে ~/.themes(বর্তমান সক্রিয় থাকতে হবে /usr/share/themes) এবং তারপরে GTK_DATA_PREFIX=path/to/nowhere সেই অ্যাপ্লিকেশনটি চালু করতে কিছু পথ ব্যবহার করা হবে যা অ্যাপ্লিকেশন থিমটিকে বর্তমানের সাথে পুনরায় সেট করবে, কেবল এটি প্রথমে দেখবে ~/.themesএবং গ্রহণ করবে সেখানে একই নাম একই।

1
@runDOSrun - পাথ পর GTK_DATA_PREFIX=হয়েছে হতে যে ( এবং শুধুমাত্র যে ওই ফোল্ডারে) রয়েছে /share/themes/RENAMED_THEME । এ কারণেই এটি না FOLDER/share/themes/RENAMED_THEME , তবে ঠিক FOLDER

8

এটি অবশ্যই সম্ভব, আমার কাছে থিমিংয়ের অভিজ্ঞতা খুব বেশি নেই তবে আপনি /usr/share/themes/*Theme Name*/gtk-3.0/apps/ডিরেক্টরিতে যখন নেভিগেট করেন তখন আপনি .cssফাইলগুলি পেয়ে যাবেন যে অ্যাপ্লিকেশনগুলির সাথে তারা থিমকে লক্ষ্য করে, তাই হ্যাঁ আপনি অ্যাপ্লিকেশন ভিত্তিক থিম তৈরি করতে পারেন create

নোট করুন যে আপনি আপনার অ্যাপ্লিকেশনগুলিকে থিম হিসাবে উল্লেখ করেছেন তাতে কিছু কাজ করার প্রয়োজন হতে পারে (যেমন অ্যাম্বিয়েন্স এবং এলিমেন্টারি উভয় কাজ একই সাথে করা, যেহেতু প্রতিটি থিমের উপরে একটি ভিত্তি ফাইল থাকে যার উপরে অ্যাপ্লিকেশন নির্দিষ্ট স্টাইলিং করা হয়, ( জিটিকে ২.০gtkrc এ একটি ফাইল Gtk3.0 এর ক্ষেত্রে একটি ফাইল রয়েছে )।gtk.css

এবং এই বেস থিম ফাইলটিতে স্টাইলিং বিধি রয়েছে যা নির্দিষ্টভাবে প্রদত্ত থিমটিকে লক্ষ্য করে, সুতরাং আপনি কিছু ভারী পরিবর্তন না করে অ্যাম্বিয়েন্সের বেস থিম ফাইলটি থেকে এলিমেন্টারি মতো চেহারা তৈরি করতে পারবেন না এবং আপনি যদি তা করেন তবে আপনি অ্যাম্বিয়েন্সটি নিজেই দেখতে পাবেন।

এছাড়াও, জিনোমে একবারে কেবলমাত্র একক থিম প্রয়োগ করা সম্ভব, উদাহরণস্বরূপ, আপনি যদি উবুন্টু ১২.০৪-তে উপস্থিত উইন্ডো ব্যবহার করেন তবে আপনি জানেন যে ড্রপডাউন থেকে যে কোনও একটি থিম নির্বাচন করতে পারেন, আপনি যদি ব্যবহার করেছেন gnome-tweak-toolতবে আপনি Gtk, উইন্ডো ফ্রেম এবং আইকনগুলির জন্য বিভিন্ন থিম সেট করতে পারেন, তবে তবুও এটি নির্দিষ্ট অ্যাপ্লিকেশনগুলিকে থিমের জন্য লক্ষ্যবস্তু করতে দেয় না, আমি আগেই বলেছি, আপনি যদি চতুরতার সাথে কাজ করেন তবে আপনি বিভিন্ন অ্যাপ্লিকেশনের জন্য সম্পূর্ণ আলাদা থিম সেট করতে পারেন বেস থিম ফাইল, এখন পর্যন্ত, কোনও তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি নিজে এটি করতে পারে না।

আপনি নিজেই এটির একটি উপায় হ'ল, বেস থিম ফাইলটিতে ( gtk.css) কেবলমাত্র প্রয়োজনীয় নিয়ম থাকতে পারে যা কোনও থিমের জন্য নিরপেক্ষ, অন্ধকার বা হালকা। এবং অ্যাপলিকেশন সম্পর্কিত ফাইলগুলিতে প্রকৃত থিম ডিজাইন লিখিত আছে যা উপরে উল্লিখিত ডিরেক্টরিতে থাকে, যেমন নটিলাস স্টাইল করার জন্য, আপনি nautilus.cssফাইলটিতে প্রয়োজনীয় সমস্ত বৈশিষ্ট্য লিখতে পারেন । আপনি লক্ষ্য করতে চান প্রতিটি অ্যাপ্লিকেশন একই। স্পষ্টতই, এগুলি করার জন্য কিছু শালীন Gtk থিমিংয়ের অভিজ্ঞতা প্রয়োজন।

আপনি উল্লেখ করতে পারে এই টেমপ্লেটটি ব্যবহার করে আপনার নিজস্ব থিম তৈরি করার জন্য, এছাড়াও একটি শালীন আছে ডকুমেন্টেশন হবে Gtk + themeing উপর।


7
আমি কোনও নতুন থিম তৈরি করতে চাই না, আমি একটি বিদ্যমান বিষয় নির্ধারণ করতে চাই।
নিয়নবয়

@ নিনবয়: যেমনটি আমি বলেছিলাম যে জিটিকে 3 এর সাথে, এটি এত সহজ নয়, একটি থিমটি একাধিক ফাইল জুড়ে বিতরণ করা হয় এবং যদি নির্ভরতা সন্তুষ্ট না হয় তবে ভাঙা থিমটি আপনি পাবেন all সে কারণেই আমি উত্তর পোস্ট করেছি যা জিটিকে 3 এর সাথে সম্ভাব্য সমাধান দেখায়, এবং জিটিকে 2 নয় (যাতে এটি করা মোটামুটি সহজ)।
কুশল

5

হ্যাঁ, সহজ উপায় হ'ল অ্যাপ্লিকেশনটি যে পথে আপনার আরসি ফাইলটি বাস করে সেখানে প্রয়োজনীয় পথে নির্দেশ দিন যা আপনার অ্যাপ্লিকেশনটি চালায়:

GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape

এটি 12.04 এ ইনস্কেপের জন্য (যা এখনও জিনোম 2 বিটিডাব্লু) এটি উত্পাদন করে:

উইন্ডোজ থিম সহ ইনস্কেপ উইন্ডো

সম্পর্কে GTK2 থিম চলমান আরো তথ্য দেখুন এখানে


7
Gtk3 সম্পর্কে প্রশ্নটি Gtk2 নয়, ধন্যবাদ।
নিয়নবয়

আপনি আপনার মূল প্রশ্নে এটি নির্দিষ্ট করেন নি। দয়া করে কোনও প্রশ্নকারীদের বিরোধিতা করবেন না।
মার্টিন ওভেনস-ডক্টরমো-

5
মূলত এটি ছিল "আমি কি পৃথক অ্যাপ্লিকেশনের জন্য বিভিন্ন জিটিকে 3 থিম ব্যবহার করতে পারি?" যে প্রশ্নটিতে এখনও Gtk3 বিষয় ছিল, তারপরে ফস স্বাধীনতা আমাকে বৈধ উত্তরের বিষয়ে মন্তব্য করতে এবং যদি প্রয়োজন হয় তবে প্রশ্নটি সম্পাদনা করতে বলে, আমি কারও বিরোধী নই।
নিয়নবয়

1

হ্যাঁ আপনি পারবেন, আসলে আমি গুগল করেছিলাম এবং কিছু উত্তর পেয়েছি:

  1. আপনি যে থিমটি পরিবর্তন করতে চান সেই প্রোগ্রামটির সঠিক নির্বাহযোগ্য জন্য সন্ধান করুন। উদাহরণস্বরূপ, আপনি যদি ওফিসের জন্য এটি চান which oofficeতবে টার্মিনালে টাইপ করুন।
  2. বিন ফোল্ডারটি সন্ধান করুন যেখানে সমস্ত অ্যাপ্লিকেশন তাদের বাইনারি এক্সিকিউটেবলকে রাখে। echo $PATHটার্মিনালটিতে টাইপ করুন এবং আপনি পথটি জিভ করবেন। আমি আপনাকে টাইপ করে আপনার হোম ডিরেক্টরিতে একটি বিন ফোল্ডার তৈরি করার পরামর্শ দিচ্ছিmkdir ~/bin
  3. gedit ~/.bashrcআপনার বাশ আরসি ফাইল খোলার জন্য টাইপ করুন।
  4. এই ফাইলের নীচে যান এবং এই লাইনটি যুক্ত করুন export PATH=~/bin:${PATH}

এখন আমরা একটি স্ক্রিপ্ট তৈরি করব যা কাস্টম থিম সহ আপনার প্রোগ্রামটি কার্যকর করবে:

  1. টাইপ করে অ্যাপ্লিকেশনটির স্ক্রিপ্ট ফাইল তৈরি করুন: gedit ~/bin/ooffice
  2. খোলা ফাইলটিতে এই লাইনগুলি টাইপ করুন:

    #!/bin/bash
    env GTK2_RC_FILES=/usr/share/themes/SlicknessX/gtk-2.0/gtkrc /usr/bin/ooffice "$@"
    
  3. টাইপ করে এক্সিকিউটেবল ফাইল মোড পরিবর্তন করুন: chmod +x ~/bin/ooffice

আশা করি এটি সাহায্য করবে, আপনাকে কেবল একটি জিনিস মনে রাখতে হবে, স্ক্রিপ্টটির ফর্ম্যাটটি নীচে দেখানো হয়েছে:

#!/bin/bash
env GTK2_RC_FILES=PATH_TO_GTKRC PATH_TO_EXECUTABLE "$@"

GTK2_RC_FILES env ব্যবহার করে GTK2 অ্যাপ্লিকেশনগুলির পক্ষে এটি অবশ্যই সম্ভব। পরিবর্তনশীল। এছাড়াও, আপনি কোন থিমগুলি সংকলনের বিষয়ে কথা বলছেন? প্রশ্নটি উবুন্টুতে পাওয়া সিস্টেমভিত্তিক জিটিকে থিম সম্পর্কে।
পর

1
আমি বিশ্বাস করি যে আপনি উল্লিখিত পদ্ধতিটি Gtk2.0 লক্ষ্যবস্তু করে যখন উবুন্টু 12.04 থিমগুলির জন্য Gtk3.0 ব্যবহার করে, তাই সম্ভবত এটি কাজ না করে।
কুশাল

6
আমি দুঃখিত, এটি Gtk2 এর একটি সমাধান, প্রশ্নটি জিটিকে 3 সম্পর্কে।
নিয়নবয়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.