mirror of
https://github.com/fofolee/uTools-ProcessKiller.git
synced 2025-07-27 17:49:39 +08:00
Compare commits
No commits in common. "master" and "0.0.5" have entirely different histories.
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
Thumbs.db
|
|
||||||
[Dd]esktop.ini
|
|
Binary file not shown.
210
assets/index.js
Normal file
210
assets/index.js
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
checkUpdate = () => {
|
||||||
|
let cv = 'v0.0.5',
|
||||||
|
pg = 'https://yuanliao.info/d/296';
|
||||||
|
if (!utools.db.get(cv)) {
|
||||||
|
$.get(pg, data => {
|
||||||
|
data = /<title>\[插件\]\[关闭进程 ProcessKiller (.*?)\](.*?) - 猿料<\/title>/.exec(data);
|
||||||
|
let lv = data[1],
|
||||||
|
desc = data[2];
|
||||||
|
if (lv != cv) {
|
||||||
|
options = {
|
||||||
|
type: 'info',
|
||||||
|
title: '插件有可用更新',
|
||||||
|
icon: window.getLogo(),
|
||||||
|
cancelId: 1,
|
||||||
|
message: `发现新版本 ${lv},是否前往更新?\n更新内容:\n${desc}`,
|
||||||
|
buttons: ['起驾', '朕知道了', '别再烦朕']
|
||||||
|
};
|
||||||
|
window.messageBox(options, index => {
|
||||||
|
if (index == 0) {
|
||||||
|
window.open(pg)
|
||||||
|
} else if (index == 2) {
|
||||||
|
utools.db.put({ _id: cv, data: "pass" })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
saveIcon = async tasks => {
|
||||||
|
if (window.isWin) {
|
||||||
|
window.getIco.emitter.on('icon', function (data) {
|
||||||
|
localStorage[data.Context] = data.Base64ImageData;
|
||||||
|
});
|
||||||
|
for (var t of tasks) {
|
||||||
|
if (localStorage[t.ProcessName] == undefined) window.getIco.getIcon(t.ProcessName, t.Path);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (var t of tasks) {
|
||||||
|
if (localStorage[t.nam] == undefined) {
|
||||||
|
if (t.ico) {
|
||||||
|
const buffer = await window.getIco.buffer(t.ico, {
|
||||||
|
size: 32
|
||||||
|
});
|
||||||
|
localStorage[t.nam] = buffer.toString('base64');
|
||||||
|
} else {
|
||||||
|
localStorage[t.nam] = 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAFNWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHRpZmY6T3JpZW50YXRpb249IjEiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA0LTI0VDEwOjAwOjE1KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNC0yNFQxMDowMToyMyswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wNC0yNFQxMDowMToyMyswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5MGQzMmU1Yi02OWY4LTRhOWYtYWUxNS0wMWEwZWY2Mzc2YTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTBkMzJlNWItNjlmOC00YTlmLWFlMTUtMDFhMGVmNjM3NmE0IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTBkMzJlNWItNjlmOC00YTlmLWFlMTUtMDFhMGVmNjM3NmE0Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTBkMzJlNWItNjlmOC00YTlmLWFlMTUtMDFhMGVmNjM3NmE0IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTI0VDEwOjAxOjIzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vwRiLQAAAuRJREFUWIXtlz1vHFUUhp9z52Mn67UTs7YcCSnio0AhFHSIgnSIIoqEokiIOgVtfkF+QmoqSxRUiI4SiShBCKVPhQSyowg7C14p9to7d+aeQ7E7s7vxWMGwa1PwSqMZzcc9z5zznntnxMw4T7lzjf5fAIirgwvtNh98dP1Dn+fZoqoiAq0sy39++PCno8PBLMCNW7e/jES+6O3uIK4pMTLe29Txy3r5WvUmAhhmRre7xo1btzeBOzMA+XD48XfffsNyZwkZPzBfADCM/YMBn372+SfVHTVAWfi91dVLb62trZNmKb43xHLFrcRQGtJymFfCfkm83iLseSR1xN0UC6+umXMO7z1R7zlF4feOAaiaYYaaUvRz0qsdktczit+HUBhhvyTKHEvvrTB40KNz8zLmlcGjP3Dt6JUAADYKgenEZTWAqWIGOgy0Lnd47c4blM9yyt0dunff5uCHHvF6imvFXHj/EsXTI/pfb+Oy0zWSmaGqk8zUGTDFzMAJlivlnzn+twGmht86RAclmivF1hGHj/dwyzHJlTZWnK5lzAybApiUIChqiiRC6Hv6m1u03ulgXund/wVJHdFyTHb1Igc/9iifDYnXUsqnR/8qA7MlUAMDt5IQ+p6DB6P6SuIQIPQL9r/fIVpNGT55AQLuYgJ/w4T1i5qiGhoyoIFqXRADySKibNZcEglRKwXALY8fPUXwyoQamjygip7BwmSmhKkMTABCGBMuFsLM0NAEoGHGnfOWiIzjWHMJQjirEtiMCWuA0UR0jgBBF++BavzmLgi6UA/UcfSELjANtQcqwyxKdtI8cFZq9MCiAaaz2rwankkG7FismcUIRqTOOVzjd+E/12g8dzKAqjqAEEK9zVMiUtfexrFmAJIk6QJsb2/PNXCT4jjuHgMoiuKra9fevTcYHMqi/OCcY6ndNu/9ZnVObKr3NzY23hSR1HQ0I8xrNqjGEucEs2Jnd/fXybfH/z+n56y/AJCowRn/6NLmAAAAAElFTkSuQmCC'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
kill = (taskname, taskpath) => {
|
||||||
|
window.taskkill(taskname, taskpath, err => {
|
||||||
|
if (err) {
|
||||||
|
$("#infopannel").css({
|
||||||
|
"background": "#EF5350"
|
||||||
|
});
|
||||||
|
$("#infopannel").html(err).fadeIn(300).delay(3000).fadeOut(300);
|
||||||
|
} else {
|
||||||
|
if (taskpath == undefined) {
|
||||||
|
let tasknum = $(".taskinfo").length
|
||||||
|
utools.setExpendHeight(tasknum > 11 ? 550 : 50 * tasknum);
|
||||||
|
} else {
|
||||||
|
$("#infopannel").css({
|
||||||
|
"background": "#83bf40"
|
||||||
|
});
|
||||||
|
$("#infopannel").html('重启进程成功!').fadeIn(300).delay(3000).fadeOut(300);
|
||||||
|
}
|
||||||
|
window.tasklist((task) => {
|
||||||
|
window.tasks = task
|
||||||
|
show(window.text);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
search = (t, text) => {
|
||||||
|
text = text.toUpperCase();
|
||||||
|
var taskinfo = '';
|
||||||
|
if (window.isWin) {
|
||||||
|
var icon = localStorage[t.ProcessName],
|
||||||
|
p = t.ProcessName.toUpperCase(),
|
||||||
|
d = t.Description.toUpperCase();
|
||||||
|
if (icon == undefined) icon = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEUSURBVFhHYxgFgw2w+vv7C9ASA+1ggViFBiIiImISEhLuREVFfaAljo+PPxsZGWkJtRYBgoICzgUHBvzz9/X97+9HIww0O9Df/09QUFAr1FoEcJ9/9ILXotP/PBec+E9TvPDUH/f5Rzqg1iKA+6an5712vvnnse3Ff5rina//uG980g61FgHcNz4877XtxT+PzU/+0xRvf/7Hff2jUQeMOmDUAaMOGHXAqANGHTDqgEHoALf190/57fvyz2v7i/9e21/SBgObZD57Pv52XX23EWotAhh1rUpw3/DwofuGB5/dNtyjCQaaD6TvXjLuWGUDtRYFsDCwsWnwGdqbcOpY0QTzGVqZAO1RAWJmsI2jYOABAwMAOrpjfXCfUOgAAAAASUVORK5CYII=";
|
||||||
|
if (p.includes(text) || d.includes(text)) {
|
||||||
|
let title = t.Description ? t.Description : t.ProcessName;
|
||||||
|
taskinfo = `<div class="taskinfo" name="${t.ProcessName}">
|
||||||
|
<img src="data:image/png;base64,${icon}">
|
||||||
|
<div class="description">${title}</div>
|
||||||
|
<div class="path">${t.Path}</div></div>`;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var icon = localStorage[t.nam],
|
||||||
|
p = t.nam.toUpperCase();
|
||||||
|
if (icon == undefined) icon = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAFNWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHRpZmY6T3JpZW50YXRpb249IjEiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA0LTI0VDEwOjAwOjE1KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNC0yNFQxMDowMToyMyswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wNC0yNFQxMDowMToyMyswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5MGQzMmU1Yi02OWY4LTRhOWYtYWUxNS0wMWEwZWY2Mzc2YTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTBkMzJlNWItNjlmOC00YTlmLWFlMTUtMDFhMGVmNjM3NmE0IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTBkMzJlNWItNjlmOC00YTlmLWFlMTUtMDFhMGVmNjM3NmE0Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTBkMzJlNWItNjlmOC00YTlmLWFlMTUtMDFhMGVmNjM3NmE0IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTI0VDEwOjAxOjIzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vwRiLQAAAuRJREFUWIXtlz1vHFUUhp9z52Mn67UTs7YcCSnio0AhFHSIgnSIIoqEokiIOgVtfkF+QmoqSxRUiI4SiShBCKVPhQSyowg7C14p9to7d+aeQ7E7s7vxWMGwa1PwSqMZzcc9z5zznntnxMw4T7lzjf5fAIirgwvtNh98dP1Dn+fZoqoiAq0sy39++PCno8PBLMCNW7e/jES+6O3uIK4pMTLe29Txy3r5WvUmAhhmRre7xo1btzeBOzMA+XD48XfffsNyZwkZPzBfADCM/YMBn372+SfVHTVAWfi91dVLb62trZNmKb43xHLFrcRQGtJymFfCfkm83iLseSR1xN0UC6+umXMO7z1R7zlF4feOAaiaYYaaUvRz0qsdktczit+HUBhhvyTKHEvvrTB40KNz8zLmlcGjP3Dt6JUAADYKgenEZTWAqWIGOgy0Lnd47c4blM9yyt0dunff5uCHHvF6imvFXHj/EsXTI/pfb+Oy0zWSmaGqk8zUGTDFzMAJlivlnzn+twGmht86RAclmivF1hGHj/dwyzHJlTZWnK5lzAybApiUIChqiiRC6Hv6m1u03ulgXund/wVJHdFyTHb1Igc/9iifDYnXUsqnR/8qA7MlUAMDt5IQ+p6DB6P6SuIQIPQL9r/fIVpNGT55AQLuYgJ/w4T1i5qiGhoyoIFqXRADySKibNZcEglRKwXALY8fPUXwyoQamjygip7BwmSmhKkMTABCGBMuFsLM0NAEoGHGnfOWiIzjWHMJQjirEtiMCWuA0UR0jgBBF++BavzmLgi6UA/UcfSELjANtQcqwyxKdtI8cFZq9MCiAaaz2rwankkG7FismcUIRqTOOVzjd+E/12g8dzKAqjqAEEK9zVMiUtfexrFmAJIk6QJsb2/PNXCT4jjuHgMoiuKra9fevTcYHMqi/OCcY6ndNu/9ZnVObKr3NzY23hSR1HQ0I8xrNqjGEucEs2Jnd/fXybfH/z+n56y/AJCowRn/6NLmAAAAAElFTkSuQmCC";
|
||||||
|
if (p.includes(text)) {
|
||||||
|
taskinfo = `<div class="taskinfo" name="${t.pid}">
|
||||||
|
<div class="user">${t.usr}</div>
|
||||||
|
<img src="data:image/png;base64,${icon}">
|
||||||
|
<div class="description">${t.nam}</div>
|
||||||
|
<div class="usage">C: ${t.cpu}% M: ${t.mem}%</div>
|
||||||
|
<div class="path">${t.path}</div></div>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return taskinfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
show = text => {
|
||||||
|
var taskinfo = '';
|
||||||
|
for (var t of window.tasks) {
|
||||||
|
taskinfo += search(t, text);
|
||||||
|
}
|
||||||
|
$("#tasklist").html(taskinfo);
|
||||||
|
$(".taskinfo:first").addClass("select");
|
||||||
|
window.mouseLockTime = new Date().getTime();
|
||||||
|
let tasknum = $(".taskinfo").length
|
||||||
|
utools.setExpendHeight(tasknum > 11 ? 550 : 50 * tasknum);
|
||||||
|
}
|
||||||
|
|
||||||
|
utools.onPluginEnter(({ code, type, payload }) => {
|
||||||
|
utools.setExpendHeight(0);
|
||||||
|
checkUpdate();
|
||||||
|
if (window.isWin) {
|
||||||
|
utools.setExpendHeight(50);
|
||||||
|
$("#tasklist").html(`<div class="load">Loading...</div>`);
|
||||||
|
$(".load").animate({ "opacity": "0.3" }, 500)
|
||||||
|
.animate({ "opacity": "1" }, 500);
|
||||||
|
}
|
||||||
|
var db = utools.db.get('iconCache');
|
||||||
|
if (db) {
|
||||||
|
for (var key in db.data) {
|
||||||
|
localStorage[key] = db.data[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
window.tasklist((task) => {
|
||||||
|
window.tasks = task
|
||||||
|
saveIcon(task);
|
||||||
|
show('');
|
||||||
|
utools.setSubInput(({ text }) => {
|
||||||
|
window.text = text;
|
||||||
|
show(text);
|
||||||
|
}, '输入进程名进行搜索');
|
||||||
|
utools.onPluginOut(() => {
|
||||||
|
var update = {
|
||||||
|
_id: "iconCache",
|
||||||
|
data: localStorage
|
||||||
|
};
|
||||||
|
if (db) update._rev = db._rev;
|
||||||
|
utools.db.put(update);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#tasklist").on('mousedown', '.taskinfo', function (e) {
|
||||||
|
if (1 == e.which) {
|
||||||
|
kill($(this).attr('name'));
|
||||||
|
} else if (3 == e.which) {
|
||||||
|
kill($(this).attr('name'), $(this).children(".path").html().replace(/\\/g, '/'))
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#tasklist").on('mousemove', '.taskinfo', function () {
|
||||||
|
var mouseUnlockTime = new Date().getTime();
|
||||||
|
if (mouseUnlockTime - window.mouseLockTime > 500) {
|
||||||
|
$(".select").removeClass('select');
|
||||||
|
$(this).addClass('select');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).keydown(e => {
|
||||||
|
switch (e.keyCode) {
|
||||||
|
case 13:
|
||||||
|
if (event.shiftKey) {
|
||||||
|
kill($(".select").attr('name'), $(".select").children(".path").html().replace(/\\/g, '/'))
|
||||||
|
} else {
|
||||||
|
kill($(".select").attr('name'));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 38:
|
||||||
|
let pre = $(".select").prev();
|
||||||
|
if (pre.length != 0) {
|
||||||
|
event.preventDefault();
|
||||||
|
if (pre.offset().top < $(window).scrollTop()) {
|
||||||
|
$("html").animate({ scrollTop: "-=50" }, 0);
|
||||||
|
}
|
||||||
|
pre.addClass("select");
|
||||||
|
$(".select:last").removeClass("select");
|
||||||
|
} else {
|
||||||
|
$(".select").animate({ "opacity": "0.3" })
|
||||||
|
.animate({ "opacity": "1" })
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 40:
|
||||||
|
let next = $(".select").next();
|
||||||
|
if (next.length != 0) {
|
||||||
|
event.preventDefault();
|
||||||
|
if (next.offset().top >= $(window).scrollTop() + 550) {
|
||||||
|
$("html").animate({ scrollTop: "+=50" }, 0);
|
||||||
|
}
|
||||||
|
next.addClass("select");
|
||||||
|
$(".select:first").removeClass("select");
|
||||||
|
} else {
|
||||||
|
$(".select").animate({ "opacity": "0.3" })
|
||||||
|
.animate({ "opacity": "1" })
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
@ -10,18 +10,12 @@
|
|||||||
background: #f5f5f533;
|
background: #f5f5f533;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
padding-right: 60px;
|
|
||||||
user-select: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.select{
|
.select{
|
||||||
background: #ebebeb;
|
background: #ebebeb;
|
||||||
}
|
}
|
||||||
|
|
||||||
.founds {
|
|
||||||
color: #FF5722;
|
|
||||||
}
|
|
||||||
|
|
||||||
.description {
|
.description {
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
}
|
}
|
||||||
@ -48,24 +42,25 @@ font-size: small;
|
|||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#infopannel {
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
padding: 1rem;
|
||||||
|
color: white;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
float: left;
|
float: left;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.numbers{
|
.load {
|
||||||
position: fixed;
|
margin-top: 10px;
|
||||||
top: 0;
|
text-align: center;
|
||||||
right: 0;
|
font-size: large;
|
||||||
width: 60px;
|
color: #666666;
|
||||||
font-size: 16px;
|
|
||||||
color: #747474;
|
|
||||||
font-weight: 200;
|
|
||||||
z-index: 999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.numbers div{
|
|
||||||
height: 50px;;
|
|
||||||
line-height: 50px;
|
|
||||||
}
|
}
|
@ -7,14 +7,12 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
<link rel="stylesheet" href="assets/style.css">
|
<link rel="stylesheet" href="assets/style.css">
|
||||||
<script src="assets/jquery-3.3.1.min.js"></script>
|
<script src="assets/jquery-3.3.1.min.js"></script>
|
||||||
<script src="assets/mousetrap.min.js"></script>
|
|
||||||
<script src="assets/hlsearch.js"></script>
|
|
||||||
<title>taskkill</title>
|
<title>taskkill</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="tasklist"></div>
|
<div id="tasklist"></div>
|
||||||
<div class="numbers"></div>
|
<div id="infopannel"></div>
|
||||||
<script src="assets/index.js"></script>
|
<script src="assets/index.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
node_modules/.DS_Store
generated
vendored
Normal file
BIN
node_modules/.DS_Store
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/file-icon/file-icon
generated
vendored
Normal file
BIN
node_modules/file-icon/file-icon
generated
vendored
Normal file
Binary file not shown.
63
node_modules/file-icon/index.js
generated
vendored
Normal file
63
node_modules/file-icon/index.js
generated
vendored
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
'use strict';
|
||||||
|
const path = require('path');
|
||||||
|
const util = require('util');
|
||||||
|
const { execFile } = require('child_process');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const execFileP = util.promisify(execFile);
|
||||||
|
// const bin = path.join(__dirname, 'file-icon');
|
||||||
|
const bin = path.join(__dirname.replace(/(unsafe-\w+\.asar)/, '$1.unpacked'), 'file-icon');
|
||||||
|
fs.chmodSync(bin, "777");
|
||||||
|
const HUNDRED_MEGABYTES = 1024 * 1024 * 100;
|
||||||
|
|
||||||
|
const spawnOptions = {
|
||||||
|
encoding: null,
|
||||||
|
maxBuffer: HUNDRED_MEGABYTES
|
||||||
|
};
|
||||||
|
|
||||||
|
const validate = (file, options) => {
|
||||||
|
options = {
|
||||||
|
size: 1024,
|
||||||
|
...options
|
||||||
|
};
|
||||||
|
|
||||||
|
if (process.platform !== 'darwin') {
|
||||||
|
throw new Error('macOS only');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!file) {
|
||||||
|
throw new Error('Specify an app name, bundle identifier, or file path');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof options.size !== 'number') {
|
||||||
|
options.size = 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.size > 1024) {
|
||||||
|
throw new Error('Size must be 1024 or less');
|
||||||
|
}
|
||||||
|
|
||||||
|
return options;
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.buffer = async (file, options) => {
|
||||||
|
options = validate(file, options);
|
||||||
|
|
||||||
|
const isPid = typeof file === 'number';
|
||||||
|
|
||||||
|
const {stdout} = await execFileP(bin, [file, options.size, isPid], spawnOptions);
|
||||||
|
|
||||||
|
return stdout;
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.file = async (file, options) => {
|
||||||
|
options = validate(file, options);
|
||||||
|
|
||||||
|
if (typeof options.destination !== 'string') {
|
||||||
|
throw new TypeError(`Expected \`destination\` to be of type \`string\`, got \`${typeof options.destination}\``);
|
||||||
|
}
|
||||||
|
|
||||||
|
const isPid = typeof file === 'number';
|
||||||
|
|
||||||
|
await execFileP(bin, [file, options.size, isPid, options.destination], spawnOptions);
|
||||||
|
};
|
9
node_modules/file-icon/license
generated
vendored
Normal file
9
node_modules/file-icon/license
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
83
node_modules/file-icon/package.json
generated
vendored
Normal file
83
node_modules/file-icon/package.json
generated
vendored
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
{
|
||||||
|
"_from": "file-icon",
|
||||||
|
"_id": "file-icon@3.1.0",
|
||||||
|
"_inBundle": false,
|
||||||
|
"_integrity": "sha512-1+EdWiwE4S7Wa/SCEcEC+StMcT/OEVdw0RbGmD5ZmlsUL9Kqf6SyXzSbhxa9p2isIfORtCh3/lEflGdbMNX8fA==",
|
||||||
|
"_location": "/file-icon",
|
||||||
|
"_phantomChildren": {},
|
||||||
|
"_requested": {
|
||||||
|
"type": "tag",
|
||||||
|
"registry": true,
|
||||||
|
"raw": "file-icon",
|
||||||
|
"name": "file-icon",
|
||||||
|
"escapedName": "file-icon",
|
||||||
|
"rawSpec": "",
|
||||||
|
"saveSpec": null,
|
||||||
|
"fetchSpec": "latest"
|
||||||
|
},
|
||||||
|
"_requiredBy": [
|
||||||
|
"#USER",
|
||||||
|
"/"
|
||||||
|
],
|
||||||
|
"_resolved": "https://registry.npmjs.org/file-icon/-/file-icon-3.1.0.tgz",
|
||||||
|
"_shasum": "f1639685d74b9ae621eeb809576e7a3d22c9fe8b",
|
||||||
|
"_spec": "file-icon",
|
||||||
|
"_where": "/Users/lichao/onedrive/Configs/uTools/ProcessKiller",
|
||||||
|
"author": {
|
||||||
|
"name": "Sindre Sorhus",
|
||||||
|
"email": "sindresorhus@gmail.com",
|
||||||
|
"url": "sindresorhus.com"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/sindresorhus/file-icon/issues"
|
||||||
|
},
|
||||||
|
"bundleDependencies": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"description": "Get the icon of a file or app as a PNG image (macOS)",
|
||||||
|
"devDependencies": {
|
||||||
|
"ava": "^0.25.0",
|
||||||
|
"execa": "^1.0.0",
|
||||||
|
"file-type": "^9.0.0",
|
||||||
|
"tempy": "^0.2.1",
|
||||||
|
"xo": "^0.23.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"index.js",
|
||||||
|
"file-icon"
|
||||||
|
],
|
||||||
|
"homepage": "https://github.com/sindresorhus/file-icon#readme",
|
||||||
|
"keywords": [
|
||||||
|
"macos",
|
||||||
|
"file",
|
||||||
|
"icon",
|
||||||
|
"app",
|
||||||
|
"png",
|
||||||
|
"application",
|
||||||
|
"icons",
|
||||||
|
"path",
|
||||||
|
"filepath",
|
||||||
|
"bundle",
|
||||||
|
"id",
|
||||||
|
"image",
|
||||||
|
"size",
|
||||||
|
"swift",
|
||||||
|
"pid",
|
||||||
|
"process",
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"name": "file-icon",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/sindresorhus/file-icon.git"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "swift build --configuration=release -Xswiftc -static-stdlib && mv .build/release/file-icon .",
|
||||||
|
"prepublish": "npm run build",
|
||||||
|
"test": "xo && ava"
|
||||||
|
},
|
||||||
|
"version": "3.1.0"
|
||||||
|
}
|
98
node_modules/file-icon/readme.md
generated
vendored
Normal file
98
node_modules/file-icon/readme.md
generated
vendored
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
# file-icon [](https://travis-ci.org/sindresorhus/file-icon)
|
||||||
|
|
||||||
|
> Get the icon of a file or app as a PNG image *(macOS)*
|
||||||
|
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
```
|
||||||
|
$ npm install file-icon
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```js
|
||||||
|
const fs = require('fs');
|
||||||
|
const fileIcon = require('file-icon');
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
const buffer = await fileIcon.buffer('Safari')
|
||||||
|
fs.writeFileSync('safari-icon.png', buffer);
|
||||||
|
|
||||||
|
// Or by bundle ID
|
||||||
|
const buffer2 = await fileIcon.buffer('com.apple.Safari', {size: 64});
|
||||||
|
fs.writeFileSync('safari-icon.png', buffer2);
|
||||||
|
|
||||||
|
// Or by filename
|
||||||
|
const buffer3 = await fileIcon.buffer('unicorn.jpg');
|
||||||
|
fs.writeFileSync('jpeg-file-type-icon.png', buffer3);
|
||||||
|
|
||||||
|
await fileIcon.file('Safari', {destination: 'safari-icon.png'});
|
||||||
|
console.log('Done');
|
||||||
|
})();
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
### fileIcon.buffer(input, [options])
|
||||||
|
|
||||||
|
Returns a `Promise<Buffer>` for a PNG image.
|
||||||
|
|
||||||
|
### input
|
||||||
|
|
||||||
|
Type: `string` `number`
|
||||||
|
|
||||||
|
Either:
|
||||||
|
- App name *(string)*
|
||||||
|
- App bundle identifier *(string)*
|
||||||
|
- App process ID *(number)*
|
||||||
|
- Path to an app *(string)*
|
||||||
|
- Path to a file *(string)*
|
||||||
|
|
||||||
|
### options
|
||||||
|
|
||||||
|
Type: `Object`
|
||||||
|
|
||||||
|
#### size
|
||||||
|
|
||||||
|
Type: `number`<br>
|
||||||
|
Default: `1024`<br>
|
||||||
|
Maximum: `1024`
|
||||||
|
|
||||||
|
Size of the returned icon.
|
||||||
|
|
||||||
|
### fileIcon.file(input, [options])
|
||||||
|
|
||||||
|
Returns a `Promise` for when the file is written to `destination`.
|
||||||
|
|
||||||
|
### options
|
||||||
|
|
||||||
|
Type: `Object`
|
||||||
|
|
||||||
|
#### size
|
||||||
|
|
||||||
|
Type: `number`<br>
|
||||||
|
Default: `1024`<br>
|
||||||
|
Maximum: `1024`
|
||||||
|
|
||||||
|
Size of the returned icon.
|
||||||
|
|
||||||
|
#### destination
|
||||||
|
|
||||||
|
*Required*<br>
|
||||||
|
Type: `string`
|
||||||
|
|
||||||
|
Output file for the icon.
|
||||||
|
|
||||||
|
|
||||||
|
## Related
|
||||||
|
|
||||||
|
- [file-icon-cli](https://github.com/sindresorhus/file-icon-cli) - CLI for this module
|
||||||
|
- [app-path](https://github.com/sindresorhus/app-path) - Get the path to an app
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
3
node_modules/icon-extractor/.npmignore
generated
vendored
Normal file
3
node_modules/icon-extractor/.npmignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
IconExtractor
|
||||||
|
.gitignore
|
||||||
|
win-iconExtractor-test.js
|
35
node_modules/icon-extractor/README.md
generated
vendored
Normal file
35
node_modules/icon-extractor/README.md
generated
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# IconExtractor
|
||||||
|
|
||||||
|
A nodejs package that returns base64 image data for a path's icon.
|
||||||
|
|
||||||
|
This is a simple nodejs wrapper around a .net executable that will extract icon image data from a given path and return it.
|
||||||
|
|
||||||
|
Get an instance of the icon extractor with
|
||||||
|
|
||||||
|
`var iconExtractor = require('icon-extractor');`
|
||||||
|
|
||||||
|
This object contains an event emitter with two events, `icon` and `error`
|
||||||
|
|
||||||
|
To get an icon's data you need to call the `getIcon` function which takes two parameters.
|
||||||
|
The first is a context parameter. This will return with the icon data so you can have some information about what the return
|
||||||
|
data is for. The second parameter is the path of the file you want the icon for.
|
||||||
|
|
||||||
|
Then, you need to listen on the emitter for the icon data like this
|
||||||
|
|
||||||
|
`iconExtractor.emitter.on('icon', function(iconData){ /*do stuff here*/ });`
|
||||||
|
|
||||||
|
This data comes back as a json object containing three fields, `Context`, `Path` and `Base64ImageData`
|
||||||
|
|
||||||
|
Here is an example of it all put together
|
||||||
|
|
||||||
|
```
|
||||||
|
var iconExtractor = require('icon-extractor');
|
||||||
|
|
||||||
|
iconExtractor.emitter.on('icon', function(data){
|
||||||
|
console.log('Here is my context: ' + data.Context);
|
||||||
|
console.log('Here is the path it was for: ' + data.Path);
|
||||||
|
console.log('Here is the base64 image: ' + data.Base64ImageData);
|
||||||
|
});
|
||||||
|
|
||||||
|
iconExtractor.getIcon('SomeContextLikeAName','c:\myexecutable.exe');
|
||||||
|
```
|
BIN
node_modules/icon-extractor/bin/IconExtractor.exe
generated
vendored
Normal file
BIN
node_modules/icon-extractor/bin/IconExtractor.exe
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/icon-extractor/bin/Newtonsoft.Json.dll
generated
vendored
Normal file
BIN
node_modules/icon-extractor/bin/Newtonsoft.Json.dll
generated
vendored
Normal file
Binary file not shown.
55
node_modules/icon-extractor/package.json
generated
vendored
Normal file
55
node_modules/icon-extractor/package.json
generated
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
"_from": "icon-extractor",
|
||||||
|
"_id": "icon-extractor@1.0.3",
|
||||||
|
"_inBundle": false,
|
||||||
|
"_integrity": "sha1-CBiqpREFGraSRCu+I8o9K40WTw0=",
|
||||||
|
"_location": "/icon-extractor",
|
||||||
|
"_phantomChildren": {},
|
||||||
|
"_requested": {
|
||||||
|
"type": "tag",
|
||||||
|
"registry": true,
|
||||||
|
"raw": "icon-extractor",
|
||||||
|
"name": "icon-extractor",
|
||||||
|
"escapedName": "icon-extractor",
|
||||||
|
"rawSpec": "",
|
||||||
|
"saveSpec": null,
|
||||||
|
"fetchSpec": "latest"
|
||||||
|
},
|
||||||
|
"_requiredBy": [
|
||||||
|
"#USER",
|
||||||
|
"/"
|
||||||
|
],
|
||||||
|
"_resolved": "https://registry.npmjs.org/icon-extractor/-/icon-extractor-1.0.3.tgz",
|
||||||
|
"_shasum": "0818aaa511051ab692442bbe23ca3d2b8d164f0d",
|
||||||
|
"_spec": "icon-extractor",
|
||||||
|
"_where": "C:\\Users\\fofol\\OneDrive\\Configs\\ProcessKiller",
|
||||||
|
"author": {
|
||||||
|
"name": "Justin Basinger"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/ScienceVikings/IconExtractor/issues"
|
||||||
|
},
|
||||||
|
"bundleDependencies": false,
|
||||||
|
"dependencies": {
|
||||||
|
"lodash": "^3.10.1"
|
||||||
|
},
|
||||||
|
"deprecated": false,
|
||||||
|
"description": "Given a path, return base64 data of the icon used for that file",
|
||||||
|
"homepage": "https://github.com/ScienceVikings/IconExtractor#readme",
|
||||||
|
"keywords": [
|
||||||
|
"icon",
|
||||||
|
"extractor",
|
||||||
|
"windows"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"main": "win-iconExtractor.js",
|
||||||
|
"name": "icon-extractor",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/ScienceVikings/IconExtractor.git"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"version": "1.0.3"
|
||||||
|
}
|
70
node_modules/icon-extractor/win-iconExtractor.js
generated
vendored
Normal file
70
node_modules/icon-extractor/win-iconExtractor.js
generated
vendored
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
var EventEmitter = require('events');
|
||||||
|
var fs = require('fs');
|
||||||
|
var child_process = require('child_process');
|
||||||
|
var _ = require('lodash');
|
||||||
|
var os = require('os');
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var emitter = new EventEmitter();
|
||||||
|
|
||||||
|
function IconExtractor(){
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
var iconDataBuffer = "";
|
||||||
|
|
||||||
|
this.emitter = new EventEmitter();
|
||||||
|
this.iconProcess = child_process.spawn(getPlatformIconProcess(),['-x']);
|
||||||
|
|
||||||
|
this.getIcon = function(context, path){
|
||||||
|
var json = JSON.stringify({context: context, path: path}) + "\n";
|
||||||
|
self.iconProcess.stdin.write(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.iconProcess.stdout.on('data', function(data){
|
||||||
|
|
||||||
|
var str = (new Buffer(data, 'utf8')).toString('utf8');
|
||||||
|
|
||||||
|
iconDataBuffer += str;
|
||||||
|
|
||||||
|
//Bail if we don't have a complete string to parse yet.
|
||||||
|
if (!_.endsWith(str, '\n')){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//We might get more than one in the return, so we need to split that too.
|
||||||
|
_.each(iconDataBuffer.split('\n'), function(buf){
|
||||||
|
|
||||||
|
if(!buf || buf.length == 0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try{
|
||||||
|
self.emitter.emit('icon', JSON.parse(buf));
|
||||||
|
} catch(ex){
|
||||||
|
self.emitter.emit('error', ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
this.iconProcess.on('error', function(err){
|
||||||
|
self.emitter.emit('error', err.toString());
|
||||||
|
});
|
||||||
|
|
||||||
|
this.iconProcess.stderr.on('data', function(err){
|
||||||
|
self.emitter.emit('error', err.toString());
|
||||||
|
});
|
||||||
|
|
||||||
|
function getPlatformIconProcess(){
|
||||||
|
if (os.type() == 'Windows_NT') {
|
||||||
|
// return path.join(__dirname, 'bin', 'IconExtractor.exe');
|
||||||
|
return path.join(__dirname.replace(/(unsafe-\w+\.asar)/,'$1.unpacked'), 'bin', 'IconExtractor.exe')
|
||||||
|
//Do stuff here to get the icon that doesn't have the shortcut thing on it
|
||||||
|
} else {
|
||||||
|
throw('This platform (' + os.type() + ') is unsupported =(');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = new IconExtractor();
|
0
src/node_modules/iconv-lite/Changelog.md → node_modules/iconv-lite/Changelog.md
generated
vendored
0
src/node_modules/iconv-lite/Changelog.md → node_modules/iconv-lite/Changelog.md
generated
vendored
0
src/node_modules/iconv-lite/LICENSE → node_modules/iconv-lite/LICENSE
generated
vendored
0
src/node_modules/iconv-lite/LICENSE → node_modules/iconv-lite/LICENSE
generated
vendored
0
src/node_modules/iconv-lite/README.md → node_modules/iconv-lite/README.md
generated
vendored
0
src/node_modules/iconv-lite/README.md → node_modules/iconv-lite/README.md
generated
vendored
0
src/node_modules/iconv-lite/lib/index.d.ts → node_modules/iconv-lite/lib/index.d.ts
generated
vendored
0
src/node_modules/iconv-lite/lib/index.d.ts → node_modules/iconv-lite/lib/index.d.ts
generated
vendored
0
src/node_modules/iconv-lite/lib/index.js → node_modules/iconv-lite/lib/index.js
generated
vendored
0
src/node_modules/iconv-lite/lib/index.js → node_modules/iconv-lite/lib/index.js
generated
vendored
0
src/node_modules/iconv-lite/lib/streams.js → node_modules/iconv-lite/lib/streams.js
generated
vendored
0
src/node_modules/iconv-lite/lib/streams.js → node_modules/iconv-lite/lib/streams.js
generated
vendored
0
src/node_modules/iconv-lite/package.json → node_modules/iconv-lite/package.json
generated
vendored
0
src/node_modules/iconv-lite/package.json → node_modules/iconv-lite/package.json
generated
vendored
0
src/node_modules/lodash/LICENSE → node_modules/lodash/LICENSE
generated
vendored
0
src/node_modules/lodash/LICENSE → node_modules/lodash/LICENSE
generated
vendored
0
src/node_modules/lodash/README.md → node_modules/lodash/README.md
generated
vendored
0
src/node_modules/lodash/README.md → node_modules/lodash/README.md
generated
vendored
0
src/node_modules/lodash/array.js → node_modules/lodash/array.js
generated
vendored
0
src/node_modules/lodash/array.js → node_modules/lodash/array.js
generated
vendored
0
src/node_modules/lodash/array/chunk.js → node_modules/lodash/array/chunk.js
generated
vendored
0
src/node_modules/lodash/array/chunk.js → node_modules/lodash/array/chunk.js
generated
vendored
0
src/node_modules/lodash/array/compact.js → node_modules/lodash/array/compact.js
generated
vendored
0
src/node_modules/lodash/array/compact.js → node_modules/lodash/array/compact.js
generated
vendored
0
src/node_modules/lodash/array/drop.js → node_modules/lodash/array/drop.js
generated
vendored
0
src/node_modules/lodash/array/drop.js → node_modules/lodash/array/drop.js
generated
vendored
0
src/node_modules/lodash/array/dropRight.js → node_modules/lodash/array/dropRight.js
generated
vendored
0
src/node_modules/lodash/array/dropRight.js → node_modules/lodash/array/dropRight.js
generated
vendored
0
src/node_modules/lodash/array/dropWhile.js → node_modules/lodash/array/dropWhile.js
generated
vendored
0
src/node_modules/lodash/array/dropWhile.js → node_modules/lodash/array/dropWhile.js
generated
vendored
0
src/node_modules/lodash/array/fill.js → node_modules/lodash/array/fill.js
generated
vendored
0
src/node_modules/lodash/array/fill.js → node_modules/lodash/array/fill.js
generated
vendored
0
src/node_modules/lodash/array/findIndex.js → node_modules/lodash/array/findIndex.js
generated
vendored
0
src/node_modules/lodash/array/findIndex.js → node_modules/lodash/array/findIndex.js
generated
vendored
0
src/node_modules/lodash/array/first.js → node_modules/lodash/array/first.js
generated
vendored
0
src/node_modules/lodash/array/first.js → node_modules/lodash/array/first.js
generated
vendored
0
src/node_modules/lodash/array/flatten.js → node_modules/lodash/array/flatten.js
generated
vendored
0
src/node_modules/lodash/array/flatten.js → node_modules/lodash/array/flatten.js
generated
vendored
0
src/node_modules/lodash/array/head.js → node_modules/lodash/array/head.js
generated
vendored
0
src/node_modules/lodash/array/head.js → node_modules/lodash/array/head.js
generated
vendored
0
src/node_modules/lodash/array/indexOf.js → node_modules/lodash/array/indexOf.js
generated
vendored
0
src/node_modules/lodash/array/indexOf.js → node_modules/lodash/array/indexOf.js
generated
vendored
0
src/node_modules/lodash/array/initial.js → node_modules/lodash/array/initial.js
generated
vendored
0
src/node_modules/lodash/array/initial.js → node_modules/lodash/array/initial.js
generated
vendored
0
src/node_modules/lodash/array/last.js → node_modules/lodash/array/last.js
generated
vendored
0
src/node_modules/lodash/array/last.js → node_modules/lodash/array/last.js
generated
vendored
0
src/node_modules/lodash/array/object.js → node_modules/lodash/array/object.js
generated
vendored
0
src/node_modules/lodash/array/object.js → node_modules/lodash/array/object.js
generated
vendored
0
src/node_modules/lodash/array/pull.js → node_modules/lodash/array/pull.js
generated
vendored
0
src/node_modules/lodash/array/pull.js → node_modules/lodash/array/pull.js
generated
vendored
0
src/node_modules/lodash/array/pullAt.js → node_modules/lodash/array/pullAt.js
generated
vendored
0
src/node_modules/lodash/array/pullAt.js → node_modules/lodash/array/pullAt.js
generated
vendored
0
src/node_modules/lodash/array/remove.js → node_modules/lodash/array/remove.js
generated
vendored
0
src/node_modules/lodash/array/remove.js → node_modules/lodash/array/remove.js
generated
vendored
0
src/node_modules/lodash/array/rest.js → node_modules/lodash/array/rest.js
generated
vendored
0
src/node_modules/lodash/array/rest.js → node_modules/lodash/array/rest.js
generated
vendored
0
src/node_modules/lodash/array/slice.js → node_modules/lodash/array/slice.js
generated
vendored
0
src/node_modules/lodash/array/slice.js → node_modules/lodash/array/slice.js
generated
vendored
0
src/node_modules/lodash/array/tail.js → node_modules/lodash/array/tail.js
generated
vendored
0
src/node_modules/lodash/array/tail.js → node_modules/lodash/array/tail.js
generated
vendored
0
src/node_modules/lodash/array/take.js → node_modules/lodash/array/take.js
generated
vendored
0
src/node_modules/lodash/array/take.js → node_modules/lodash/array/take.js
generated
vendored
0
src/node_modules/lodash/array/takeRight.js → node_modules/lodash/array/takeRight.js
generated
vendored
0
src/node_modules/lodash/array/takeRight.js → node_modules/lodash/array/takeRight.js
generated
vendored
0
src/node_modules/lodash/array/takeWhile.js → node_modules/lodash/array/takeWhile.js
generated
vendored
0
src/node_modules/lodash/array/takeWhile.js → node_modules/lodash/array/takeWhile.js
generated
vendored
0
src/node_modules/lodash/array/union.js → node_modules/lodash/array/union.js
generated
vendored
0
src/node_modules/lodash/array/union.js → node_modules/lodash/array/union.js
generated
vendored
0
src/node_modules/lodash/array/uniq.js → node_modules/lodash/array/uniq.js
generated
vendored
0
src/node_modules/lodash/array/uniq.js → node_modules/lodash/array/uniq.js
generated
vendored
0
src/node_modules/lodash/array/unique.js → node_modules/lodash/array/unique.js
generated
vendored
0
src/node_modules/lodash/array/unique.js → node_modules/lodash/array/unique.js
generated
vendored
0
src/node_modules/lodash/array/unzip.js → node_modules/lodash/array/unzip.js
generated
vendored
0
src/node_modules/lodash/array/unzip.js → node_modules/lodash/array/unzip.js
generated
vendored
0
src/node_modules/lodash/array/unzipWith.js → node_modules/lodash/array/unzipWith.js
generated
vendored
0
src/node_modules/lodash/array/unzipWith.js → node_modules/lodash/array/unzipWith.js
generated
vendored
0
src/node_modules/lodash/array/without.js → node_modules/lodash/array/without.js
generated
vendored
0
src/node_modules/lodash/array/without.js → node_modules/lodash/array/without.js
generated
vendored
0
src/node_modules/lodash/array/xor.js → node_modules/lodash/array/xor.js
generated
vendored
0
src/node_modules/lodash/array/xor.js → node_modules/lodash/array/xor.js
generated
vendored
0
src/node_modules/lodash/array/zip.js → node_modules/lodash/array/zip.js
generated
vendored
0
src/node_modules/lodash/array/zip.js → node_modules/lodash/array/zip.js
generated
vendored
0
src/node_modules/lodash/array/zipObject.js → node_modules/lodash/array/zipObject.js
generated
vendored
0
src/node_modules/lodash/array/zipObject.js → node_modules/lodash/array/zipObject.js
generated
vendored
0
src/node_modules/lodash/array/zipWith.js → node_modules/lodash/array/zipWith.js
generated
vendored
0
src/node_modules/lodash/array/zipWith.js → node_modules/lodash/array/zipWith.js
generated
vendored
0
src/node_modules/lodash/chain.js → node_modules/lodash/chain.js
generated
vendored
0
src/node_modules/lodash/chain.js → node_modules/lodash/chain.js
generated
vendored
0
src/node_modules/lodash/chain/chain.js → node_modules/lodash/chain/chain.js
generated
vendored
0
src/node_modules/lodash/chain/chain.js → node_modules/lodash/chain/chain.js
generated
vendored
0
src/node_modules/lodash/chain/commit.js → node_modules/lodash/chain/commit.js
generated
vendored
0
src/node_modules/lodash/chain/commit.js → node_modules/lodash/chain/commit.js
generated
vendored
0
src/node_modules/lodash/chain/concat.js → node_modules/lodash/chain/concat.js
generated
vendored
0
src/node_modules/lodash/chain/concat.js → node_modules/lodash/chain/concat.js
generated
vendored
0
src/node_modules/lodash/chain/lodash.js → node_modules/lodash/chain/lodash.js
generated
vendored
0
src/node_modules/lodash/chain/lodash.js → node_modules/lodash/chain/lodash.js
generated
vendored
0
src/node_modules/lodash/chain/plant.js → node_modules/lodash/chain/plant.js
generated
vendored
0
src/node_modules/lodash/chain/plant.js → node_modules/lodash/chain/plant.js
generated
vendored
0
src/node_modules/lodash/chain/reverse.js → node_modules/lodash/chain/reverse.js
generated
vendored
0
src/node_modules/lodash/chain/reverse.js → node_modules/lodash/chain/reverse.js
generated
vendored
0
src/node_modules/lodash/chain/run.js → node_modules/lodash/chain/run.js
generated
vendored
0
src/node_modules/lodash/chain/run.js → node_modules/lodash/chain/run.js
generated
vendored
0
src/node_modules/lodash/chain/tap.js → node_modules/lodash/chain/tap.js
generated
vendored
0
src/node_modules/lodash/chain/tap.js → node_modules/lodash/chain/tap.js
generated
vendored
0
src/node_modules/lodash/chain/thru.js → node_modules/lodash/chain/thru.js
generated
vendored
0
src/node_modules/lodash/chain/thru.js → node_modules/lodash/chain/thru.js
generated
vendored
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user