জিটিকে

জিটিকে (ইংরেজি: GTK, আগে জিটিকে+ নামে পরিচিত ছিলো, গিম্প টুলকিট) গ্রাফিক্যাল ইউজার ইন্টারফেস তৈরির জন্যে একটি ফ্রি ও ওপেন সোর্স ক্রস-প্ল্যাটফর্ম উইজেট টুলকিট । এটি গ্নু লেসার জেনারেল পাবলিক লাইসেন্সের অধীনে নিবন্ধিত, যার ফলে ফ্রি ও মালিকানাধীন দুধরনের সফটওয়্যারই এটি ব্যবহার করতে পারে। কিউটির সাথে এটি ওয়েল্যান্ড ও এক্স১১ উইন্ডো ব্যবস্থার সবচেয়ে জনপ্রিয় টুলকিটসমূহের একটি । এখানে ডকুমেন্টেশন রয়েছে: developer.gnome.org/gtk3/stable/ নিচের কোডটি সি ভাষায় হেলো ওয়ার্ল্ড প্রোগ্রামের একটি গ্রাফিক্যাল জিটিকে প্রোগ্রাম উপস্থাপন করে। // helloworld.c #include <gtk/gtk.h> int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *label; gtk_init(&argc, &argv); /* Create the main, top level window */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* Give it the title */ gtk_window_set_title(GTK_WINDOW(window), "Hello, world!"); /* Center the window */ gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); /* Set the window's default size */ gtk_window_set_default_size(GTK_WINDOW(window), 200, 100); /* ** Map the destroy signal of the window to gtk_main_quit; ** When the window is about to be destroyed, we get a notification and ** stop the main GTK loop by returning 0 */ g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); /* ** Assign the variable "label" to a new GTK label, ** with the text "Hello, world!" */ label = gtk_label_new("Hello, world!"); /* Plot the label onto the main window */ gtk_container_add(GTK_CONTAINER(window), label); /* Make sure that everything, window and label, are visible */ gtk_widget_show_all(window); /* ** Start the main loop, and do nothing (block) until ** the application is closed */ gtk_main(); return 0; } প্রথমে এ লাইব্রেরিগুলো ইন্সটল করা লাগবে: ডেবিয়ানে- $ sudo apt-get install libgtk-3-dev আর্চে- $ sudo pacman -S libgtk-3-dev ইউনিক্স শেলে পিকিজে কনফিগ ব্যবহার করে, এ কোডটি নিচের কমান্ড দ্বারা কম্পাইল করা যাবে : $ cc -Wall `pkg-config --cflags gtk+-3.0` -o helloworld helloworld.c `pkg-config --libs gtk+-3.0` প্রোগ্রাম ইনভোক করা: $ ./helloworld জিটিকে লাইব্রেরিতে একসেট গ্রাফিক্যাল নিয়ন্ত্রণ উপাদান উইজেট রয়েছে, ৩.২২.১৬-এ ১৮৬টি সক্রিয় ও ৩৬টি অবচিত উইজেট রয়েছে। জিটিকে সি প্রোগ্রামিং ভাষায় লেখা একটি অবজেক্ট ওরিয়েন্টেড উইজেট টুলকিট। এটি অবজেক্ট ওরিয়েন্টেশনের জন্য জিলিবের অবজেক্ট সিস্টেম গোঅবজেক্ট ব্যবহার করে। এক্স১১ ও ওয়েল্যান্ড ভিত্তিক উইন্ডো ব্যবস্থাপনার জন্যে মূলত জিটিকের সৃষ্টি হলেও, এটি অন্যান্য প্ল্যাটফর্ম যেমন মাইক্রোসফট উইন্ডোজ ও ম্যাকওএসেও কাজ করে। ব্রোডওয়ে" নামে এর একটি এইচটিএমএল৫ ব্যাকএন্ডও রয়েছে । আঁকা উইজেটের চেহারা বদলাতে জিটিকে কনফিগার করা যায়। ভিন্ন ভিন্ন ডিসপ্লে ইঞ্জিন ব্যবহার করে এটি করা হয়ে থাকে। বিদ্যমান প্ল্যাটফর্মের উইজেটের চেহারা আনতে বিভিন্ন ডিসপ্লে ইঞ্জিন রয়েছে। ২০০৫ সালের ২.৮ সংস্করণ থেকে এর গ্রাফিক্যাল কন্ট্রোল উপাদান উইজেট র‍্যান্ডার করার জন্যে কায়রোতে অবস্থানান্তরিত হতে থাকে। জিটিকে সংস্করণ ৩.০ থেকে সমস্ত রেন্ডারিঙই কায়রো ব্যবহার করে করা হয়। ২৬ জানুয়ারি ২০১৮ সালে DevConf.cz এ ম্যাথিয়াল ক্ল্যাসেন জিটিকে ৪ উন্নয়নের বর্তমান অবস্থা সম্পর্কে একটা ধারণা দেন, যেখানে তিনি জিটিকে ৩ এ র‍্যান্ডারিং ও ইনপুট কীভাবে কাজ করে তা যেমন ব্যাখ্যা করেন, ব্যাখ্যা করেন জিটিকে ৪-এ কি কি পরিবর্তন আসতে যাচ্ছে, এবং কেন এ পরিবর্তন । ফেব্রুয়ারি ঘোষণা দেয়া হয় জিটিকে ৪-এ নাম থেকে বাড়তি "+" বাদ দেয়া হবে। জিডিকে নিন্মাবস্থিত উইন্ডো ও গ্রাফিক ব্যবস্থা প্রদত্ত লো-লেভেল ফাংশনের জন্যে র‍্যাপার হিশেবে কাজ করে। জিটিকে /gdk ডিরেক্টরিতে পাওয়া যায়। জিএসকে হলো জিটিকের জন্যে র‍্যান্ডারিং ও সিন গ্রাফ এপিআই। গ্রাফিক্যাল কন্ট্রোল এলিমেন্ট(উইজেট) ও র‍্যান্ডারিঙের মাঝে জিএসকের অবস্থান। জিটিকে+ ৩.৯০ সংস্করণে মার্চ ২০১৭-তে জিএসকে অন্তর্ভুক্ত হয়। জিএসকে /gsk-তে পাওয়া যায়। সংস্করণ ৩.১৪ এ জিটিকেইন্সপেক্টরের অভিষেক হয়। জিটিকের জন্য বিভিন্ন গুই ডিজাইনার রয়েছে। জুলাই ২০১১ অনুযায়ী নিচের প্রকল্পগুলো সক্রিয় রয়েছে: গ্লেইড, জিটিকেবিল্ডার সমর্থন করে। গাজপাচো, পাইথনে লেখা জিটিকে টুলকিটের জন্যে গুই বিল্ডার। ক্রো ডিজাইনার, এর নিজস্ব গুইএক্সএমএল ফরম্যাট ও গুইলোডার লাইব্রেরির উপর নির্ভর করে। স্টেটিক, মোনোডেভেলপের অংশ। কোন কোড লেখা ছাড়া জিটিকেবিল্ডার দিয়ে ব্যবহারকারী ইন্টারফেস ডিজাইন করা যায়। ইন্টারফেস এক্সএমএল ফাইলে বর্ণিত থাকে, যেটি রানটাইমে লোড হয় এবং অবজেক্ট স্বয়ংক্রিয়ভাবে তৈরি হয়। গ্লেইড ইন্টারফেস ডিজাইনার "what you see is what you get" ধরনে ব্যবহারকারী ইন্টারফেস তৈরিতে সাহায্য করে। আর এ ডেস্ক্রিপশন কোন ধরনের প্রোগ্রামিং ভাষা ব্যবহার হচ্ছে তার থেকে স্বকীয়। যদি ল্যাঙ্গুয়েজ বাইন্ডিং লেখা হয়, তাহলে এক ভাষায় লেখা লাইব্রেরি অন্য ভাষায় ব্যবহার করা যায়। জিটিকেতে বিভিন্ন ভাষার জন্যে অনেকগুলো বাইন্ডিং রয়েছে। সিনট্যাক্স হাইলাইট করার জন্যে আছে জিটিকেসোর্স ভিউ, "সোর্স কোড সম্পাদনার উইজেট"। জিটিকেসোর্সভিউ জিটিকে থেকে আলাদা ভাবে একটা লাইব্রেরি হিশেবে নিয়ন্ত্রণ করা হয়: gtksourceview। এটাকে হয়তো পরে gsv নামে নামান্তর করবে। একসময় জিটিকে ব্যবহার করতো কিংবা এখন ব্যবহার করে এমন কিছু উল্লেখযোগ্য সফটওয়্যারের নাম হলো: গ্নোম কোর অ্যাপলিকেশনসমূহ - গ্নোম ডেস্কটপ পরিবেশের অংশ হিশেবে জিটিকের সাথে কনসার্টে ডেভেলপকৃত। অ্যাবিওয়ার্ড - ওয়ার্ড প্রসেসর আনজুতা - ইন্টেগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট ক্রোমিয়াম - ওয়েব ব্রাউজার (৩৫+ সংস্করণে অরা দ্বারা প্রতিস্থাপিত হয়েছে) একিজা (পূর্বের গ্নোম মিটিং) - ভয়েস ওভার আইপি এবং ভিডিও কনফারেন্সিং অ্যাপলিকেশন গ্নু ইম্যাকস - যখন এক্সে চলে তখন জিটিকে ব্যবহার করতে পারে ইভোল্যুশন - ব্যক্তিগত তথ্য ব্যবস্থাপক জিকনফিগ - লিনাক্স কার্নেল সোর্স কনফিগারেশন ইউটিলিটি জিনি - একটি হালকা ক্রস-প্ল্যাটফর্ম আইডিই ও জিটিকে লেখা সম্পাদক ভিত্তিক স্কিনটিলা গিম্প - র‍্যাস্টার গ্রাফিকস সম্পাদক গ্নুমেরিক - স্প্রেডশিট অ্যাপলিকেশন গ্রামপস - জিনিলোজি সফটওয়্যার ইংকস্পেস - এসভিজির জন্যে ভেক্টর গ্রাফিকস সম্পাদক পিজিন - ইন্সট্যান্ট ম্যাসেঞ্জার অ্যাপলিকেশন অনেকগুলো ডেস্কটপ পরিবেশই উইজেট টুলকিট হিশেবে জিটিকে ব্যবহার করে। গ্নোম, জিটিকে-ভিত্তিক, গ্নোমের ন্যাটিভ প্রোগ্রামসমূহ জিটিকে ব্যবহার করে বাজি, সোলাস অপারেটিং সিস্টেমের জন্যে স্ক্র্যাচ থেকে তৈরি করা হয়েছে সিনামন, গ্নোম ৩-এর একটি ফোর্ক এবং জিটিকে ৩ সংস্করণ ব্যবহার করে মাটে, গ্নোম ২ এর একটি ফোর্ক, যেটি জিটিকে ২ ও ৩ দুটোই ব্যবহারের জন্যে হালনাগাদ করা হয়েছে এক্সএফসিই, বর্তমানে জিটিকে ৩ ভিত্তিক, জিটিকে ২ থেকে স্থানান্তরিত সুগার, ইয়োথ প্রাইমারি এজুকেশনের জন্যে ডেস্কটপ পরিবেশ, যেটি পাইজিটিকে ব্যবহার করে ফশ, পিউরওএসের জন্যে ডিজাইনকৃত একটি মোবাইল ইউআই ওপেন হাবে জিটিকে+ উন্মুক্ত সোর্স প্রকল্প- ভাষার পৃষ্ঠা বাসি, এমেনুয়েল (৬ ফেব্রুয়ারি ২০১৯)। "প্রকল্পের নাম এখন জিটিকে"। mail.gnome.org। গ্নোম মেইলিং লিস্ট। সংগ্রহের তারিখ ২৪ মে ২০১৯।  জিটিকে+ টিম। "জিটিকে+ বৈশিষ্ট্য সমূহ"। ২৫ মে ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৪ মে ২০১৯।  "এক্স অ্যাপলিকেশন উন্নয়ন"।  "জিটিকে+ রেফারেন্স ম্যানুয়াল"। সংগ্রহের তারিখ ৪ জুন ২০১৯।  "ব্রোডওয়ের সাথে জিটিকে+ ব্যবহার করা"। গ্নোম ডেভেলপার। গ্নোম। সংগ্রহের তারিখ ১৬ জুন ২০১৯।  "ব্রোডওয়ে - গিটহাব symbiose/symbiose উইকি"। GitHub। সংগ্রহের তারিখ ৪ জুন ২০১৯।  "GTK+ to Use Cairo Vector Engine"। সংগ্রহের তারিখ ২০০৯-১২-২৭।  "Matthias Clasen DevConf.cz 2018 talk about GTK+ 4" (পিডিএফ)। ২৬ জানুয়ারি ২০১৮।  "Introducing GtkInspector"। ২০১৪-০৫-১৫।  "Another GtkInspector update"। ২০১৪-০৭-১১।  "Nothing-personal - A development site for Crow Designer, GuiLoader and Rally - Google Project Hosting"। সংগ্রহের তারিখ ১৬ জুন ২০১৯। [স্থায়ীভাবে অকার্যকর সংযোগ] The GTK+ Team। "GTK+ Language Bindings"। www.gtk.org। ২৫ মে ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৬ জুন ২০১৯।  ক্রাউজ, অ্যানড্রু (২৩ এপ্রিল ২০০৭), ফাউন্ডেশনস অব জিটিকে+ ডেভেলপমেন্ট (১ম সংস্করণ), আইএসবিএন 978-1-59059-793-4 উদ্ধৃতি টেমপ্লেট ইংরেজি প্যারামিটার ব্যবহার করেছে (link) রাইট, পিটার (১৫ মে ২০০০), বিগিনিং জিটিকে+ অ্যান্ড গনোম (১ম সংস্করণ), পিয়ার ইনফরমেশন, আইএসবিএন 978-1-86100-381-2 উদ্ধৃতি টেমপ্লেট ইংরেজি প্যারামিটার ব্যবহার করেছে (link) লোগান, সিড (৬ সেপ্টেম্বর ২০০১), জিটিকে+ প্রোগ্রামিং ইন সি (১ম সংস্করণ), আইএসবিএন 978-0-13-014264-1 উদ্ধৃতি টেমপ্লেট ইংরেজি প্যারামিটার ব্যবহার করেছে (link) উইকিমিডিয়া কমন্সে জিটিকে সংক্রান্ত মিডিয়া রয়েছে। উইকিবইয়ে X Window Programming বিষয়ের উপরে একটি পাতা রয়েছে: GTK+ দাপ্তরিক ওয়েবসাইট জিটিকে+ ৩ রেফারেন্স ম্যানুয়াল ক্লায়েন্ট-সাইড ডেকোরেশনস ইনিশিয়েটিভ জিটিকে + অ্যাপলিকেশনের তালিকা মোনো প্রকল্পে জিটিকেশার্প