oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git

fixed defaults and readme

Commit
3b8534fe6bcceea7fb182cfcc2ecb92a0aaf10d7
Parent
5099cb0
Author
tonybtw <tonybtw@tonybtw.com>
Date
2025-10-15 04:06:19

Diff

diff --git a/default.nix b/default.nix
index 3aabb1f..51bbe18 100644
--- a/default.nix
+++ b/default.nix
@@ -9,7 +9,7 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "oxwm";
-  version = "0.1.0";
+  version = "0.1.12";
 
   src = ./.;
 
diff --git a/readme.org b/readme.org
index b4054bc..807c68c 100644
--- a/readme.org
+++ b/readme.org
@@ -81,13 +81,9 @@ Add this to your =configuration.nix=:
 #+end_src
 
 *** Initialize your config
-After rebuilding your system with =sudo nixos-rebuild switch=, log in via your display manager, then run:
+After rebuilding your system with =sudo nixos-rebuild switch=, log in via your display manager.
 
-#+begin_src sh
-oxwm --init
-#+end_src
-
-This creates your personal config at =~/.config/oxwm/config.rs=. Edit it and reload with =Mod+Shift+R=.
+On first launch, your initial config file will be automatically created and placed in =~/.config/oxwm/config.ron=. Edit it and reload with =Mod+Shift+R=.
 
 *** Advanced: Using a specific oxwm version
 If you want to pin or customize the oxwm package:
@@ -153,25 +149,23 @@ startx
 If using a display manager (LightDM, GDM, SDDM), OXWM should appear in the session list after installation.
 
 * Configuration
-OXWM follows the suckless philosophy: configuration is done by editing =~/.config/oxwm/config.rs= and recompiling.
-
-On first run with =oxwm --init=, your config is automatically created from the template. Your =config.rs= is gitignored, so you can customize it without worrying about merge conflicts.
+OXWM was inspired by dwm, but ditched the suckless philosophy. This philosophy quite literally discourages users from using the software for the sake of 'elitism'. I find that quite nonsensical, so I went ahead and created this project to be user friendly. The configuration is done by editing =~/.config/oxwm/config.ron= and the binary can be reloaded with a hotkey (Super+Shift+R by efault).
 
-Edit =~/.config/oxwm/config.rs= to customize:
+Edit =~/.config/oxwm/config.ron= to customize:
 - Keybindings
 - Colors and appearance
 - Status bar blocks
 - Gaps and borders
 - Terminal and applications
 
-After making changes, reload OXWM with =Mod+Shift+R= (auto-recompiles if needed).
+After making changes, reload OXWM with =Mod+Shift+R= 
 
 * Contributing
 When contributing to OXWM:
 
-1. Never commit your personal =~/.config/oxwm/config.rs=
-2. Only modify =templates/config.rs= if adding new configuration options
-3. Test your changes with =just test= using Xephyr
+1. Never commit your personal =~/.config/oxwm/config.ron=
+2. Only modify =templates/config.ron= if adding new configuration options
+3. Test your changes with =just test= using Xephyr/Xwayland
 4. Document any new features or keybindings
 
 * Key Bindings
diff --git a/src/lib.rs b/src/lib.rs
index 2da26e3..77a87fe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -91,7 +91,7 @@ impl Default for Config {
                     &[MODKEY],
                     keycodes::D,
                     KeyAction::Spawn,
-                    Arg::Array(&["sh", "-c", "dmenu_run"]),
+                    Arg::Array(&["sh", "-c", "dmenu_run -l 10"]),
                 ),
                 Key::new(&[MODKEY], keycodes::Q, KeyAction::KillClient, Arg::None),
                 Key::new(
@@ -103,6 +103,7 @@ impl Default for Config {
                 Key::new(&[MODKEY], keycodes::A, KeyAction::ToggleGaps, Arg::None),
                 Key::new(&[MODKEY, SHIFT], keycodes::Q, KeyAction::Quit, Arg::None),
                 Key::new(&[MODKEY, SHIFT], keycodes::R, KeyAction::Restart, Arg::None),
+                Key::new(&[MODKEY], keycodes::F, KeyAction::ToggleFloating, Arg::None),
                 Key::new(&[MODKEY], keycodes::J, KeyAction::FocusStack, Arg::Int(-1)),
                 Key::new(&[MODKEY], keycodes::K, KeyAction::FocusStack, Arg::Int(1)),
                 Key::new(&[MODKEY], keycodes::KEY_1, KeyAction::ViewTag, Arg::Int(0)),
@@ -170,7 +171,7 @@ impl Default for Config {
                 ),
             ],
             status_blocks: vec![crate::bar::BlockConfig {
-                format: " {}",
+                format: "{}",
                 command: crate::bar::BlockCommand::DateTime("%a, %b %d - %-I:%M %P"),
                 interval_secs: 1,
                 color: 0x0db9d7,
diff --git a/templates/config.ron b/templates/config.ron
index 0660274..cc74772 100644
--- a/templates/config.ron
+++ b/templates/config.ron
@@ -52,11 +52,11 @@
     ],
     
     status_blocks: [
-        (format: "󰍛 {used}/{total} GB", command: "Ram", interval_secs: 5, color: 0x7aa2f7, underline: true),
+        (format: "Ram: {used}/{total} GB", command: "Ram", interval_secs: 5, color: 0x7aa2f7, underline: true),
         (format: " │  ", command: "Static", interval_secs: 18446744073709551615, color: 0xa9b1d6, underline: false),
-        (format: " {}", command: "Shell", command_arg: "uname -r", interval_secs: 18446744073709551615, color: 0xf7768e, underline: true),
+        (format: "Kernel: {}", command: "Shell", command_arg: "uname -r", interval_secs: 18446744073709551615, color: 0xf7768e, underline: true),
         (format: " │  ", command: "Static", interval_secs: 18446744073709551615, color: 0xa9b1d6, underline: false),
-        (format: "󰸘 {}", command: "DateTime", command_arg: "%a, %b %d - %-I:%M %P", interval_secs: 1, color: 0x0db9d7, underline: true),
+        (format: "{}", command: "DateTime", command_arg: "%a, %b %d - %-I:%M %P", interval_secs: 1, color: 0x0db9d7, underline: true),
     ],
     
     scheme_normal: (foreground: 0xbbbbbb, background: 0x1a1b26, underline: 0x444444),