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

View file

@ -172,8 +172,8 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({
onScrollUp: () => Hyprland.messageAsync(`dispatch workspace -1`).catch(print),
onScrollDown: () => Hyprland.messageAsync(`dispatch workspace +1`).catch(print),
onMiddleClickRelease: () => App.toggleWindow('overview'),
onSecondaryClickRelease: () => App.toggleWindow('osk'),
onMiddleClick: () => toggleWindowOnAllMonitors('osk'),
onSecondaryClick: () => App.toggleWindow('overview'),
attribute: {
clicked: false,
ws_group: 0,

View file

@ -147,8 +147,8 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({
onScrollUp: (self) => switchToRelativeWorkspace(self, -1),
onScrollDown: (self) => switchToRelativeWorkspace(self, +1),
onMiddleClickRelease: () => App.toggleWindow('overview'),
onSecondaryClickRelease: () => App.toggleWindow('osk'),
onMiddleClick: () => toggleWindowOnAllMonitors('osk'),
onSecondaryClick: () => App.toggleWindow('overview'),
attribute: { clicked: false },
child: Box({
homogeneous: true,

View file

@ -78,7 +78,7 @@ const Utilities = () => Box({
}),
UtilButton({
name: 'Toggle on-screen keyboard', icon: 'keyboard', onClicked: () => {
App.toggleWindow('osk');
toggleWindowOnAllMonitors('osk');
}
}),
]

View file

@ -149,7 +149,7 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({
onScrollUp: () => 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'),
attribute: {
clicked: false,

View file

@ -147,8 +147,8 @@ const WorkspaceContents = (count = 10) => {
export default () => EventBox({
onScrollUp: (self) => switchToRelativeWorkspace(self, -1),
onScrollDown: (self) => switchToRelativeWorkspace(self, +1),
onMiddleClickRelease: () => App.toggleWindow('overview'),
onSecondaryClickRelease: () => App.toggleWindow('osk'),
onMiddleClick: () => toggleWindowOnAllMonitors('osk'),
onSecondaryClick: () => App.toggleWindow('overview'),
attribute: { clicked: false },
child: Box({
homogeneous: true,

View file

@ -209,7 +209,8 @@ const KeyboardWindow = () => Box({
})
],
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;`);
}
}),

View file

@ -33,25 +33,19 @@ globalThis['cycleMode'] = () => {
// // Window controls
const range = (length, start = 1) => Array.from({ length }, (_, i) => i + start);
globalThis['toggleWindowOnAllMonitors'] = (name) => {
function forMonitors(widget) {
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
App.toggleWindow(`${name}${id}`);
});
}
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
App.toggleWindow(`${name}${id}`);
});
}
globalThis['closeWindowOnAllMonitors'] = (name) => {
function forMonitors(widget) {
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
App.closeWindow(`${name}${id}`);
});
}
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
App.closeWindow(`${name}${id}`);
});
}
globalThis['openWindowOnAllMonitors'] = (name) => {
function forMonitors(widget) {
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
App.openWindow(`${name}${id}`);
});
}
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach(id => {
App.openWindow(`${name}${id}`);
});
}
globalThis['closeEverything'] = () => {