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),