-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathextension.js
127 lines (110 loc) · 3 KB
/
extension.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
const Main = imports.ui.main;
const St = imports.gi.St;
const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const GLib = imports.gi.GLib;
let myPopup;
const MyPopup = GObject.registerClass(
class MyPopup extends PanelMenu.Button {
_init () {
super._init(0);
let icon = new St.Icon({
//icon_name : 'security-low-symbolic',
gicon : Gio.icon_new_for_string( Me.dir.get_path() + '/icon.svg' ),
style_class : 'system-status-icon',
});
this.add_child(icon);
//RED
let red = new PopupMenu.PopupMenuItem('Red');
this.menu.addMenuItem(red);
red.connect('activate', () => {
check("red");
});
//BLUE
let blue = new PopupMenu.PopupMenuItem('Blue');
this.menu.addMenuItem(blue);
blue.connect('activate', () => {
check("blue");
});
//GREEN
let green = new PopupMenu.PopupMenuItem('Green');
this.menu.addMenuItem(green);
green.connect('activate', () => {
check("green");
});
//yellow
let yellow = new PopupMenu.PopupMenuItem('Yellow');
this.menu.addMenuItem(yellow);
yellow.connect('activate', () => {
check("yellow");
});
//gold
let gold = new PopupMenu.PopupMenuItem('Gold');
this.menu.addMenuItem(gold);
gold.connect('activate', () => {
check("gold");
});
//cyan
let cyan = new PopupMenu.PopupMenuItem('Cyan');
this.menu.addMenuItem(cyan);
cyan.connect('activate', () => {
check("cyan");
});
//PURPLE
let magenta = new PopupMenu.PopupMenuItem('Purple');
this.menu.addMenuItem(magenta);
magenta.connect('activate', () => {
check("magenta");
});
//white
let white = new PopupMenu.PopupMenuItem('White');
this.menu.addMenuItem(white);
white.connect('activate', () => {
check("white");
});
//keyboard off
let black = new PopupMenu.PopupMenuItem('Rgb off');
this.menu.addMenuItem(black);
black.connect('activate', () => {
check("black");
});
// sub menu
let subItem = new PopupMenu.PopupSubMenuMenuItem('Brightness');
this.menu.addMenuItem(subItem);
let one=new PopupMenu.PopupMenuItem('1');
let two=new PopupMenu.PopupMenuItem('2');
let three=new PopupMenu.PopupMenuItem('3');
subItem.menu.addMenuItem(one, 0);
one.connect('activate', () => {
bright("1");
});
subItem.menu.addMenuItem(two, 1);
subItem.menu.addMenuItem(three, 2);
two.connect('activate', () => {
bright("2");
});
three.connect('activate', () => {
bright("3");
});
}
});
//------------------------------------------------------------------------------
//-----------------------------------------------------------------------------
function init() {
}
function enable() {
myPopup = new MyPopup();
Main.panel.addToStatusArea('myPopup', myPopup, 1);
}
function disable() {
myPopup.destroy();
}
function check(command){
GLib.spawn_command_line_sync("rogauracore "+command);
}
function bright(value){
GLib.spawn_command_line_sync("rogauracore brightness "+value);
}