forked from Shinonome/dots-hyprland
bar: fixed kb layout+variant display in top right
This commit is contained in:
@@ -46,13 +46,24 @@ Singleton {
|
|||||||
if (!line.trim() || line.trim().startsWith('!'))
|
if (!line.trim() || line.trim().startsWith('!'))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Match: key + whitespace + description
|
// Match layout: (whitespace + ) key + whitespace + description
|
||||||
const match = line.match(/^\s*(\S+)\s+(.+)$/);
|
const matchLayout = line.match(/^\s*(\S+)\s+(.+)$/);
|
||||||
if (match && match[2] === targetDescription) {
|
if (matchLayout && matchLayout[2] === targetDescription) {
|
||||||
root.cachedLayoutCodes[match[2]] = match[1];
|
root.cachedLayoutCodes[matchLayout[2]] = matchLayout[1];
|
||||||
root.currentLayoutCode = match[1];
|
root.currentLayoutCode = matchLayout[1];
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Match variant: (whitespace + ) variant + whitespace + key + whitespace + description
|
||||||
|
const matchVariant = line.match(/^\s*(\S+)\s+(\S+)\s+(.+)$/);
|
||||||
|
if (matchVariant && matchVariant[3] === targetDescription) {
|
||||||
|
const complexLayout = matchVariant[2] + " " + matchVariant[1];
|
||||||
|
root.cachedLayoutCodes[matchVariant[3]] = complexLayout;
|
||||||
|
root.currentLayourCode = complexLayout;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
});
|
});
|
||||||
// console.log("[HyprlandXkb] Found line:", foundLine);
|
// console.log("[HyprlandXkb] Found line:", foundLine);
|
||||||
// console.log("[HyprlandXkb] Layout:", root.currentLayoutName, "| Code:", root.currentLayoutCode);
|
// console.log("[HyprlandXkb] Layout:", root.currentLayoutName, "| Code:", root.currentLayoutCode);
|
||||||
|
|||||||
Reference in New Issue
Block a user