මිනි නිබන්ධනය: කුරුඳු සඳහා ඇපල් සෑදීම

අපි සරල ඇප්ලට් එකක් නිර්මාණය කරන්නයි යන්නේ කුරුඳු. ආරම්භ කිරීමට නම් අපි එය දැන සිටිය යුතුය කුරුඳු විවිධ වර්ගයේ ඇප්ලෙට් ඉදිරිපත් කරයි:

  • පෙළ යෙදුම (පුවරුවේ ලේබලයක් පෙන්වයි)
  • අයිකන් ඇප්ලට් (පුවරුවේ අයිකනයක් පෙන්වයි)
  • පෙළ අයිකන් ඇප්ලට් (පුවරුවේ අයිකනයක් සහ ලේබලයක් යන දෙකම දක්වයි)
  • ඇප්ලෙට් (ඔබට පුරවා ගත හැකි හිස් පෙට්ටියක් පෙන්වන දෘ c ාංග සංවර්ධකයින් සඳහා)

මෙම නිබන්ධනයේදී, අපට අවශ්‍ය වන්නේ පැනලයේ අයිකනයක් ප්‍රදර්ශනය කිරීමටය, එබැවින් අපි "අයිකන ඇප්ලෙට්" භාවිතා කරමු. අපගේ ඇප්ලෙට් ක්‍රමලේඛනය කිරීම සඳහා කුරුඳු හෝ ග්නෝම් අපි ජාවාස්ක්‍රිප්ට් හි සමහර වැඩසටහන් දැනගෙන දැන සිටිය යුතුයි

අපගේ කේතයේ පිහිටීම.

පළමුව, අපගේ ගොනුවේ පිහිටීම දෙස බලමු. අපගේ යෙදුමේ පිහිටීම පහත ලිපිනයන්හි දක්වා ඇත:

/.local/share/cinnamon/applets හෝ ඉන් /usr/share/cinnamon/applets

කුරුඳු_අප්ලෙට්

අපගේ ඇප්ලෙට් සෑදෙන ගොනු.

කුරුඳු_අප්ලෙට් 2

අපි applet.js නිර්වචනය කිරීමට ඉදිරියට යමු

කේතය

applet.js

 

දැන් අපි කේතය බැලීමට ඉදිරියට යමු applet.js එහි එක් එක් වාක්‍ය පැහැදිලි කරන්න:

applet.js කේත ආරම්භය

ඇප්ලට් කේතය

javascript කේතය

අපගේ පෙර කේතයේ සෑම වාක්‍යයක්ම බලමු

const Lang = imports.lang; / * අපි Gtk සහ Lang පුස්තකාලයන් ඉල්ලා සිටිමු, ඒවා ඕනෑම GNOME යෙදුමක මූලික අංගයක් වන අතර, ඒවා අපට කවුළු, විජට් සෑදීමට සහ ඒවා සම්බන්ධ කිරීමට ඉඩ දෙයි. * / Const Applet = imports.ui.applet; / * අපි කුරුඳු සහ ග්නෝම් සඳහා ඇප්ලට් එකක් නිර්මාණය කිරීමට ඉඩ දෙන ඇප්ලෙට් පුස්තකාලයට ආයාචනා කරන අතර ඒ සමඟම එහි ගුණාංග සහ ක්‍රියාකාරකම් අපට ලබා දේ. * / කොන්ස්ට් ජීලිබ් = imports.gi.GLib; / * GLib යනු උපකාරක පුස්තකාලයකි, එය අපට GNOME හි දේවල් කිරීමට ඉඩ දෙයි, උදාහරණයක් ලෙස hellognome.html ගොනුව කොහේදැයි කියන්න, එය සං als ා භාරව සිටින පුස්තකාලයයි. * / Const Gettext = imports.gettext.domain ('කුරුඳු -applets '); const _ = Gettext.gettext; // කුරුඳු ඩෙස්ක්ටොප් එකේ ලක්ෂණ ආනයනය කිරීමට අපට ඉඩ සලසන Gettext පුස්තකාලය. const PopupMenu = imports.ui.popupMenu; / * පොප්අප් මෙනූ යනු මෙනු කළමණාකරු භාවිතා කිරීමට ඇති පුස්තකාලයකි, එය සාමාන්‍යයෙන් ඇප්ලෙට් වල භාවිතා වන උත්පතන-මෙනු විජට් කැඳවීමට අපට ඉඩ දෙයි. * / ක්‍රියාකාරී MyApplet (දිශානතිය) {this._init (දිශානතිය); }

අපගේ ඇප්ලෙට් හි ඉදිකිරීම්කරු පහත අර්ථ දක්වා ඇත, අපගේ පංතිය හෝ පන්තිය දෙස බලමු:

gjs පන්තිය

එක් එක් වාක්‍යයේ අර්ථ දැක්වීම සමඟ අපි ඉදිරියට යමු

MyApplet.prototype = {__proto__: Applet.IconApplet.prototype, // අපි අපගේ පන්තිය හෝ පන්තිය අර්ථ දක්වමු _init: function (දිශානතිය) {Applet.IconApplet.prototype._init.call (මෙය, දිශානතිය); / * අපි කුරුඳු හරහා දිශානතිය සකස් කරමු. ඇප්ලෙට් පැනලය ඉහළින් හෝ පහළින් තිබේද යන්න අපි සකසා ඇත්තෙමු (මෙය ඇප්ලෙට් මෙනු වල දිශානතියට බලපෑමක් ඇති කරයි). * / උත්සාහ කරන්න {// යමක් කරන්න} අල්ලන්න (ඉ) {// දෝෂයක් සිදුවුවහොත් කුමක් සිදුවේද? App / * අපගේ ඇප්ලෙට් හි ඇතිවිය හැකි දෝෂ හඳුනා ගැනීමට සහ ඒවා ගෝලීය දෝෂ ලොගයට ලියා ඇති බවට තහවුරු කර ගැනීමට අපි උත්සාහයක් / ඇල්ලීමක් භාවිතා කරමු. මේ ආකාරයෙන්, යමක් වැරදුනහොත්, ඔබට පෙනීමේ වීදුරුවෙහි දෝෂය දැකිය හැකිය: Alt F2 ඔබන්න, "lg" ටයිප් කර "දෝෂ" ටැබය මත ක්ලික් කරන්න. * / This.menuManager = නව PopupMenu.PopupMenuManager (මෙය); // උත්පතන මෙනුව සාදා මෙනු කළමණාකරු සකසන්න this.menu = නව Applet.AppletPopupMenu (මෙය, දිශානතිය); // අපි මෙනුවක් නිර්මාණය කරමු. this.menuManager.addMenu (this.menu); // අපි මෙනුව උත්පතන මෙනුවට එකතු කරමු. this.makeMenu (); // menuitem makeMenu, අපි makeMenu නමින් මෙනුවක් නිර්මාණය කරමු. this.buildContextMenu (); // buildContextMenu, අපි buildContextMenu නමින් මෙනුවක් නිර්මාණය කරමු. this.set_applet_icon_name ("ෆෝල්ඩරය"); / * අපි ඇප්ලෙට් එක සාදන්නෙමු, මෙම නඩුව අද්විතීයයි, තෝරාගත් නිරූපකය ෆෝල්ඩරය හෝ ෆෝල්ඩරය වේ, අපට අවශ්‍ය නම් පෙළ ඇප්ලෙට් එකක් ද ස්ථාපිත කළ හැකිය. * /

උදාහරණයක් ලෙස "ෆෝල්ඩරයේ" නම "ටර්මිනලය" ලෙසත්, නව නම් පිහිටුවීම සඳහා "ඩොකි" ලෙසත් වෙනස් කරන්න. Gnome හෝ කුරුඳු අයිකන වල නම හෝ වෙනත් අයිකන තේමාවක් බලන්න, ලිපිනය වෙත යන්න.

/usr/share/icons

Z7qwRdp

 

this.set_applet_tooltip (_ ("කවුළුවක් මරා දැමීමට මෙහි ක්ලික් කරන්න")); // අපගේ ඇප්ලෙට් හි ඇතිවිය හැකි දෝෂ හඳුනා ගැනීමට අල්ලා ගන්න. catch (e) {global.logError (e); } makeMenu: function () {this.menu.addMenuItem (නව PopupMenu.PopupMenuItem ("පරීක්ෂණ පණිවිඩය", {ප්‍රතික්‍රියාශීලී: සත්‍ය})); }, / * අපි makeMenu menuitem හි නම සහ එහි ලක්ෂණ අර්ථ දක්වන්නෙමු. මෙම අවස්ථාවෙහිදී ලේබලය පරීක්ෂණ පණිවිඩය වේ. අපි {ප්‍රතික්‍රියාශීලී: සත්‍යය යන්න අර්ථ දක්වන්නෙමු. මෙනුටෙම් එක හරහා සත්‍යය හරහා දර්ශකය පසුකර යන විට මෙනුවෙහි පසුබිම වෙනස් වන බව අපි තහවුරු කරමු. එය අසත්‍ය නම් ප්‍රතිවිරුද්ධ දේ සිදු වේ. * / BuildContextMenu: function () {this.menu .addMenuItem (නව PopupMenu.PopupMenuItem ("පෙන්වන්න", {ප්‍රතික්‍රියාශීලී: සත්‍ය}));}, // අපි MakeMenu මෙනුවෙහි නම සහ එහි ලක්ෂණ නිර්වචනය කරමු. මෙම අවස්ථාවේදී ලේබලය "පෙන්වන්න ". on_applet_clicked: function (event) {this.menu.toggle ();} // පොප්අප්-මෙනු ශ්‍රිතය ප්‍රධාන (පාර-දත්ත, දිශානතිය) ලෙස හැඳින්වීමට ඇප්ලට් මඟින් විමෝචනය කරන සං Sign ාව my myApplet = නව MyApplet (දිශානතිය); මගේ යෙදුම්; myApplet;

අපි metadata.json යන්න අර්ථ දැක්වීමට ඉදිරියට යමු

LP0ol8b

 

තිර රුව - 140314 - 21:11:34

"අවසන් වරට සංස්කරණය කරන ලදි": "1331990905", // අවසන් සංස්කරණය. "description": "පුද්ගලිකව නිර්වචනය කරන ලද gtk මෙනුවක් පෙන්වීමට ඇප්ලෙට් එක මත ක්ලික් කරන්න", // ඇප්ලෙට් විස්තරය. "නිරූපකය": "docky", // ඇප්ලෙට් විස්තරය සඳහා භාවිතා කරන අයිකන. උදාහරණයක් ලෙස "ඩොකි" යන නම "ටර්මිනල්", "ෆෝල්ඩරය" ලෙස වෙනස් කරන්න. "uuid": "black" // අපගේ metadata.json ගොනුව ඇතුළත් කර ඇති ෆෝල්ඩරය "name": "Custom gtk menu" // Applet name.

Nota: නව නම් සැකසීමට ග්නෝම් හෝ කුරුඳු අයිකන වල නම හෝ වෙනත් අයිකන තේමාවක් බලන්න, ගොනු පද්ධති ලිපිනය වෙත යන්න.

/usr/share/icons

ඇප්ලෙට් හි රූපය නිර්මාණය කරන ලදි

  lKxpdkS

Qt, Gtk, Vala සහ කුරුඳු හෝ Gnome සඳහා ඇප්ලට් එකක් සෑදීමට භාවිතා කරන වෙනත් භාෂා

කුරුඳු සඳහා අපගේ ඇප්ලෙට් එකේ පිහිටීම බලමු

අපගේ ඇප්ලෙට්හි පිහිටීම පහත ලිපිනයන්හි දක්වා ඇත:

/.local/share/cinnamon/applets

හෝ ඉන්

/usr/share/cinnamon/applets

NERD

අපගේ ඇප්ලෙට් සංයුතිය

බීටා

 

අපි applet.js නිර්වචනය කිරීමට ඉදිරියට යමු 

කේතය

applet.js

Applet.js කේතය ආරම්භ කිරීම

තිර රුව - 140314 - 21:30:48

Applet.js හි අවසානය

දැන් අපි applet.js කේතය දෙස බලා එහි ප්‍රකාශ පැහැදිලි කරමු.

ලියා ඇති කේතය ප්‍රායෝගිකව ජාවාස්ක්‍රිප්ට් සමඟ ලියා ඇති පෙර උදාහරණයට සමාන වේ.
සං signal ාව පමණක් වෙනස් කර ඇති අතර, එය අපගේ ස්වයංක්‍රීයව ක්‍රියාත්මක කළ හැකි යැයි කියනු ඇත.

on_applet_clicked: ශ්‍රිතය (සිද්ධිය) {GLib.spawn_command_line_async (GLib.get_home_dir () + '/.local/share/cinnamon/applets/Qt4/Qtmenu/Menu'); }

අපගේ ස්වයංක්‍රීයව ක්‍රියාත්මක කළ හැකි දේ Qt, Gtk, Gtkmm, wxWidget, Vala ආදිය සමඟ ලිවිය හැකිය. ස්වයං ක්‍රියාත්මක කළ හැකි භාෂා නිර්මාණය කළ හැකි භාෂා. අපගේ ස්වයංක්‍රීයව ක්‍රියාත්මක කළ හැකි මෙනුව ලෙස හැඳින්වෙන අතර එය Qtmenu ෆෝල්ඩරයේ ඇත.

බීටා

Gtk සඳහා බන්ධන ඇති වෙනත් ක්‍රමලේඛන භාෂාවන් ද අපට භාවිතා කළ හැකිය. PyGTK, Ruby Gtk, Perl Gtk, ආදිය. එම භාෂාවලින් ලියා ඇති කේතය ක්‍රියාත්මක කිරීමට ස්ක්‍රිප්ට් භාවිතයෙන් භාවිතා කළ හැකිය. අපගේ අවශ්‍යතා අනුව වැඩසටහන් ඇමතීම, උත්පතන මෙනුව සහ උත්පතන කවුළුව නිර්මාණය කිරීම මූලධර්මය සැමවිටම සමාන වේ.

Qt සමඟ ලියා ඇති අපගේ ස්වයංක්‍රීයව ක්‍රියාත්මක කළ හැකි කේතය බලමු

qt

අපි metadata.json යන්න අර්ථ දැක්වීමට ඉදිරියට යමු

LP0ol8b

මොන්ගෝ

කේතය ලියා ඇත්තේ පෙර උදාහරණයට සමානය

Qt සමඟ නිර්මාණය කරන ලද ඇප්ලට් රූපය

කුමන

 

Gtk 3.10 සමඟ සාදන ලද ඇප්ලෙට් හි රූපය

Gtk හි ලිවිය හැකි ක්‍රියාත්මක කළ හැකි යෙදුමක් භාවිතා කරන කුඩා උදාහරණයක් මෙන්න, මේ අවස්ථාවේ දී අපි OpenBox හි භාවිතා කරන myGtkMenu මෙනුව ගනිමු.

එය ස්වයං ක්‍රියාත්මක කිරීමේ මෙනුවකි.

මෙග්ට්ක්

නිබන්ධනය සහ උදාහරණ බාගන්න


ලිපියේ අන්තර්ගතය අපගේ මූලධර්මවලට අනුකූල වේ කතුවැකි ආචාර ධර්ම. දෝෂයක් වාර්තා කිරීමට ක්ලික් කරන්න මෙන්න.

අදහස් 12 ක්, ඔබේ අදහස් තබන්න

ඔබේ අදහස තබන්න

ඔබේ ඊ-මේල් ලිපිනය පළ කරනු නොලැබේ. අවශ්ය ක්ෂේත්ර දක්වා ඇති ලකුණ *

*

*

  1. දත්ත සඳහා වගකිව යුතු: මිගෙල් ඇන්ජල් ගැටන්
  2. දත්තවල අරමුණ: SPAM පාලනය කිරීම, අදහස් කළමනාකරණය.
  3. නීත්‍යානුකූලභාවය: ඔබේ කැමැත්ත
  4. දත්ත සන්නිවේදනය: නෛතික බැඳීමකින් හැර දත්ත තෙවන පාර්ශවයකට සන්නිවේදනය නොකෙරේ.
  5. දත්ත ගබඩා කිරීම: ඔක්සෙන්ටස් නෙට්වර්ක්ස් (EU) විසින් සත්කාරකත්වය දක්වන දත්ත සමුදාය
  6. අයිතිවාසිකම්: ඕනෑම වේලාවක ඔබට ඔබේ තොරතුරු සීමා කිරීමට, නැවත ලබා ගැනීමට සහ මකා දැමීමට හැකිය.

  1.   අයෝරියා ප්රකාශ කළේය

    සිත්ගන්නා ලිපිය ...

    1.    මැරියනෝගුඩික්ස් ප්රකාශ කළේය

      ඔබට ස්තුතියි . මගේ කියන්නේ අපි හැමදාම ටිකක් ඉගෙන ගන්නවා.

  2.   ඩැනී ප්රකාශ කළේය

    ඉතා හොඳයි, මම එයට කැමතියි, මට නිතරම අවශ්‍ය වූයේ මේ ආකාරයේ ඇප්ලෙට් සෑදූ ආකාරය දැන ගැනීමටයි

  3.   ඒන්ජල් අරයා ප්රකාශ කළේය

    කුඩා නිවැරදි කිරීමක්. ලිපියේ සඳහන් වන පරිදි Gettext කුරුඳු සඳහා විශේෂිත දෙයක් නොවේ, එය ස්වයංක්‍රීය පරිවර්තන සිදු කළ හැකි සහ සැකිලි වලින් ලබා දෙන පුස්තකාලයකි.

  4.   msx ප්රකාශ කළේය

    ඉතා හොඳ නිබන්ධනයක් සහ ඒ සියල්ලම නමුත් ඔබ එය නොතැබූ වැදගත් දෙය: බිතුපතට සබැඳිය?

    1.    මැරියනෝගුඩික්ස් ප්රකාශ කළේය

      ලිනක්ස් මින්ට් 16 පෙට්රා බිතුපත් බාගන්න.
      පැකේජය මින්ට්-පසුබිම්-පෙට්රා ලෙස හැඳින්වේ: http://packages.linuxmint.com/list.php?release=Petra

  5.   ටෙස්ලා ප්රකාශ කළේය

    ඉතා රසවත් ලිපියක්. සත්යය නම් මෙම ඇප්ලෙට් නිර්මාණය කරන්නේ කෙසේදැයි මම නිතරම කල්පනා කර තිබීමයි. සමහර විට එම්පීඩී හෝ ඊට සමාන දෙයක් සඳහා කුඩා ක්‍රීඩක ඇප්ලට් එකක් සෑදීමට මා දිරිමත් කරනු ඇත.

    බෙදා ගැනීමට ස්තූතියි!

  6.   Matias ප්රකාශ කළේය

    විශිෂ්ටයි, කුරුඳුගේ එන්එම්-ඇප්ලෙට් (ජාල කළමණාකරු) වෙනස් කරන්නේ කෙසේදැයි මම හදුනාගෙන සිටිමි, එවිට මට අන්තර්ජාල ප්‍රවේශයක් නොමැති විට එය වර්ණය වෙනස් කරයි, (මට වයි-ෆයි කාඩ්පතක් තිබේ), මෙය මට දිශානතියට උපකාරී වේ ටිකක්.

  7.   මැටියස්බැටෙරෝ 17 ප්රකාශ කළේය

    හොඳයි, මේරියන්, මම දැනගෙන හිටියේ නැහැ ඔයා මෙතන පළ කරනවා කියලා. සුභ පැතුම්.

    1.    මැරියනෝගුඩික්ස් ප්රකාශ කළේය

      ඔබ ඇවිදින විට, මතූට්… .. මම සෑම විටම මෙම කොටස් වටා ඇවිදින්නෙමි. චියර්ස්

  8.   ලොල්බිම්බෝ ප්රකාශ කළේය

    හොඳ ලිපියක්.

  9.   හොනොවන් ප්රකාශ කළේය

    ප්‍රකාශන අයිතිය උල්ලං for නය කිරීම සඳහා ගොනුව අක්‍රිය කර ඇත.

    මා අදහස් කළේ ඔබ සතුව එය තිබේ නම් ඔබට එය නැවත උඩුගත කළ හැකිද ???. කරුණාකර.

    ඔබට ස්තුතියි.