diff --git a/src/keybindings.rs b/src/keybindings.rs index ef22622..d5ec6ec 100644 --- a/src/keybindings.rs +++ b/src/keybindings.rs @@ -1,11 +1,11 @@ -use penrose::x11rb::RustConn; use penrose::{ builtin::{ actions::{exit, modify_with, send_layout_message, spawn}, layout::messages::{ExpandMain, IncMain, ShrinkMain}, }, - core::bindings::{KeyEventHandler,parse_keybindings_with_xmodmap}, + core::bindings::KeyEventHandler, map, + x11rb::RustConn, }; use std::collections::HashMap; @@ -62,4 +62,4 @@ mod tests { panic!("{e}"); } } -} \ No newline at end of file +} diff --git a/src/main.rs b/src/main.rs index 8139f82..ea2f7c2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,14 +1,23 @@ -use penrose::x11rb::RustConn; use penrose::{ Result, - core::bindings::parse_keybindings_with_xmodmap, - core::{Config, WindowManager}, + core::{Config, WindowManager, bindings::parse_keybindings_with_xmodmap}, + extensions::hooks::{add_ewmh_hooks, startup::SpawnOnStartup}, + x11rb::RustConn, }; use tracing_subscriber::{self, prelude::*}; +const STARTUP_SCRIPT: &str = "/home/candifloss/Works/penrose-wm/test/penrose-startup.sh"; + mod keybindings; mod mousebindings; +fn config() -> Config { + Config { + startup_hook: Some(SpawnOnStartup::boxed(STARTUP_SCRIPT)), + ..Config::default() + } +} + fn main() -> Result<()> { tracing_subscriber::fmt() .with_env_filter("info") @@ -19,7 +28,7 @@ fn main() -> Result<()> { let key_bindings = parse_keybindings_with_xmodmap(keybindings::raw_key_bindings())?; let mouse_bindings = mousebindings::mouse_bindings(); - let wm = WindowManager::new(Config::default(), key_bindings, mouse_bindings, conn)?; + let wm = WindowManager::new(add_ewmh_hooks(config()), key_bindings, mouse_bindings, conn)?; wm.run() }