fix osk toggles

This commit is contained in:
end-4
2024-04-08 18:19:55 +07:00
parent 2a5de43e61
commit 312eb75c51
7 changed files with 19 additions and 24 deletions
@@ -172,8 +172,8 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({ export default () => EventBox({
onScrollUp: () => Hyprland.messageAsync(`dispatch workspace -1`).catch(print), onScrollUp: () => Hyprland.messageAsync(`dispatch workspace -1`).catch(print),
onScrollDown: () => Hyprland.messageAsync(`dispatch workspace +1`).catch(print), onScrollDown: () => Hyprland.messageAsync(`dispatch workspace +1`).catch(print),
onMiddleClickRelease: () => App.toggleWindow('overview'), onMiddleClick: () => toggleWindowOnAllMonitors('osk'),
onSecondaryClickRelease: () => App.toggleWindow('osk'), onSecondaryClick: () => App.toggleWindow('overview'),
attribute: { attribute: {
clicked: false, clicked: false,
ws_group: 0, ws_group: 0,
@@ -147,8 +147,8 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({ export default () => EventBox({
onScrollUp: (self) => switchToRelativeWorkspace(self, -1), onScrollUp: (self) => switchToRelativeWorkspace(self, -1),
onScrollDown: (self) => switchToRelativeWorkspace(self, +1), onScrollDown: (self) => switchToRelativeWorkspace(self, +1),
onMiddleClickRelease: () => App.toggleWindow('overview'), onMiddleClick: () => toggleWindowOnAllMonitors('osk'),
onSecondaryClickRelease: () => App.toggleWindow('osk'), onSecondaryClick: () => App.toggleWindow('overview'),
attribute: { clicked: false }, attribute: { clicked: false },
child: Box({ child: Box({
homogeneous: true, homogeneous: true,
+1 -1
View File
@@ -78,7 +78,7 @@ const Utilities = () => Box({
}), }),
UtilButton({ UtilButton({
name: 'Toggle on-screen keyboard', icon: 'keyboard', onClicked: () => { name: 'Toggle on-screen keyboard', icon: 'keyboard', onClicked: () => {
App.toggleWindow('osk'); toggleWindowOnAllMonitors('osk');
} }
}), }),
] ]
@@ -149,7 +149,7 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({ export default () => EventBox({
onScrollUp: () => Hyprland.messageAsync(`dispatch workspace -1`).catch(print), onScrollUp: () => Hyprland.messageAsync(`dispatch workspace -1`).catch(print),
onScrollDown: () => Hyprland.messageAsync(`dispatch workspace +1`).catch(print), onScrollDown: () => Hyprland.messageAsync(`dispatch workspace +1`).catch(print),
onMiddleClick: () => App.toggleWindow('osk'), onMiddleClick: () => toggleWindowOnAllMonitors('osk'),
onSecondaryClick: () => App.toggleWindow('overview'), onSecondaryClick: () => App.toggleWindow('overview'),
attribute: { attribute: {
clicked: false, clicked: false,
@@ -147,8 +147,8 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({ export default () => EventBox({
onScrollUp: (self) => switchToRelativeWorkspace(self, -1), onScrollUp: (self) => switchToRelativeWorkspace(self, -1),
onScrollDown: (self) => switchToRelativeWorkspace(self, +1), onScrollDown: (self) => switchToRelativeWorkspace(self, +1),
onMiddleClickRelease: () => App.toggleWindow('overview'), onMiddleClick: () => toggleWindowOnAllMonitors('osk'),
onSecondaryClickRelease: () => App.toggleWindow('osk'), onSecondaryClick: () => App.toggleWindow('overview'),
attribute: { clicked: false }, attribute: { clicked: false },
child: Box({ child: Box({
homogeneous: true, homogeneous: true,
@@ -209,7 +209,8 @@ const KeyboardWindow = () => Box({
}) })
], ],
setup: (self) => self.hook(App, (self, name, visible) => { // Update on open setup: (self) => self.hook(App, (self, name, visible) => { // Update on open
if (name == 'osk' && visible) { if(!name) return;
if (name.startsWith('osk') && visible) {
self.setCss(`margin-bottom: -0px;`); self.setCss(`margin-bottom: -0px;`);
} }
}), }),
+9 -15
View File
@@ -33,25 +33,19 @@ globalThis['cycleMode'] = () => {
// // Window controls // // Window controls
const range = (length, start = 1) => Array.from({ length }, (_, i) => i + start); const range = (length, start = 1) => Array.from({ length }, (_, i) => i + start);
globalThis['toggleWindowOnAllMonitors'] = (name) => { globalThis['toggleWindowOnAllMonitors'] = (name) => {
function forMonitors(widget) { range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => { App.toggleWindow(`${name}${id}`);
App.toggleWindow(`${name}${id}`); });
});
}
} }
globalThis['closeWindowOnAllMonitors'] = (name) => { globalThis['closeWindowOnAllMonitors'] = (name) => {
function forMonitors(widget) { range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => { App.closeWindow(`${name}${id}`);
App.closeWindow(`${name}${id}`); });
});
}
} }
globalThis['openWindowOnAllMonitors'] = (name) => { globalThis['openWindowOnAllMonitors'] = (name) => {
function forMonitors(widget) { range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => { App.openWindow(`${name}${id}`);
App.openWindow(`${name}${id}`); });
});
}
} }
globalThis['closeEverything'] = () => { globalThis['closeEverything'] = () => {