cheatsheet: switch on all monitors; add tab cycle (#637)

This commit is contained in:
end-4
2024-06-22 08:01:23 +07:00
parent d61ffb7e2f
commit abc25e624d
3 changed files with 20 additions and 11 deletions
@@ -217,6 +217,7 @@ let configOptions = {
},
'nextTab': "Ctrl+Page_Down",
'prevTab': "Ctrl+Page_Up",
'cycleTab': "Ctrl+Tab",
}
},
}
+14 -6
View File
@@ -118,18 +118,26 @@ export default (id) => {
clickCloseRegion({ name: 'cheatsheet' }),
],
setup: (self) => self.on('key-press-event', (widget, event) => { // Typing
// Whole sheet
if (checkKeybind(event, userOptions.keybinds.cheatsheet.nextTab))
sheetContents[id].nextTab();
sheetContents.forEach(tab => tab.nextTab())
else if (checkKeybind(event, userOptions.keybinds.cheatsheet.prevTab))
sheetContents[id].prevTab();
sheetContents.forEach(tab => tab.prevTab())
else if (checkKeybind(event, userOptions.keybinds.cheatsheet.cycleTab))
sheetContents.forEach(tab => tab.cycleTab())
// Keybinds
if (sheets.attribute.names[sheets.attribute.shown.value] == 'Keybinds') { // If Keybinds tab is focused
if (checkKeybind(event, userOptions.keybinds.cheatsheet.keybinds.nextTab)) {
const toSwitchTab = sheets.attribute.children[sheets.attribute.shown.value];
toSwitchTab.nextTab();
sheetContents.forEach((sheet) => {
const toSwitchTab = sheet.attribute.children[sheet.attribute.shown.value];
toSwitchTab.nextTab();
})
}
else if (checkKeybind(event, userOptions.keybinds.cheatsheet.keybinds.prevTab)) {
const toSwitchTab = sheets.attribute.children[sheets.attribute.shown.value];
toSwitchTab.prevTab();
sheetContents.forEach((sheet) => {
const toSwitchTab = sheet.attribute.children[sheet.attribute.shown.value];
toSwitchTab.prevTab();
})
}
}
})
+5 -5
View File
@@ -75,14 +75,14 @@ const timeRow = Box({
return execAsync(['bash', '-c', 'uptime']).then(output => {
const uptimeRegex = /up\s+((\d+)\s+days?,\s+)?((\d+):(\d+)),/;
const matches = uptimeRegex.exec(output);
if (matches) {
const days = matches[2] ? parseInt(matches[2]) : 0;
const hours = matches[4] ? parseInt(matches[4]) : 0;
const minutes = matches[5] ? parseInt(matches[5]) : 0;
let formattedUptime = '';
if (days > 0) {
formattedUptime += `${days} d `;
}
@@ -90,7 +90,7 @@ const timeRow = Box({
formattedUptime += `${hours} h `;
}
formattedUptime += `${minutes} m`;
return formattedUptime;
} else {
throw new Error('Failed to parse uptime output');
@@ -98,7 +98,7 @@ const timeRow = Box({
});
}
};
self.poll(5000, label => {
getUptime().then(upTimeString => {
label.label = `Uptime: ${upTimeString}`;