added option to change path to keybinds

This commit is contained in:
Myryk
2024-06-10 23:27:50 +02:00
parent b6e34a4ab1
commit 287216dac2
3 changed files with 23 additions and 6 deletions
@@ -56,6 +56,9 @@ let configOptions = {
'default': "auto",
},
},
'configPaths': {
'keybinds': "",
},
'gaming': {
'crosshair': {
'size': 20,
+15 -6
View File
@@ -5,13 +5,22 @@ import Widget from "resource:///com/github/Aylur/ags/widget.js";
import { IconTabContainer } from "../.commonwidgets/tabcontainer.js";
const { Box, Label, Scrollable } = Widget;
const HYPRLAND_KEYBIND_CONFIG_FILE = `${GLib.get_user_config_dir()}/hypr/hyprland/keybinds.conf`;
const HYPRLAND_KEYBIND_CONFIG_FILE = userOptions.configPaths.keybinds ?
userOptions.configPaths.keybinds : `${GLib.get_user_config_dir()}/hypr/hyprland/keybinds.conf`;
const KEYBIND_SECTIONS_PER_PAGE = 3;
const keybindList = JSON.parse(
Utils.exec(
`${App.configDir}/scripts/hyprland/get_keybinds.py --path ${HYPRLAND_KEYBIND_CONFIG_FILE}`,
),
);
const keybindListfunc = () => {
let data = Utils.exec(`${App.configDir}/scripts/hyprland/get_keybinds.py --path ${HYPRLAND_KEYBIND_CONFIG_FILE}`);
if (data == "\"error\"") {
Utils.timeout(2000, () => Utils.execAsync(['notify-send',
'Update path to keybinds',
'Keybinds hyprland config file not found. Check your user options.',
'-a', 'ags',
]).catch(print))
return { children: [] };
}
return JSON.parse(data);
};
const keybindList = keybindListfunc();
const keySubstitutions = {
"Super": "󰖳",
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
import argparse
import re
import os
from os.path import expandvars as os_expandvars
from typing import Dict, List
@@ -34,6 +35,8 @@ class Section(dict):
def read_content(path: str) -> str:
if (not os.access(os_expandvars(path), os.R_OK)):
return ("error")
with open(os_expandvars(path), "r") as file:
return file.read()
@@ -201,6 +204,8 @@ def get_binds_recursive(current_content, scope):
def parse_keys(path: str) -> Dict[str, List[KeyBinding]]:
global content_lines
content_lines = read_content(path).splitlines()
if content_lines[0] == "error":
return "error"
return get_binds_recursive(Section([], [], ""), 0)