ফ্লাইতে কোনও rxvt- ইউনিকোড সেশনের পটভূমির রঙ পরিবর্তন করতে কি দূরে রয়েছে? Ctrlচাবি দিয়ে পছন্দ ?
আমার কাছে একগুচ্ছ উরক্সভিটি উইন্ডো রয়েছে এবং তাদের আলাদা করতে সাহায্য করার জন্য আমি কিছু গতিশীলভাবে রঙিন করতে চাই। তবে আবার, আমি উড়তে বলতে চাই ...
ফ্লাইতে কোনও rxvt- ইউনিকোড সেশনের পটভূমির রঙ পরিবর্তন করতে কি দূরে রয়েছে? Ctrlচাবি দিয়ে পছন্দ ?
আমার কাছে একগুচ্ছ উরক্সভিটি উইন্ডো রয়েছে এবং তাদের আলাদা করতে সাহায্য করার জন্য আমি কিছু গতিশীলভাবে রঙিন করতে চাই। তবে আবার, আমি উড়তে বলতে চাই ...
উত্তর:
urxvt
2004 সালে 2.6 এক্সটার্মের গতিশীল রঙ বৈশিষ্ট্যটির জন্য সমর্থন যোগ করেছে । ইন xterm কন্ট্রোল সিকোয়েন্স , এই OSC
11. OSC
10 সেট ডিফল্ট টেক্সট রঙ। চেঞ্জলগ পরিবর্তনের অংশ উল্লেখ করেছে:
2.6 Fri Apr 2 03:24:10 CEST 2004
- minor doc corrections.
- WARNING: changed menu sequence from ESC ] 10 to ESC ] 703 to
avoid clashes with xterm.
- changed OSC701/OSC702 sequence to return standard escaped reports.
- xterm-compat: make set window colour and other requests report
window colour when arg is "?".
তবে উত্স-কোডটি যথারীতি গল্পটি বলে:
/*
* XTerm escape sequences: ESC ] Ps;Pt (ST|BEL)
* 0 = change iconName/title
* 1 = change iconName
* 2 = change title
* 4 = change color
+ * 10 = change fg color
+ * 11 = change bg color
* 12 = change text color
* 13 = change mouse foreground color
* 17 = change highlight character colour
@@ -2949,20 +3236,21 @@
* 50 = change font
*
* rxvt extensions:
- * 10 = menu (may change in future)
* 20 = bg pixmap
* 39 = change default fg color
* 49 = change default bg color
* 55 = dump scrollback buffer and all of screen
* 701 = change locale
* 702 = find font
+ * 703 = menu
*/
ম্যানুয়ালটি rxvt(7)
কোনও কার্যকর তথ্য দেয় না:
এক্সটার্ম অপারেটিং সিস্টেম কমান্ড "ইসি] পিএস; পিটি এসটি" এক্সটার্ম প্যারামিটার সেট করুন। 8-বিট এসটি: 0x9c, 7-বিট এসটি ক্রম: ESC \ (0x1b, 0x5c), পিছনের দিকে সামঞ্জস্যপূর্ণ টার্মিনেটর বিইএল (0x07) এছাড়াও স্বীকার করা হয়েছে। যে কোনও অক্টেট এসআইএন (0x16, ^ ভী)।
এই সাধারণ উদাহরণটি অগ্রভাগ (পাঠ্য) এবং পটভূমি ডিফল্ট উভয়ই রঙ সেট করে:
#!/bin/sh
printf '\033]10;red\007'
printf '\033]11;green\007'
পছন্দ করুন xterm
, এই ডিফল্ট রঙগুলি অস্থায়ীভাবে "এএনএসআই" রঙের দ্বারা ওভাররাইড করা যায়।
বৈশিষ্ট্যটি রিসোর্সটি xterm
ব্যবহার করে অক্ষম করা যেতে পারে dynamicColors
। বিপরীতে xterm
, urxvt
বৈশিষ্ট্যের জন্য কোনও সংস্থান-সেটিং নেই।
ভিটিই বৈশিষ্ট্যটি প্রয়োগ করে এবং তেমনিভাবে এটি নথিও দেয় না। urxvt
অন্তত থেকে ডকুমেন্টেশন দিয়ে শুরুrxvt
। ভিটিইয়ের জন্য আপনাকে সোর্স কোডটি পড়তে হবে। প্রাসঙ্গিক বৈশিষ্ট্যটি এর vteseq.cc
মতো দেখায়:
/* Change the default background cursor, BEL terminated */
static void
vte_sequence_handler_change_background_color_bel (VteTerminalPrivate *that, GValueArray *params)
{
vte_sequence_handler_change_special_color_internal (that, params,
VTE_DEFAULT_BG, -1, 11, BEL);
}
/* Change the default background cursor, ST terminated */
static void
vte_sequence_handler_change_background_color_st (VteTerminalPrivate *that, GValueArray *params)
{
vte_sequence_handler_change_special_color_internal (that, params,
VTE_DEFAULT_BG, -1, 11, ST);
}
এই কোডটি 2003 সালের কোনও এক সময় (যখন এটি সি তে লেখা হয়েছিল):
commit f39e281529827f68fd0e9bba41785d66a21efc1c
Author: Nalin Dahyabhai <nalin@src.gnome.org>
Date: Wed Jan 22 21:35:22 2003 +0000
accept OSC{number};{string}ST as set-text-parameters, per XTerm docs (part
* src/caps.c: accept OSC{number};{string}ST as set-text-parameters, per XTerm
docs (part of #104154).
* src/keymap.c: revert change to prepend "1;" to keys with modifiers (#104139).
আরও পড়া:
আমি আমার নিচের টি যোগ ~/.Xresources
মাছি টিপে উপর রং পরিবর্তন করতে ফাইল Ctrlএবং 7বা 8বা 9।
! change to red background
URxvt.keysym.C-7: command:\033]11;#ff0000\007
! change to light background
URxvt.keysym.C-8: command:\033]11;#ffffff\007
! change to dark gray background
URxvt.keysym.C-9: command:\033]11;#777777\007
আপনি যদি একই সাথে অগ্রভাগ এবং পটভূমির রঙ সেট করতে চান, কেবল কমান্ডগুলি সম্মত করুন (কিছু বর্ণ নাম দ্বারা সংজ্ঞায়িত করা হয়):
! change to red background
URxvt.keysym.C-7: command:\033]11;#ff0000\007\033]10;yellow\007
আপনি এই জাতীয় রঙের echo
মতো একটি সাধারণ কমান্ড দিয়ে আপনার রঙগুলি পরীক্ষা করতে পারেন :
echo -e '\033]11;#ff0000\007\033]10;yellow\007' # changes to red background and yellow foreground
আমি ব্যাকগ্রাউন্ড রঙের জন্য কোড 11 এবং অগ্রভাগের রঙের জন্য কোড 10 ব্যবহার করেছি । টমাস ডিকি দ্বারা উদ্ধৃত উরক্সভেটের সংজ্ঞাগুলি পরিবর্তে 49 এবং 39 ব্যবহার করার ইঙ্গিত দেয় (যা আমি পরীক্ষা করেছিলাম এবং এটিও কাজ করে)।
ডায়নামিক কালার গতিময়ভাবে রঙ পরিবর্তন করার একটি উদাহরণ। এটি এই দুটি। সূত্রগুলি ব্যবহার করে শুরু হয়:
xterm*dynamicColors: true
urxvt*dynamicColors: on
সীসা সত্ত্বেও, আমি urxvt এর সাথে কাজ করে রঙ পরিবর্তন করতে পারিনি! এই কৌশলটি এক্সটার্মের সাথে দুর্দান্ত কাজ করে। ডায়নামিক কালারগুলি এই "ওএসসি এস্কেপ সিকোয়েন্সগুলি" কল করে যা টার্মিনালটিকে পরিবর্তন করে, পটভূমিকে লাল করার উদাহরণ এটি:echo -e "\03echo -e "\033]11;#ff0000\007"3]11;#ff0000\007"
echo -e "\033]11;#ff0000\007"
দ্রুত স্যুইচিংয়ের জন্য আমার এক্স্রেসোর্সগুলিতে নিম্নলিখিতগুলি রয়েছে (হ্যাঁ, এটি গতিশীল রঙের উপর ভিত্তি করে)।
URxvt*keysym.Control-Shift-F10: command:\033]11;#2c2c2c\007\033]10;#dcdcdc\007\033]12;#dcdcdc\007\033]4;0;#3f3f3f\007\033]4;1;#705050\007\033]4;2;#60b48a\007\033]4;3;#dfaf8f\007\033]4;4;#9ab8d7\007\033]4;5;#dc8cc3\007\033]4;6;#8cd0d3\007\033]4;7;#dcdcdc\007\033]4;8;#709080\007\033]4;9;#dca3a3\007\033]4;10;#72d5a3\007\033]4;11;#f0dfaf\007\033]4;12;#94bff3\007\033]4;13;#ec93d3\007\033]4;14;#93e0e3\007\033]4;15;#ffffff\007
URxvt*keysym.Control-Shift-F11: command:\033]11;#000000\007\033]10;#ffffff\007\033]12;#ffffff\007\033]4;0;#000000\007\033]4;1;#cc0000\007\033]4;2;#4e9a06\007\033]4;3;#c4a000\007\033]4;4;#3465a4\007\033]4;5;#75507b\007\033]4;6;#06989a\007\033]4;7;#d3d7cf\007\033]4;8;#555753\007\033]4;9;#ef2929\007\033]4;10;#8ae234\007\033]4;11;#fce94f\007\033]4;12;#729fcf\007\033]4;13;#ad7fa8\007\033]4;14;#34e2e2\007\033]4;15;#eeeeec\007
URxvt*keysym.Control-Shift-F12: command:\033]11;#000000\007\033]10;#a9a9a9\007\033]12;#a9a9a9\007\033]4;0;#000000\007\033]4;1;#cc0000\007\033]4;2;#00cc00\007\033]4;3;#cccc00\007\033]4;4;#0000cc\007\033]4;5;#cc00cc\007\033]4;6;#00cccc\007\033]4;7;#cccccc\007\033]4;8;#555555\007\033]4;9;#ff0000\007\033]4;10;#00ff00\007\033]4;11;#ffff00\007\033]4;12;#0000ff\007\033]4;13;#ff00ff\007\033]4;14;#00ffff\007\033]4;15;#ffffff\007
আপনি এখানে অন্য পদ্ধতির জন্য একবার দেখতে পারেন: https://github.com/sos4nt/dynamic-colors
আমি urxvt- থিম নামে একটি এক্সটেনশন লিখেছি যা এক্স সংস্থান এবং গতিশীল রঙগুলি ব্যবহার করে rxvt-unicode (একটি সাধারণ প্রসঙ্গ মেনু সহ) এই কার্যকারিতা যুক্ত করে adds