mirror of
https://github.com/fofolee/uTools-ProcessKiller.git
synced 2025-06-08 05:57:49 +08:00
搜索高亮、数字快捷键
This commit is contained in:
parent
c620f090be
commit
948eb509cb
187
assets/index.js
187
assets/index.js
@ -1,6 +1,5 @@
|
|||||||
DARWIN_DEFAULT_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'
|
const DARWIN_DEFAULT_ICON = './imgs/darwin.png'
|
||||||
WINDOW_DEFAULT_ICON = 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEUSURBVFhHYxgFgw2w+vv7C9ASA+1ggViFBiIiImISEhLuREVFfaAljo+PPxsZGWkJtRYBgoICzgUHBvzz9/X97+9HIww0O9Df/09QUFAr1FoEcJ9/9ILXotP/PBec+E9TvPDUH/f5Rzqg1iKA+6an5712vvnnse3Ff5rina//uG980g61FgHcNz4877XtxT+PzU/+0xRvf/7Hff2jUQeMOmDUAaMOGHXAqANGHTDqgEHoALf190/57fvyz2v7i/9e21/SBgObZD57Pv52XX23EWotAhh1rUpw3/DwofuGB5/dNtyjCQaaD6TvXjLuWGUDtRYFsDCwsWnwGdqbcOpY0QTzGVqZAO1RAWJmsI2jYOABAwMAOrpjfXCfUOgAAAAASUVORK5CYII='
|
const WINDOW_DEFAULT_ICON = './imgs/window.png'
|
||||||
WINDOW_EMPTY_FILE = 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAItSURBVFhH7dbJTgJBEAZgHslnFhAEBZFNNodhX4XRI3gm4cCwryFl/x1mIgg6NeNNO6lwov+Pppdy/Y9zQ9PeqKu9Uqer0UunS+12h1rtF2q22tRotqjeaFK93qBqrU7Vao0qlSqVyxUqlcpULJbwqatq4eowHX8gfLfbsWu/35OmadTvvwtIUVeUvD0EfjkmXK1WrMJ3ABgMBgLRJzWv6rncMx+BZXcCGA6HJkJRFD2byfIQ+M+dAEajkYno9XokVkE/TG1tYMM5AYTD4aNKJpN0mNrawG63AzhXmCeVSvEAOGq/AVgul3Kep+QTD4Bz7hSAcAOQSCSYAHHJOAEY4ajtdkuJOBOAG84u4HP4YrGQgHgszgSI69UO4DTcAMSiMR4AdzsXcC58Pp9LQPQxygPgYeEALoUbgEgkwgPgVbMK+C4ctdlsKBJ+4AHwpFoB/BQ+m80kALfhYWpro1Ao/giwEm4CQiEeQDQT3wKshk+nUwkI3d/zAPm8ehHACTcAd8E7HkB0MmcB3HDUer2mYCDIBDwrXwB2wieTiQQEbgM8gGggjgB2w02A/5YJyOZMgJPw8XgsAX6fnwcQPZwEOA03AD7vDQ+QSWeOAHbDUVjFG6+XB0in0ibASbiu6xLg9Xh4APRwAOAhOS2c69PCMp+WsYFRHrebB0APhzYKnQyaCbzneFLxquFhkd2uuF5xw+GSwTnHUcNux4bDf45lxy9HuPv6mgf4Q8Pl+gDrDIc8RUYTMgAAAABJRU5ErkJggg=='
|
|
||||||
|
|
||||||
CacheIcons = async tasks => {
|
CacheIcons = async tasks => {
|
||||||
var noCaches = [];
|
var noCaches = [];
|
||||||
@ -13,7 +12,6 @@ CacheIcons = async tasks => {
|
|||||||
if (noCaches.length != 0) {
|
if (noCaches.length != 0) {
|
||||||
var b64Icons = await GetIcons(noCaches);
|
var b64Icons = await GetIcons(noCaches);
|
||||||
b64Icons.forEach(i => {
|
b64Icons.forEach(i => {
|
||||||
if (i.b64Ico == WINDOW_EMPTY_FILE) i.b64Ico = WINDOW_DEFAULT_ICON;
|
|
||||||
localStorage[basename(i.path, '.exe')] = i.b64Ico;
|
localStorage[basename(i.path, '.exe')] = i.b64Ico;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -43,32 +41,32 @@ search = (t, text) => {
|
|||||||
var taskinfo = '';
|
var taskinfo = '';
|
||||||
var icon;
|
var icon;
|
||||||
if (window.isWin) {
|
if (window.isWin) {
|
||||||
|
icon = WINDOW_DEFAULT_ICON
|
||||||
if (/^[A-z]:\\/.test(t.Path)) {
|
if (/^[A-z]:\\/.test(t.Path)) {
|
||||||
icon = localStorage[basename(t.Path, '.exe')]
|
var cache = localStorage[basename(t.Path, '.exe')];
|
||||||
} else {
|
if (cache) icon = 'data:image/png;base64,' + cache
|
||||||
icon = WINDOW_DEFAULT_ICON;
|
|
||||||
}
|
}
|
||||||
var n = (t.ProcessName + t.Description).toUpperCase();
|
var n = t.ProcessName.toUpperCase();
|
||||||
if (n.includes(text)) {
|
if (n.includes(text)) {
|
||||||
var mem = (parseInt(t.WorkingSet) * 100 / window.totalMem).toFixed(2);
|
var mem = (parseInt(t.WorkingSet) * 100 / window.totalMem).toFixed(2);
|
||||||
// path = t.Path ? t.Path : '';
|
// path = t.Path ? t.Path : '';
|
||||||
taskinfo = `<div class="taskinfo" id="${t.Id}">
|
taskinfo = `<div class="taskinfo" id="${t.Id}">
|
||||||
<img src="data:image/png;base64,${icon}">
|
<img src="${icon}">
|
||||||
<div class="description">${t.ProcessName}</div>
|
<div class="description">${t.ProcessName}</div>
|
||||||
<div class="usage">M: ${mem}%</div>
|
<div class="usage">M: ${mem}%</div>
|
||||||
<div class="path">${t.Path}</div></div>`;
|
<div class="path">${t.Path}</div></div>`;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (t.app) {
|
if (t.app) {
|
||||||
icon = localStorage[basename(t.app, '.app')];
|
icon = 'data:image/png;base64,' + localStorage[basename(t.app, '.app')];
|
||||||
} else {
|
} else {
|
||||||
icon = DARWIN_DEFAULT_ICON
|
icon = DARWIN_DEFAULT_ICON
|
||||||
}
|
}
|
||||||
var n = t.nam.toUpperCase();
|
var n = t.nam.toUpperCase();
|
||||||
if (n.includes(text)) {
|
if (n.includes(text)) {
|
||||||
taskinfo = `<div class="taskinfo" name="${t.pid}">
|
taskinfo = `<div class="taskinfo" id="${t.pid}">
|
||||||
<div class="user">${t.usr}</div>
|
<!--<div class="user">${t.usr}</div>-->
|
||||||
<img src="data:image/png;base64,${icon}">
|
<img src="${icon}">
|
||||||
<div class="description">${t.nam}</div>
|
<div class="description">${t.nam}</div>
|
||||||
<div class="usage">C: ${t.cpu}% M: ${t.mem}%</div>
|
<div class="usage">C: ${t.cpu}% M: ${t.mem}%</div>
|
||||||
<div class="path">${t.path}</div></div>`;
|
<div class="path">${t.path}</div></div>`;
|
||||||
@ -87,6 +85,7 @@ show = text => {
|
|||||||
window.mouseLockTime = new Date().getTime();
|
window.mouseLockTime = new Date().getTime();
|
||||||
let tasknum = $(".taskinfo").length
|
let tasknum = $(".taskinfo").length
|
||||||
utools.setExpendHeight(tasknum > 11 ? 550 : 50 * tasknum);
|
utools.setExpendHeight(tasknum > 11 ? 550 : 50 * tasknum);
|
||||||
|
if(text) $(".description,.path").highlight(text, 'founds');
|
||||||
}
|
}
|
||||||
|
|
||||||
utools.onPluginEnter( async ({ code, type, payload }) => {
|
utools.onPluginEnter( async ({ code, type, payload }) => {
|
||||||
@ -97,26 +96,41 @@ utools.onPluginEnter( async ({ code, type, payload }) => {
|
|||||||
localStorage[key] = db.data[key]
|
localStorage[key] = db.data[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var initTime = new Date().getTime();
|
// var initTime = new Date().getTime();
|
||||||
window.tasks = await tasklist();
|
window.tasks = await tasklist();
|
||||||
var tasksLoadedTime = new Date().getTime();
|
|
||||||
tasksLoadedTime -= initTime;
|
|
||||||
// 读取进程耗时
|
// 读取进程耗时
|
||||||
console.log(tasksLoadedTime);
|
// var tasksLoadedTime = new Date().getTime();
|
||||||
|
// tasksLoadedTime -= initTime;
|
||||||
|
// console.log(tasksLoadedTime);
|
||||||
await CacheIcons(tasks);
|
await CacheIcons(tasks);
|
||||||
var iconsCachedTime = new Date().getTime();
|
|
||||||
iconsCachedTime -= (tasksLoadedTime + initTime);
|
|
||||||
// 缓存图标耗时
|
// 缓存图标耗时
|
||||||
console.log(iconsCachedTime);
|
// var iconsCachedTime = new Date().getTime();
|
||||||
|
// iconsCachedTime -= (tasksLoadedTime + initTime);
|
||||||
|
// console.log(iconsCachedTime);
|
||||||
show('');
|
show('');
|
||||||
|
sign = isWin ? 'Alt' : '⌘';
|
||||||
|
$('.numbers').html(`
|
||||||
|
<div>${sign}+1</div>
|
||||||
|
<div>${sign}+2</div>
|
||||||
|
<div>${sign}+3</div>
|
||||||
|
<div>${sign}+4</div>
|
||||||
|
<div>${sign}+5</div>
|
||||||
|
<div>${sign}+6</div>
|
||||||
|
<div>${sign}+7</div>
|
||||||
|
<div>${sign}+8</div>
|
||||||
|
<div>${sign}+9</div>
|
||||||
|
<div>${sign}+0</div>
|
||||||
|
<div>${sign}+-</div>`
|
||||||
|
);
|
||||||
utools.setSubInput(({ text }) => {
|
utools.setSubInput(({ text }) => {
|
||||||
window.text = text;
|
window.text = text;
|
||||||
show(text);
|
show(text);
|
||||||
}, '输入进程名进行搜索');
|
}, '左/右键 -> 关闭/重启进程; ctrl + c/e/r -> 复制路径/在文件管理器中显示/重启');
|
||||||
utools.onPluginOut(() => {
|
utools.onPluginOut(() => {
|
||||||
var update = { _id: "iconCache", data: localStorage };
|
var update = { _id: "iconCache", data: localStorage };
|
||||||
if (db) update._rev = db._rev;
|
if (db) update._rev = db._rev;
|
||||||
utools.db.put(update);
|
utools.db.put(update);
|
||||||
|
$('.numbers').html('');
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -137,30 +151,30 @@ $("#tasklist").on('mousemove', '.taskinfo', function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).keydown(e => {
|
Mousetrap.bind('ctrl+c', () => {
|
||||||
switch (e.keyCode) {
|
var path = $(".select").children(".path").html();
|
||||||
case 13:
|
copy(path);
|
||||||
if (event.shiftKey) {
|
utools.showNotification('已复制')
|
||||||
|
return false
|
||||||
|
});
|
||||||
|
|
||||||
|
Mousetrap.bind('ctrl+e', () => {
|
||||||
|
var path = $(".select").children(".path").html();
|
||||||
|
open(path);
|
||||||
|
return false
|
||||||
|
});
|
||||||
|
|
||||||
|
Mousetrap.bind('ctrl+r', () => {
|
||||||
kill($(".select").attr('id'), $(".select").children(".path").html().replace(/\\/g, '/'))
|
kill($(".select").attr('id'), $(".select").children(".path").html().replace(/\\/g, '/'))
|
||||||
} else {
|
return false
|
||||||
|
});
|
||||||
|
|
||||||
|
Mousetrap.bind('enter', () => {
|
||||||
kill($(".select").attr('id'), false);
|
kill($(".select").attr('id'), false);
|
||||||
}
|
return false
|
||||||
break;
|
});
|
||||||
case 38:
|
|
||||||
let pre = $(".select").prev();
|
Mousetrap.bind('down', () => {
|
||||||
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();
|
let next = $(".select").next();
|
||||||
if (next.length != 0) {
|
if (next.length != 0) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@ -173,6 +187,89 @@ $(document).keydown(e => {
|
|||||||
$(".select").animate({ "opacity": "0.3" })
|
$(".select").animate({ "opacity": "0.3" })
|
||||||
.animate({ "opacity": "1" })
|
.animate({ "opacity": "1" })
|
||||||
}
|
}
|
||||||
break;
|
return false
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Mousetrap.bind('up', () => {
|
||||||
|
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" })
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
});
|
||||||
|
|
||||||
|
key = isWin ? 'alt' : 'command'
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+1`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+2`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 1;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+3`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 2;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+4`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 3;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+5`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 4;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+6`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 5;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+7`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 6;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+8`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 7;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+9`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 8;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+0`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 9;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
Mousetrap.bind([`${key}+-`], function (e) {
|
||||||
|
var index = ($(window).scrollTop()) / 50 + 10;
|
||||||
|
kill($(`.taskinfo:eq(${index})`).attr('id'), false);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
@ -7,12 +7,14 @@
|
|||||||
<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 id="infopannel"></div>
|
<div class="numbers"></div>
|
||||||
<script src="assets/index.js"></script>
|
<script src="assets/index.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user