diff --git a/configurations/desktop/home.nix b/configurations/desktop/home.nix index 2a7cb16d..821fe092 100644 --- a/configurations/desktop/home.nix +++ b/configurations/desktop/home.nix @@ -8,7 +8,7 @@ #./../../modules/nixos/cspark-desktop-plasma/home.nix #./../../modules/nixos/cspark-desktop-gnome/home.nix #./../../modules/nixos/cspark-desktop-sway/home.nix - ./../../modules/nixos/cspark-desktop-niri/home.nix + #./../../modules/nixos/cspark-desktop-niri/home.nix #./../../modules/nixos/cspark-desktop-exwm/home.nix ./../../modules/nixos/cspark-desktop-ewm/home.nix ]; diff --git a/configurations/laptop-elitebook/configuration.nix b/configurations/laptop-elitebook/configuration.nix index 1655021e..944bb3a4 100644 --- a/configurations/laptop-elitebook/configuration.nix +++ b/configurations/laptop-elitebook/configuration.nix @@ -8,11 +8,12 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ./../../modules/nixos/cspark-desktop-plasma/module.nix - ./../../modules/nixos/cspark-desktop-gnome/module.nix - ./../../modules/nixos/cspark-desktop-sway/module.nix - ./../../modules/nixos/cspark-desktop-niri/module.nix - ./../../modules/nixos/cspark-desktop-exwm/module.nix + #./../../modules/nixos/cspark-desktop-plasma/module.nix + #./../../modules/nixos/cspark-desktop-gnome/module.nix + #./../../modules/nixos/cspark-desktop-sway/module.nix + #./../../modules/nixos/cspark-desktop-niri/module.nix + #./../../modules/nixos/cspark-desktop-exwm/module.nix + ./../../modules/nixos/cspark-desktop-ewm/module.nix inputs.home-manager.nixosModules.default ]; @@ -69,8 +70,9 @@ # cspark-desktop-plasma.enable = true; # cspark-desktop-gnome.enable = true; # cspark-desktop-sway.enable = true; - cspark-desktop-niri.enable = true; + # cspark-desktop-niri.enable = true; # cspark-desktop-exwm.enable = true; + cspark-desktop-ewm.enable = true; # Home Manager Configuration home-manager = { diff --git a/configurations/laptop-elitebook/home.nix b/configurations/laptop-elitebook/home.nix index e3b79ea0..87944adc 100644 --- a/configurations/laptop-elitebook/home.nix +++ b/configurations/laptop-elitebook/home.nix @@ -5,11 +5,12 @@ [ # Global Config, always to be included ./../../global-home.nix - ./../../modules/nixos/cspark-desktop-plasma/home.nix - ./../../modules/nixos/cspark-desktop-gnome/home.nix - ./../../modules/nixos/cspark-desktop-sway/home.nix - ./../../modules/nixos/cspark-desktop-niri/home.nix - ./../../modules/nixos/cspark-desktop-exwm/home.nix + #./../../modules/nixos/cspark-desktop-plasma/home.nix + #./../../modules/nixos/cspark-desktop-gnome/home.nix + #./../../modules/nixos/cspark-desktop-sway/home.nix + #./../../modules/nixos/cspark-desktop-niri/home.nix + #./../../modules/nixos/cspark-desktop-exwm/home.nix + ./../../modules/nixos/cspark-desktop-ewm/home.nix ]; # KDE Connect @@ -20,8 +21,9 @@ # cspark-desktop-plasma-config-1.enable = true; # cspark-desktop-gnome-config-1.enable = true; # cspark-desktop-sway-config-1.enable = true; - cspark-desktop-niri-config-1.enable = true; + # cspark-desktop-niri-config-1.enable = true; # cspark-desktop-exwm-config-1.enable = true; + cspark-desktop-ewm-config-1.enable = true; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. diff --git a/global-resources/home-manager/.config/wl-kbptr/config b/global-resources/home-manager/.config/wl-kbptr/config index e1255f9c..bd03616b 100644 --- a/global-resources/home-manager/.config/wl-kbptr/config +++ b/global-resources/home-manager/.config/wl-kbptr/config @@ -4,21 +4,12 @@ # be loaded if it exits. Below is the default configuration. [general] -home_row_keys= +#home_row_keys= modes=floating,click cancellation_status_code=0 -[mode_tile] -label_color=#fffd -label_select_color=#fd0d -unselectable_bg_color=#2226 -selectable_bg_color=#0304 -selectable_border_color=#040c -label_font_family=sans-serif -label_font_size=8 50% 100 -label_symbols=abcdefghijklmnopqrstuvwxyz - [mode_floating] +source=detect label_color=#ffffff label_select_color=#fd0d unselectable_bg_color=#2226 @@ -28,28 +19,5 @@ label_font_family=sans-serif label_font_size=20 100% 100 label_symbols=abcdefghijklmnopqrstuvwxyz -[mode_bisect] -label_color=#fffd -label_font_size=20 -label_font_family=sans-serif -label_padding=12 -pointer_size=20 -pointer_color=#e22d -unselectable_bg_color=#2226 -even_area_bg_color=#0304 -even_area_border_color=#0408 -odd_area_bg_color=#0034 -odd_area_border_color=#0048 -history_border_color=#3339 - -[mode_split] -pointer_size=20 -pointer_color=#e22d -bg_color=#2226 -area_bg_color=#11111188 -vertical_color=#8888ffcc -horizontal_color=#008800cc -history_border_color=#3339 - [mode_click] button=left diff --git a/global.nix b/global.nix index 3e6ac5d8..e0c82ec5 100644 --- a/global.nix +++ b/global.nix @@ -324,6 +324,7 @@ yazi ueberzugpp # To display images in yazi via alacritty wl-kbptr # Controlling the mouse using the keyboard + optical recognition + ydotool ncdu diff --git a/modules/nixos/cspark-desktop-ewm/module.nix b/modules/nixos/cspark-desktop-ewm/module.nix index 66f4a29e..89ee80af 100644 --- a/modules/nixos/cspark-desktop-ewm/module.nix +++ b/modules/nixos/cspark-desktop-ewm/module.nix @@ -105,6 +105,18 @@ in kdePackages.polkit-kde-agent-1 # Polkit Prompt for password prompts etc lxqt.lxqt-openssh-askpass # GUI to query passwords on behalf of SSH agents pavucontrol # Audio control + + (pkgs.writeShellScriptBin "wl-kbptr-ewm" '' +DATA=$(wl-kbptr --only-print) + +if [ -n "$DATA" ]; then + X=$(echo "$DATA" | awk -F'[x+]' '{print int($1 / 2) + $3}') + Y=$(echo "$DATA" | awk -F'[x+]' '{print int($2 / 2) + $4}') + + ydotool mousemove --absolute "$X" "$Y" + ydotool click 0xC0 +fi +'') ]; # XDG Portal Integration (For file chooser/screensharing etc)