Compare commits
3 commits
23e50efee0
...
ca4e1be045
Author | SHA1 | Date | |
---|---|---|---|
ca4e1be045 | |||
a9e4951e3a | |||
ba200fb9b7 |
5 changed files with 72 additions and 37 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
|
|
@ -1,12 +1,27 @@
|
||||||
|
const { Box, Label } = ags.Widget;
|
||||||
|
const { subprocess } = ags.Utils;
|
||||||
|
|
||||||
import { EventBox } from '../common.js';
|
import { EventBox } from '../common.js';
|
||||||
|
|
||||||
export const TabletToggle = EventBox({
|
export const TabletToggle = EventBox({
|
||||||
className: 'toggle-off',
|
className: 'toggle-off',
|
||||||
onPrimaryClickRelease: '',
|
onPrimaryClickRelease: function() {
|
||||||
child: ags.Widget.Box({
|
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',
|
className: 'tablet-toggle',
|
||||||
vertical: false,
|
vertical: false,
|
||||||
child: ags.Widget.Label({
|
child: Label({
|
||||||
label: " ",
|
label: " ",
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -1,22 +1,14 @@
|
||||||
// https://github.com/Aylur/dotfiles/blob/f03e58ba0d3b56f1144631c179ab27357e466753/.config/ags/modules/hyprland.js#L4
|
|
||||||
import Gdk from 'gi://Gdk';
|
|
||||||
const display = Gdk.Display.get_default();
|
|
||||||
const { App } = ags;
|
|
||||||
const { Hyprland, Applications } = ags.Service;
|
const { Hyprland, Applications } = ags.Service;
|
||||||
const { execAsync, lookUpIcon } = ags.Utils;
|
const { execAsync } = ags.Utils;
|
||||||
const { Box, Button, EventBox, Label, Icon } = ags.Widget;
|
const { Box, Button, Label, Revealer } = ags.Widget;
|
||||||
|
|
||||||
export const Workspace = ({ i, } = {}) =>
|
import { EventBox } from '../common.js';
|
||||||
ags.Widget.Revealer({
|
|
||||||
|
const Workspace = ({ i } = {}) =>
|
||||||
|
Revealer({
|
||||||
transition: "slide_right",
|
transition: "slide_right",
|
||||||
child: EventBox({
|
child: EventBox({
|
||||||
onPrimaryClickRelease: () => execAsync(`hyprctl dispatch workspace ${i}`).catch(print),
|
onPrimaryClickRelease: () => execAsync(`hyprctl dispatch workspace ${i}`).catch(print),
|
||||||
onHover: box => {
|
|
||||||
box.window.set_cursor(Gdk.Cursor.new_from_name(display, 'pointer'));
|
|
||||||
},
|
|
||||||
onHoverLost: box => {
|
|
||||||
box.window.set_cursor(null);
|
|
||||||
},
|
|
||||||
child: Box({
|
child: Box({
|
||||||
className: 'button',
|
className: 'button',
|
||||||
child: Label(`${i}`),
|
child: Label(`${i}`),
|
||||||
|
@ -33,32 +25,22 @@ ags.Widget.Revealer({
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
var prev = Hyprland.active.workspace.id;
|
|
||||||
|
|
||||||
export const Workspaces = props => Box({
|
export const Workspaces = props => Box({
|
||||||
className: 'workspaces panel-button',
|
className: 'workspaces',
|
||||||
children: [EventBox({
|
children: [EventBox({
|
||||||
child: Box({
|
child: Box({
|
||||||
|
children: Array.from({ length: 15 }, (_, i) => i + 1).map(i => Workspace({ i: i})),
|
||||||
connections: [[Hyprland, box => {
|
connections: [[Hyprland, box => {
|
||||||
let workspaces = [];
|
let workspaces = [];
|
||||||
|
|
||||||
new Promise(resolve => {
|
|
||||||
|
|
||||||
Hyprland.workspaces.forEach(ws => {
|
Hyprland.workspaces.forEach(ws => {
|
||||||
if (ws.id > 0) workspaces.push(ws);
|
if (ws.id > 0) workspaces.push(ws);
|
||||||
});
|
});
|
||||||
|
|
||||||
resolve();
|
|
||||||
}).then(value => {
|
|
||||||
|
|
||||||
box.children.forEach(rev => rev.reveal_child = false);
|
box.children.forEach(rev => rev.reveal_child = false);
|
||||||
workspaces.forEach(ws => {
|
workspaces.forEach(ws => {
|
||||||
box.children[ws.id - 1].reveal_child = true;
|
box.children[ws.id - 1].reveal_child = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
}]],
|
}]],
|
||||||
children: Array.from({ length: 15 }, (_, i) => i + 1).map(i => Workspace({ i: i})),
|
|
||||||
}),
|
}),
|
||||||
})],
|
})],
|
||||||
});
|
});
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
networking.hostName = "wim";
|
networking.hostName = "wim";
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.networkmanager.wifi.backend = "iwd";
|
networking.networkmanager.wifi.backend = "wpa_supplicant";
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/Montreal";
|
time.timeZone = "America/Montreal";
|
||||||
|
|
Loading…
Reference in a new issue