-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample.js
139 lines (122 loc) · 3.77 KB
/
example.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
128
129
130
131
132
133
134
135
136
137
138
139
function getText(addr) {
var text = '';
var xhr= new XMLHttpRequest();
xhr.open('GET', addr, true);
xhr.onreadystatechange= function() {
if (this.readyState!==4) return;
if (this.status!==200) return;
text = this.responseText;
};
xhr.send();
return text;
}
log(getText('text.html'))
log("Welcome to EclipseOS!\n\n Made by Duckling");
// Example Command - echo
register_cmd("echo", function(cmd) {
var parameters = cmd.split(" ").slice(1);
message = '';
for (var i = 0; i < parameters.length; i++) {
message += parameters[i] + " ";
}
block_log(message)
});
//neofetch
register_cmd("neofetch", function(cmd) {
block_log("Model: Toaster");
block_log("OS: " + getUA());
block_log("Kernel: 6.9.4-20 Special Edition");
block_log("Uptime: 69 years");
block_log("Packages: 420691337");
block_log("Shell: terminix-6.9");
block_log("Resolution: 1920x1080");
block_log("DE: N/A");
block_log("WM: N/A");
block_log("Theme: " + getCurrentStyleSheet(false));
block_log("Terminal: Terminix");
block_log("CPU: Bruh Core I96");
block_log("GPU: Eclipse GeeForce RTG 3690 DirectY 69.00");
block_log("Memory: 58gb / 86pb");
});
register_cmd("wiki", async function(cmd) {
var parameters = cmd.split(" ").slice(1);
var query = '';
for (var i = 0; i < parameters.length; i++) {
query += parameters[i] + " ";
}
try {
const results = await performSearch(query);
if (results.query.searchinfo.totalhits === 0) {
block_log('No results found. Try different keywords');
}
block_log(wikipediaSearch(results));
} catch (err) {
block_log('Failed to search wikipedia');
}
});
// Example Command - Sum
register_cmd("sum", function(cmd) {
var parameters = cmd.split(" ").slice(1);
var sum = 0;
for (var i = 0; i < parameters.length; i++) {
sum += parseInt(parameters[i]);
}
block_log("Sum: " + sum);
});
register_cmd("settings", function(cmd) {
var parameters = smart_split(cmd, " ", false).slice(1);
console.log(parameters);
if (parameters.length === 0) {
block_log("Error: Unspecified Parameters");
return;
}
if (parameters[0].toString().toUpperCase() === "SET") {
if (parameters.length === 1) {
block_log("Error: Unspecified Parameters");
return;
}
if (parameters[1].toString().toUpperCase() === "TITLE"){
if (parameters.length === 2) {
block_log("Error: Unspecified Parameters");
return;
}
update_user_title(parameters[2]);
block_log("Success: Updated user title to "+ parameters[2]);
return;
}
} else if (parameters[0].toString().toUpperCase() == "GET"){
if (parameters.length === 1) {
block_log("Error: Unspecified Parameters");
return;
}
if (parameters[1].toString().toUpperCase() === "TITLE"){
block_log("Title: " + terminal_user_title);
return;
}
}
});
register_cmd("clear", function(cmd) {
clear_all_block();
});
register_cmd("")
const getUA = () => {
let device = "Unknown";
const ua = {
"Generic Linux": /Linux/i,
"Android": /Android/i,
"BlackBerry": /BlackBerry/i,
"Bluebird": /EF500/i,
"Chrome OS": /CrOS/i,
"Datalogic": /DL-AXIS/i,
"Honeywell": /CT50/i,
"iPad": /iPad/i,
"iPhone": /iPhone/i,
"iPod": /iPod/i,
"macOS": /Macintosh/i,
"Windows": /IEMobile|Windows/i,
"Zebra": /TC70|TC55/i,
}
Object.keys(ua).map(v => navigator.userAgent.match(ua[v]) && (device = v));
return device;
}
update_user_title(getUA());