মূল উদ্ভাবক | স্পেন্সর কিমবল, পিটার ম্যাটিস |
---|---|
উন্নয়নকারী | গ্নোম প্রকল্প, এক্সপেরিমেন্টাল কম্পিউটিং ফ্যাসিলিটি (এক্সসিএফ) |
প্রাথমিক সংস্করণ | ১৪ এপ্রিল ১৯৯৮ |
রিপজিটরি | |
যে ভাষায় লিখিত | সি, সিএসএস[১] |
অপারেটিং সিস্টেম | গ্নু/লিনাক্স, ইউনিক্স-সদৃশ, ম্যাকওএস, মাইক্রোসফট উইন্ডোজ |
ধরন | উইজেট টুলকিট |
লাইসেন্স | এলজিপিএল সংস্করণ ২.১+ |
ওয়েবসাইট | gtk |
জিটিকে (ইংরেজি: GTK, আগে জিটিকে+ নামে পরিচিত ছিলো[২], গিম্প টুলকিট) গ্রাফিক্যাল ইউজার ইন্টারফেস তৈরির জন্যে একটি ফ্রি ও ওপেন সোর্স ক্রস-প্ল্যাটফর্ম উইজেট টুলকিট [৩]। এটি গ্নু লেসার জেনারেল পাবলিক লাইসেন্সের অধীনে নিবন্ধিত, যার ফলে ফ্রি ও মালিকানাধীন দুধরনের সফটওয়্যারই এটি ব্যবহার করতে পারে। কিউটির সাথে এটি ওয়েল্যান্ড ও এক্স১১ উইন্ডো ব্যবস্থার সবচেয়ে জনপ্রিয় টুলকিটসমূহের একটি [৪]।
এখানে ডকুমেন্টেশন রয়েছে:
নিচের কোডটি সি ভাষায় হেলো ওয়ার্ল্ড প্রোগ্রামের একটি গ্রাফিক্যাল জিটিকে প্রোগ্রাম উপস্থাপন করে।
// 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 নামে নামান্তর করবে।
একসময় জিটিকে ব্যবহার করতো কিংবা এখন ব্যবহার করে এমন কিছু উল্লেখযোগ্য সফটওয়্যারের নাম হলো:
অনেকগুলো ডেস্কটপ পরিবেশই উইজেট টুলকিট হিশেবে জিটিকে ব্যবহার করে।