Quantcast
Channel: Thai Open Source
Viewing all articles
Browse latest Browse all 176

มาเขียน Gnome Shell Extension ง่ายๆ กัน

$
0
0

ปัญหามีอยู่ว่าโปรแกรมที่เขียนบน Gnome 2 ที่ใช้การฝัง icon ในส่วน Notification Panel มันดันไม่แสดงผลบน Panel ข้างบนของ Gnome 3 เพราะของที่เคยอยู่ใน Notification Area มันไปฝังอยู่ด้านล่างขวาของจอภาพ จริงๆ ก็ไม่ใช้ความผิดของ Gnome 3 นะ -_-" แต่เราสามารถปรับแต่ง Gnome 3 ให้ถูกใจเราได้ โดยการเขียน Extension นั่นเอง สำหรับบทความนี้จะมาแนะนำการเขียน Gnome Extesion ในการแก้ปัญหานี้กันครับ :) ดูภาพประกอบครับ

แก้ไขแล้ว

ส่วนประกอบของ Gnome Extension ก็ง่ายมากครับมีอยู่ 3 ไฟล์

  • extension.js - เป็น script ที่เราจะเขียนกันครับ
  • metadata.json - เป็นข้อมูล metadata ของ extension เช่น จะใช้กับ gnome-shell รุ่นใดได้บ้าง extension นี้ชื่ออะไร เป็นต้น
  • stylesheet.css - กำหนดหน้าตา extenstion เป็น css นี่แหละครับ

มาลงมือกันเลย สร้าง dir ชื่อ gofris-hide-icon@redlinesoft.net เพื่อเป็นที่เก็บ extension จะตั้งชื่อเป็น ชื่อเรียก@โดเมนเนม ดังนี้

sudo mkdir /usr/share/gnome-shell/extensions/gofris-icon-hide@redlinesoft.net

จากนั้น ก็สร้างไฟล์ metadata.json ดังนี้

{
"shell-version": ["3.0.2","3.2", "3.2.1"],
"uuid": "gofris-icon-hide@redlinesoft.net",
"name": "Gofris Status Icon",
"description": "Integrates Gofris into System Status Icon"
}

แล้วก็มาเขียน extension.js กันดังนี้

const StatusIconDispatcher = imports.ui.statusIconDispatcher;

function enable() {
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['gofris-en'] = 'gofris-en';
}

function disable() {
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['gofris-en'] = '';
}

function init() {
}

จากนั้น chmod ให้ extension นี้สามารถทำงานได้

sudo chmod 755 -R /usr/share/gnome-shell/extensions/gofris-icon-hide@redlinesoft.net

เปิด gnome-tweak-tool ขึ้นมาแล้วกดเปิดการทำงานของ extension นี้

อ้ออย่าลืม restart gnome shell สักรอบครับ กด alt+f2 พิมพ์ r เท่านี้ก็ใช้งานได้แล้ว :) ข้อมูลเพิ่มเติมเกี่ยวกับการเขียน gnome-extension ลองดูได้ที่ลิงค์ข้างล่างครับ


Viewing all articles
Browse latest Browse all 176

Trending Articles