From 754ab302b861d69e6081db91b0785494c6917232 Mon Sep 17 00:00:00 2001 From: Linus Walker Date: Fri, 4 Aug 2023 11:01:09 +0630 Subject: [PATCH] working on config file --- Cargo.toml | 5 ++++- src/main.rs | 11 ++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1deb390..55acf0d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,9 @@ lto = true codegen-units = 1 [dependencies] +confy = "0.5.1" +directories = "5.0.1" penrose = "0.3.3" -simplelog = "0.12.1" +serde = { version = "1.0.181", features = ["derive"] } +serde_json = "1.0.104" tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } diff --git a/src/main.rs b/src/main.rs index d6256b2..37ac5ec 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,4 @@ +use directories::BaseDirs; use penrose::{ builtin::{ actions::{exit, modify_with, send_layout_message, spawn}, @@ -11,9 +12,15 @@ use penrose::{ x11rb::RustConn, Result, }; -use std::collections::HashMap; +use serde::{Deserialize, Serialize}; +use std::{collections::HashMap, fs::File}; use tracing_subscriber::{self, prelude::*}; +#[derive(Serialize, Deserialize, Debug)] +struct WMConfig { + bindings: HashMap, +} + fn raw_key_bindings() -> HashMap>> { let mut raw_bindings = map! { map_keys: |k: &str| k.to_string(); @@ -37,6 +44,8 @@ fn raw_key_bindings() -> HashMap>> { "M-A-Escape" => exit(), }; + let config_dir = BaseDirs::new().unwrap().config_dir(); + for tag in &["1", "2", "3", "4", "5", "6", "7", "8", "9"] { raw_bindings.extend([ (