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

জিটিকে
জিটিকে৩-উইজেট-ফ্যাক্টরি জিটিকে তৃতীয় সংস্করণের উদাহরণসমূহের সংগ্রহ
জিটিকে৩-উইজেট-ফ্যাক্টরি জিটিকে তৃতীয় সংস্করণের উদাহরণসমূহের সংগ্রহ
মূল উদ্ভাবকস্পেন্সর কিমবল, পিটার ম্যাটিস
উন্নয়নকারীগ্নোম প্রকল্প, এক্সপেরিমেন্টাল কম্পিউটিং ফ্যাসিলিটি (এক্সসিএফ)
প্রাথমিক সংস্করণ১৪ এপ্রিল ১৯৯৮; ২৫ বছর আগে (1998-04-14)
রিপজিটরি উইকিউপাত্তে এটি সম্পাদনা করুন
যে ভাষায় লিখিতসি, সিএসএস[১]
অপারেটিং সিস্টেমগ্নু/লিনাক্স, ইউনিক্স-সদৃশ, ম্যাকওএস, মাইক্রোসফট উইন্ডোজ
ধরনউইজেট টুলকিট
লাইসেন্সএলজিপিএল সংস্করণ ২.১+
ওয়েবসাইটgtk.org

উদাহরণ সম্পাদনা

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

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

// 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 নামে নামান্তর করবে।

ব্যবহার সম্পাদনা

অ্যাপলিকেশনসমূহ সম্পাদনা

একসময় জিটিকে ব্যবহার করতো কিংবা এখন ব্যবহার করে এমন কিছু উল্লেখযোগ্য সফটওয়্যারের নাম হলো:

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

ডেস্কটপ পরিবেশ সম্পাদনা

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

সক্রিয় সম্পাদনা

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

তথ্যসূত্র সম্পাদনা

  1. ওপেন হাবে জিটিকে+ উন্মুক্ত সোর্স প্রকল্প- ভাষার পৃষ্ঠা
  2. বাসি, এমেনুয়েল (৬ ফেব্রুয়ারি ২০১৯)। "প্রকল্পের নাম এখন জিটিকে"mail.gnome.orgগ্নোম মেইলিং লিস্ট। সংগ্রহের তারিখ ২৪ মে ২০১৯ 
  3. জিটিকে+ টিম। "জিটিকে+ বৈশিষ্ট্য সমূহ"। ২৫ মে ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৪ মে ২০১৯ 
  4. "এক্স অ্যাপলিকেশন উন্নয়ন" 
  5. "জিটিকে+ রেফারেন্স ম্যানুয়াল"। সংগ্রহের তারিখ ৪ জুন ২০১৯ 
  6. "ব্রোডওয়ের সাথে জিটিকে+ ব্যবহার করা"গ্নোম ডেভেলপার। গ্নোম। সংগ্রহের তারিখ ১৬ জুন ২০১৯ 
  7. "ব্রোডওয়ে - গিটহাব symbiose/symbiose উইকি"GitHub। সংগ্রহের তারিখ ৪ জুন ২০১৯ 
  8. "GTK+ to Use Cairo Vector Engine"। সংগ্রহের তারিখ ২০০৯-১২-২৭ 
  9. "Matthias Clasen DevConf.cz 2018 talk about GTK+ 4" (পিডিএফ)। ২৬ জানুয়ারি ২০১৮। 
  10. "Introducing GtkInspector"। ২০১৪-০৫-১৫। 
  11. "Another GtkInspector update"। ২০১৪-০৭-১১। 
  12. "Nothing-personal - A development site for Crow Designer, GuiLoader and Rally - Google Project Hosting"। সংগ্রহের তারিখ ১৬ জুন ২০১৯ [স্থায়ীভাবে অকার্যকর সংযোগ]
  13. The GTK+ Team। "GTK+ Language Bindings"www.gtk.org। ২৫ মে ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৬ জুন ২০১৯ 

গ্রন্থপঞ্জি সম্পাদনা

বহিঃসংযোগ সম্পাদনা