জিটিকে

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

উদাহরণ 
এখানে ডকুমেন্টেশন রয়েছে:
 

নিচের কোডটি সি ভাষায় হেলো ওয়ার্ল্ড প্রোগ্রামের একটি গ্রাফিক্যাল জিটিকে প্রোগ্রাম উপস্থাপন করে।

// 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 ডিরেক্টরিতে পাওয়া যায়।

GTK Scene Graph Kit (GSK) 

জিএসকে হলো জিটিকের জন্যে র‍্যান্ডারিং ও সিন গ্রাফ এপিআই। গ্রাফিক্যাল কন্ট্রোল এলিমেন্ট(উইজেট) ও র‍্যান্ডারিঙের মাঝে জিএসকের অবস্থান। জিটিকে+ ৩.৯০ সংস্করণে মার্চ ২০১৭-তে জিএসকে অন্তর্ভুক্ত হয়।

জিএসকে /gsk-তে পাওয়া যায়।

জিটিকেইন্সপেক্টর 
সংস্করণ ৩.১৪ এ জিটিকেইন্সপেক্টরের অভিষেক হয়।

গুই ডিজাইনারসমূহ 
জিটিকের জন্য বিভিন্ন গুই ডিজাইনার রয়েছে। জুলাই ২০১১ অনুযায়ী নিচের প্রকল্পগুলো সক্রিয় রয়েছে:

 গ্লেইড, জিটিকেবিল্ডার সমর্থন করে।
 গাজপাচো, পাইথনে লেখা জিটিকে টুলকিটের জন্যে গুই বিল্ডার।
 ক্রো ডিজাইনার, এর নিজস্ব গুইএক্সএমএল ফরম্যাট ও গুইলোডার লাইব্রেরির উপর নির্ভর করে। 
 স্টেটিক, মোনোডেভেলপের অংশ।

জিটিকে বিল্ডার 
কোন কোড লেখা ছাড়া জিটিকেবিল্ডার দিয়ে ব্যবহারকারী ইন্টারফেস ডিজাইন করা যায়। ইন্টারফেস এক্সএমএল ফাইলে বর্ণিত থাকে, যেটি রানটাইমে লোড হয় এবং অবজেক্ট স্বয়ংক্রিয়ভাবে তৈরি হয়। গ্লেইড ইন্টারফেস ডিজাইনার "what you see is what you get" ধরনে ব্যবহারকারী ইন্টারফেস তৈরিতে সাহায্য করে। আর এ ডেস্ক্রিপশন কোন ধরনের প্রোগ্রামিং ভাষা ব্যবহার হচ্ছে তার থেকে স্বকীয়।

ল্যাঙ্গুয়েজ বাইন্ডিংসমূহ 
যদি ল্যাঙ্গুয়েজ বাইন্ডিং লেখা হয়, তাহলে এক ভাষায় লেখা লাইব্রেরি অন্য ভাষায় ব্যবহার করা যায়। জিটিকেতে বিভিন্ন ভাষার জন্যে অনেকগুলো বাইন্ডিং রয়েছে।

জিটিকেসোর্সভিউ 
সিনট্যাক্স হাইলাইট করার জন্যে আছে জিটিকেসোর্স ভিউ, "সোর্স কোড সম্পাদনার উইজেট"।

জিটিকেসোর্সভিউ জিটিকে থেকে আলাদা ভাবে একটা লাইব্রেরি হিশেবে নিয়ন্ত্রণ করা হয়: gtksourceview। এটাকে হয়তো পরে gsv নামে নামান্তর করবে।

ব্যবহার

অ্যাপলিকেশনসমূহ 
একসময় জিটিকে ব্যবহার করতো কিংবা এখন ব্যবহার করে এমন কিছু উল্লেখযোগ্য সফটওয়্যারের নাম হলো:
 গ্নোম কোর অ্যাপলিকেশনসমূহ - গ্নোম ডেস্কটপ পরিবেশের অংশ হিশেবে জিটিকের সাথে কনসার্টে ডেভেলপকৃত।

 অ্যাবিওয়ার্ড - ওয়ার্ড প্রসেসর
 আনজুতা - ইন্টেগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট
 ক্রোমিয়াম - ওয়েব ব্রাউজার (৩৫+ সংস্করণে অরা দ্বারা প্রতিস্থাপিত হয়েছে)
 একিজা (পূর্বের গ্নোম মিটিং) - ভয়েস ওভার আইপি এবং ভিডিও কনফারেন্সিং অ্যাপলিকেশন
 গ্নু ইম্যাকস - যখন এক্সে চলে তখন জিটিকে ব্যবহার করতে পারে
 ইভোল্যুশন - ব্যক্তিগত তথ্য ব্যবস্থাপক
 জিকনফিগ - লিনাক্স কার্নেল সোর্স কনফিগারেশন ইউটিলিটি
 জিনি - একটি হালকা ক্রস-প্ল্যাটফর্ম আইডিই ও জিটিকে লেখা সম্পাদক ভিত্তিক স্কিনটিলা
 গিম্প - র‍্যাস্টার গ্রাফিকস সম্পাদক
 গ্নুমেরিক - স্প্রেডশিট অ্যাপলিকেশন
 গ্রামপস - জিনিলোজি সফটওয়্যার
 ইংকস্পেস - এসভিজির জন্যে ভেক্টর গ্রাফিকস সম্পাদক
 পিজিন - ইন্সট্যান্ট ম্যাসেঞ্জার অ্যাপলিকেশন

ডেস্কটপ পরিবেশ 
অনেকগুলো ডেস্কটপ পরিবেশই উইজেট টুলকিট হিশেবে জিটিকে ব্যবহার করে।

সক্রিয় 

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

তথ্যসূত্র

গ্রন্থপঞ্জি

বহিঃসংযোগ 

 
 
 ক্লায়েন্ট-সাইড ডেকোরেশনস ইনিশিয়েটিভ
 জিটিকে + অ্যাপলিকেশনের তালিকা
 মোনো প্রকল্পে জিটিকেশার্প

 
সি লাইব্রেরি
ক্রস-প্ল্যাটফর্ম সফটওয়্যার
গনোম
উইজেট টুলকিট
ফ্রি কম্পিউটার লাইব্রেরিসমূহ
মুক্ত কম্পিউটার গ্রন্থাগার