const { Window } = Widget; const { execAsync } = Utils; import Tablet from '../../services/tablet.ts'; import Gesture from './gesture.ts'; import Keyboard from './keyboard.ts'; /* Types */ import { OskWindow } from 'global-types'; // Start ydotool daemon execAsync('ydotoold').catch(print); // Window export default () => { const window = Window({ name: 'osk', layer: 'overlay', anchor: ['left', 'bottom', 'right'], }) .hook(Tablet, (self: OskWindow, state) => { self.attribute.setVisible(state); }, 'osk-toggled') .hook(Tablet, () => { window.visible = !(!Tablet.tabletMode && !Tablet.oskState); }, 'mode-toggled'); window.child = Keyboard(window); return Gesture(window); };