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


15

গুগল ক্রোম সম্প্রতি আমার উবুন্টু 14.04 ইনস্টলেশনতে 35.0.1916.114 সংস্করণে আপগ্রেড করা হয়েছিল।

তার পর থেকে নোটিফিকেশন আইকনটি সিস্টেম ট্রেতে দেখাতে শুরু করেছে। তবে মনে হচ্ছে এটি কম রেজোলিউশন আইকনটি ব্যবহার করছে - এটি বিকৃত দেখাচ্ছে:

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

আমি কীভাবে এটি সংশোধন / প্রতিস্থাপন করতে পারি?


1
আইকনগুলি এতে সংরক্ষণ করা হয় /usr/share/icons, যদি এটি সহায়তা করে
মিঃভায়াকাদজি

@ মিঃভায়াকাদজি: সহায়তার জন্য ধন্যবাদ! আমি সেই ডিরেক্টরিটির নীচে দেখেছি কিন্তু আমি কোনও গুগল ক্রোম বিজ্ঞপ্তি আইকন খুঁজে পাইনি। আমি অনুমান করছি যে সেগুলি একটি ভিন্ন ডিরেক্টরিতে রয়েছে।
ফিবোমোইয়ায় 24'14

1
হয়তো /opt? সেখানেই গুগল বাইনারি ইনস্টল করা আছে।
মিঃ ভাইকাদজি

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

1
এই বিজ্ঞপ্তি আইকনটি কমপক্ষে 3 টি পয়েন্টে ভুল: এটি ব্যবহারকারীর পছন্দগুলিকে সম্মান করে না; এটি উবুন্টু রঙগুলিকে সম্মান করে না; এটি সত্যিই কম রেজোলিউশন ব্যবহার করছে।
রায়েল গুগেলিন চুনহা

উত্তর:


14

সম্পাদনা করুন: বিজ্ঞপ্তি আইকন প্রতিস্থাপন আপডেট সম্পর্কে নীচে দেখুন

আপনি যদি ক্রোম বাইনারিগুলি সাধারণ স্থানে ইনস্টল করা থাকেন তবে আপনি সেগুলি খুঁজে পাবেন /opt/google/chrome। সেই ফোল্ডারে আপনার সেই ফাইলটি সন্ধান করা উচিত chrome_100_percent.pakযাতে বিজ্ঞপ্তি আইকন রয়েছে। এই স্ট্যাক ওভারফ্লো প্রশ্ন থেকে তথ্য ব্যবহার করে আমি এটিকে উত্তোলনের জন্য যে পদক্ষেপগুলি দিয়েছি তা এখানে :

  1. গ্রিট- i18n প্রকল্পের সাথে কোডটি চেকআউট করুন

    svn checkout http://grit-i18n.googlecode.com/svn/trunk/ grit-i18n-read-only

  2. এটি আপনাকে আপনার CWD নামক একটি ফোল্ডার দেবে grit-i18n-read-only। এই ফোল্ডারে সিডি করুন

    cd grit-i18n-read-only

  3. এই ফোল্ডারে ডেটা_প্যাক অজগর মডিউলটি অনুলিপি করুন

    cp grit/format/data_pack.py .

  4. data_pack.pyআপনার পছন্দসই সম্পাদকটি সম্পাদনা করুন । প্রাথমিক আমদানির পরে, নিম্নলিখিত লাইনটি যুক্ত করুন:

    sys.path.append(os.getcwd())

  5. ফাংশনটিতে ফাইলের শেষের দিকে main, লাইনটি সরিয়ে দিন

    print '%s: %s' % (resource_id, text)

    (স্ট্যাক ওভারফ্লো উত্তরটি জানিয়েছে যে এটি 160 লাইনে ঘটে, আমার অভিজ্ঞতায় বর্তমান সংস্করণটি এটি 201 রেখায় রয়েছে)

  6. তার জায়গায়, নিম্নোক্ত রেখাগুলি যথাযথভাবে প্রবেশ করুন (3 বার):

    file = open(str(resource_id), "wb")

    file.write(text)

  7. data_pack.pyক্রোম পাক ফাইলটিতে ইউটিলিটি চালান (আমি এটি grit-i18n-read-onlyপ্রথমে ফোল্ডারে অনুলিপি করেছি ):

    ./data_pack.py ../chrome_100_percent.pak

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


সম্পাদন করা

নীচে কিছু সহজ উত্তর পাওয়া গেলেও, আইকনগুলি সম্পাদনা করার পরে আপনি যে সংস্থানগুলি চেষ্টা করতে পারেন তা পুনরায় প্যাকেজ করার জন্য আমি কিছু কোড একসাথে হ্যাক করেছিলাম। এটি একটি নতুন .pakফাইল তৈরি করবে , যা আমি নিজে ব্যবহার করার চেষ্টা করি নি, তাই আমি নির্দিষ্ট করে বলতে পারি না এটির ফলে সফলভাবে নতুন বিজ্ঞপ্তি আইকনগুলির ফলাফল হবে।

প্রধান কার্যক্রমে data_pack.pyআমি elseব্লকের সমস্ত কোড মন্তব্য করে নীচের লাইনগুলি যুক্ত করেছি:

# Read in the modified icon resource files
file = open('6864', 'r')
icon1 = file.read()
file.close()
file = open('6865', 'r')
icon2 = file.read()
file.close()
file = open('6866', 'r')
icon3 = file.read()
file.close()
file = open('6867', 'r')
icon4 = file.read()
file.close()

# Write resource pak of only notification icons
iconData = {6864: icon1, 6865: icon2, 6866: icon3, 6867: icon4}
WriteDataPack(iconData, 'tmp.pak', BINARY)

# Create copy of original pak without notification icons
dataPack = ReadDataPack('chrome_100_percent.pak')
# List of icon resources to remove
toRemove = set([6864,6865,6866,6867])
whiteList = set(dataPack.resources.keys()).difference(toRemove)
whiteListFile = open('whitelist.txt', 'w')
for i in whiteList:
  whiteListFile.write(str(i)+'\n')
whiteListFile.close()
newDataPack = RePack('tmp2.pak', ['chrome_100_percent.pak'], 'whitelist.txt')

# Merge the two paks together
combinedPack = RePack('chrome_100_percent_new.pak', ['tmp2.pak', 'tmp.pak'], None)

তারপরে, শুধু চালান ./data_pack.py। এটি ধরে নেওয়া chrome_100_percent.pakহয় যে বর্তমান ডিরেক্টরিটিতে রয়েছে এবং আপনাকে একটি নতুন chrome_100_percent_new.pakফাইল দেওয়া উচিত যা আপনি অনুলিপি করার চেষ্টা করতে পারেন /opt/google/chrome/chrome_100_percent.pak

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


চূড়ান্ত সম্পাদনা

এখন আমি ঘরে ফিরে এসে আরও কিছুতে কাজ করার সুযোগ পেয়েছি, আমি ক্রোমের বিজ্ঞপ্তি আইকনটি সফলভাবে প্রতিস্থাপন করতে পেরেছি। @ গ্লুটানীমেট হিসাবে উল্লেখ করা হয়েছে, আপনি 16x16 রেজোলিউশনে আটকে আছেন, সুতরাং আপনি আসলে কতটা উন্নতি করতে পারবেন তা নিশ্চিত নই, তবে আমি মনে করি এটি বিষয়বৈজ্ঞানিক।

আমি জিআইএমপিতে কেবল উল্লিখিত আইকনগুলি (6864 - 6867) খুললাম, যা সেগুলি গ্রেস্কেল পিএনজি হিসাবে সনাক্ত করেছে। আমি জিম্পে একই ফাইলটিতে একটি নতুন আইকন আটকালাম, যাতে একই চিত্রের বৈশিষ্ট্যগুলি রাখার চেষ্টা করে (যেমন গ্রেস্কেল)। এরপরে আমি এগুলি পিএনজি হিসাবে রফতানি করেছি, জিআইএমপি প্রস্তাবিত সমস্ত বিকল্পগুলি অনিচ্ছুক করে তবে 9. এর একটি সংকোচনের মাত্রা বজায় রেখেছি ফলাফলের ফাইলগুলিতে .png এক্সটেনশান ছিল, তাই আমি সেগুলি সরিয়েছি এবং আসলগুলি প্রতিস্থাপন করেছি। আমি এরপরে data_pack.pyউপরে বর্ণিত পরিবর্তনগুলি ইতিমধ্যে করেছি re

আমি মূল mv /opt/google/chrome/chrome_100_percent.pak /opt/google/chrome/chrome_100_percent.bakপ্যাকটির একটি ব্যাকআপ কপিটি সাথে রেখেছিলাম এবং আমার পরিবর্তিত .pak ফাইলটিকে তার জায়গায় সরিয়ে নিয়েছি। আমি নিশ্চিত করব যে এটি করার সময় ক্রোম বন্ধ রয়েছে এবং ডাবল-পরীক্ষা করে দেখুন যে কোনও ক্রোম প্রক্রিয়া চলছে না এবং আমি বিশ্বাস করি যে ব্রাউজারটি এখন ডিফল্টরূপে বন্ধ হয়ে গেলেও পটভূমির প্রক্রিয়াগুলিতে অনুমতি দেওয়ার জন্য ক্রোমের একটি নতুন সেটিংস রয়েছে।

দেখুন এবং দেখুন, ইউনিটিতে আমার বিজ্ঞপ্তি আইকনগুলি আমার পরিবর্তনগুলি প্রতিফলিত করে।

পরিশেষে-চূড়ান্ত সম্পাদনা: ঠিক আছে, আমি মিথ্যা বললাম - আমি একটি 32x32 পিএনজি চেষ্টা করেছি এবং দেখে মনে হচ্ছে এটি ঠিক আছে। সুতরাং, আপনি সেখানে যান। এখানে কিছু ফলাফল স্ক্রিনশট।

  • আসল আইকন: আপনি সম্ভবত আমার ড্রপবক্স এবং আবহাওয়ার আইকনগুলির মধ্যে আমার প্যানেলে ডিফল্ট 'অপঠিত বিজ্ঞপ্তিগুলি' আইকনটি সনাক্ত করতে পারবেন:

আসল আইকন

  • নতুন আইকন: আমার 32x32px একই জায়গায় পরিবর্তিত সংস্করণ:

নতুন আইকন

(উত্স: অ্যাডাম হুইটক্রফ্ট থেকে ব্যাচ আইকন )


আপডেটের জন্য ধন্যবাদ! আমি নিশ্চিত করতে পারি যে 32px আইকনগুলি ডেটা_প্যাক.পি দিয়ে ভাল কাজ করছে। আপনি সমস্ত নোটিফিকেশন আইকনগুলির জন্য অ্যাকাউন্টে পোস্ট করা স্নিপেটটি পরিবর্তন করেছি। আমি আশা করি আপনি কিছু মনে করবেন না।
গ্লুটানীমেট

1
এফডাব্লুআইডাব্লু, আপনি বিজ্ঞপ্তি সিস্টেমটি অক্ষম না করে সূচকটি সম্পূর্ণ অপসারণ করতেও এই পদ্ধতিটি ব্যবহার করতে পারেন (সিএফ। Askubuntu.com/a/473416/81372 )।
গ্লুটোনিমেট

সাথী, আপনি টিউটোরিয়ালটি কিছুটা সাফ করলে আমি খুশি হব ... ডেটা.পি-তে সমস্ত পরিবর্তন দরকার আছে কি? আমি একটু বিভ্রান্ত। কোনও অপরাধের অর্থ নয়, আমি কেবল এটি অনুসরণ করতে চাই।
ডেকাফ

1
দুর্দান্ত হ্যাক। কেবল যোগ করতে, আপনি এখানে আরও আইকন খুঁজে পেতে পারেন thenounproject.com/search/?q=bell
gc5

ক্রোম 36+ এর সাথে এখন আইকনগুলি 6894 ... 6897
জিসি 5

8

সম্পাদনা:

দেখে মনে হচ্ছে সমস্যাটি ছিল node-chrome-pakdata_pack.pyরকেটম্যান 10404 এর সংশোধিত 32px আইকন সহ, দুর্দান্ত কাজ করছে:

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

ব্যবহার করুন তার নির্দেশাবলী পরিবর্তে।


আসল উত্তর :

@ রকেটম্যান 10404 এর দুর্দান্ত উত্তর আমাকে নোড-ক্রোম- প্যাকের দিকে নিয়ে যায়, একটি নোড.জেএস স্ক্রিপ্ট যা Chrome / ium এর .pakফাইলগুলিতে নির্দিষ্ট সংস্থানগুলি প্যাক, আনপ্যাক এবং প্রতিস্থাপন করতে পারে।

যদিও আমি chrome_100_percent.pakএই সরঞ্জামটির সাথে বিজ্ঞপ্তি আইকনগুলি প্রতিস্থাপন করতে সক্ষম হয়েছি, তবে আমাকে জানাতে হবে যে আমি পরিবর্তনগুলি দৃশ্যমান করতে সক্ষম নই। তবুও আমি মনে করি এই পয়েন্টটি পেতে আমি যে পদক্ষেপগুলি নিয়েছি তা রূপরেখার পক্ষে প্রচেষ্টা করা উপযুক্ত worth আশা করি অন্য কেউ এটি গ্রহণ করবেন এবং বাস্তবে এটি কার্যকর করার জন্য কোনও উপায় খুঁজে পাবেন।

নোড.জেএস ইনস্টল করা হচ্ছে

node-chrome-pakচালানোর জন্য node.js প্রয়োজন হবে। ক্রিস লির নোডেজ পিপিএ যোগ করে আপনি সর্বশেষতম সংস্করণ ইনস্টল করতে পারেন:

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

স্ক্রিপ্টটি ডাউনলোড করা এবং Chrome এর সংস্থানগুলি আনপ্যাক করা

স্ক্রিপ্টটি ডাউনলোড করুন:

git clone https://bitbucket.org/hikipro/node-chrome-pak.git
cd node-chrome-pak

আপনার স্থানীয় অনুলিপি করুন chrome_100_percent.pak:

cp /opt/google/chrome/chrome_100_percent.pak ./chrome_100_percent.pak

.pakফাইলটি আনপ্যাক করুন:

node ./main.js unpack chrome_100_percent.pak

বিজ্ঞপ্তি আইকনগুলি সনাক্তকরণ এবং সংশোধন করা

শেষ ক্রিয়াটি একটি নতুন ফোল্ডার নামে পরিচিত তৈরি করবে ./extracted। এটিতে আপনি পাক ফাইলে থাকা সমস্ত সংস্থান খুঁজে পাবেন। তাদের সংস্থান আইডির নামে নামকরণ করা হয়েছে। আপনি এই নামটি সংরক্ষণ করতে চাইবেন কারণ ফাইলগুলি পুনঃস্থাপনের জন্য এটি গুরুত্বপূর্ণ।

কঠিন অংশটি এখন সঠিক আইকন সনাক্তকরণে lies আমি যদি পুরোপুরি ভুল না হয়ে থাকি তবে সিস্টেমে ব্যবহৃত ফাইলগুলি নিম্নলিখিত ফাইলগুলি হওয়া উচিত:

6864.png
6865.png
6866.png
6867.png

আপনি যে আইকনগুলির সন্ধান করছেন তা সনাক্ত করে, আপনি সেগুলি সংশোধন এবং প্রতিস্থাপন করতে এগিয়ে যেতে পারেন। আপনি যদি চান তবে আপনি এই উদ্দেশ্যে তৈরি করা আইকনগুলি ব্যবহার করতে পারেন:

      

      

উত্স ফাইল এবং রফতানি .pngকরা বিভিন্ন রেজোলিউশনে হোস্ট করা হয় গিটহাব-এ

আমি খুঁজে পাওয়া প্রথম সীমাবদ্ধতাটি এখানে আসে: আপনি যদি মূল গুগল ক্রোমের চেয়ে উচ্চতর কোনও রেজোলিউশনে কোনও চিত্রের সাথে আইকনগুলি প্রতিস্থাপন করেন তবে এটি নষ্ট হয়ে যাবে এবং সঠিকভাবে কাজ করা বন্ধ করবে । এই নির্দিষ্ট প্রকল্পের জন্য আপনাকে একটি 16x16 রেজোলিউশনের সাথে থাকতে হবে। বাস্তবে এর অর্থ হ'ল আপনি এই সিস্টেমে কাজ করা সত্ত্বেও আপনি বর্তমান সিস্ট্রয় আইকনগুলিতে উল্লেখযোগ্যভাবে উন্নতি করতে পারবেন না।

অবশ্যই সম্ভাবনা যে এই সীমাবদ্ধতা দ্বারা পথ চালু করা হয় সেখানে node-chrome-pakপরিকল্পনা করা হয়েছিল। আপনি যদি @ রকেটম্যান 10404 এর উত্তরের ভিত্তিতে একটি কাস্টম পাইথন স্ক্রিপ্ট তৈরি করেন তবে আইকনগুলি বৃহত্তরগুলির সাথে প্রতিস্থাপন করা সম্ভব।

সংস্থানগুলি পুনরায় চালু করা এবং বিদ্যমানগুলি প্রতিস্থাপন

বিদ্যমান আইকনগুলি সংশোধন / প্রতিস্থাপনের পরে আপনাকে একটি আপডেট করা pakফাইল তৈরি করতে হবে ...

node ./main.js pack ./extracted ./chrome_100_percent_modified.pak

... এবং বিদ্যমানটি প্রতিস্থাপন করতে এটি ব্যবহার করুন:

sudo cp ./chrome_100_percent_modified.pak /opt/google/chrome/chrome_100_percent.pak

এই পদ্ধতির জটিলতা

আমার প্রচেষ্টায় আমি আপডেট হওয়া আইকনগুলি দেখানোর জন্য ক্রোম পেতে সক্ষম হইনি। এমনকি যদি আমি নিশ্চিত করে ফেলেছি যে সমস্ত আইকন সঠিকভাবে প্রতিস্থাপন করা হয়েছে এবং পরিবর্তিত pakফাইলে আসলে উপস্থিত হয়েছে (এটি আবার আনপ্যাক করে) আমি তখনও সিস্টেমে প্রকৃত আইকনটি প্রতিস্থাপন করতে পারিনি।

দুর্ভাগ্যক্রমে আমি জানি না কেন এটি হয়।

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