feat(ags): make logic behind tablet mode toggle
This commit is contained in:
parent
23e50efee0
commit
ba200fb9b7
3 changed files with 57 additions and 4 deletions
38
config/ags/bin/tablet-toggle.sh
Executable file
38
config/ags/bin/tablet-toggle.sh
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
tablet() {
|
||||
gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
|
||||
|
||||
brightnessctl -d tpacpi::kbd_backlight s 0
|
||||
|
||||
"$HYPR_PATH"/autorotate.sh &
|
||||
|
||||
evtest --grab "/dev/input/by-path/platform-i8042-serio-0-event-kbd" &
|
||||
evtest --grab "/dev/input/by-path/platform-i8042-serio-1-event-mouse" &
|
||||
evtest --grab "/dev/input/by-path/platform-AMDI0010:02-event-mouse" &
|
||||
evtest --grab "/dev/input/by-path/platform-thinkpad_acpi-event" &
|
||||
evtest --grab "/dev/video-bus" &
|
||||
}
|
||||
|
||||
laptop() {
|
||||
gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false
|
||||
|
||||
brightnessctl -d tpacpi::kbd_backlight s 2
|
||||
|
||||
killall -r autorotate.sh
|
||||
killall -r evtest
|
||||
}
|
||||
|
||||
toggle () {
|
||||
if [[ "$(gsettings get org.gnome.desktop.a11y.applications screen-keyboard-enabled)" == "false" ]]; then
|
||||
echo "Tablet"
|
||||
tablet > /dev/null
|
||||
else
|
||||
echo "Laptop"
|
||||
laptop > /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ $1 == "toggle" ]];then
|
||||
toggle
|
||||
fi
|
|
@ -5,7 +5,7 @@ import { CurrentWindow } from './current-window.js';
|
|||
import { Workspaces } from './workspaces.js';
|
||||
import { OskToggle } from './osk-toggle.js';
|
||||
import { Heart } from './heart.js';
|
||||
import { TabletToggle } from './tablet-toggle.js';
|
||||
import { TabletToggle } from './tablet-toggle.js';
|
||||
|
||||
export const Bar = Window({
|
||||
name: 'left-bar',
|
||||
|
|
|
@ -1,12 +1,27 @@
|
|||
const { Box, Label } = ags.Widget;
|
||||
const { subprocess } = ags.Utils;
|
||||
|
||||
import { EventBox } from '../common.js';
|
||||
|
||||
export const TabletToggle = EventBox({
|
||||
className: 'toggle-off',
|
||||
onPrimaryClickRelease: '',
|
||||
child: ags.Widget.Box({
|
||||
onPrimaryClickRelease: function() {
|
||||
subprocess(
|
||||
['bash', '-c', '/home/matt/.nix/config/ags/bin/tablet-toggle.sh toggle'],
|
||||
(output) => {
|
||||
print(output)
|
||||
if (output == 'Tablet') {
|
||||
TabletToggle.toggleClassName('toggle-on', true);
|
||||
} else {
|
||||
TabletToggle.toggleClassName('toggle-on', false);
|
||||
}
|
||||
},
|
||||
);
|
||||
},
|
||||
child: Box({
|
||||
className: 'tablet-toggle',
|
||||
vertical: false,
|
||||
child: ags.Widget.Label({
|
||||
child: Label({
|
||||
label: " ",
|
||||
}),
|
||||
}),
|
||||
|
|
Loading…
Reference in a new issue