From 9f5b9c1be3469671eda2dc41755ec15f50facd29 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Tue, 20 Sep 2022 20:19:07 +0800 Subject: [PATCH] themes/a-happy-gnome: add PaperWM shell extension --- .../config/dconf/30-shell-extensions.conf | 49 +++++++++++++++++++ .../nixos/workflows/a-happy-gnome/default.nix | 1 + 2 files changed, 50 insertions(+) diff --git a/modules/nixos/workflows/a-happy-gnome/config/dconf/30-shell-extensions.conf b/modules/nixos/workflows/a-happy-gnome/config/dconf/30-shell-extensions.conf index c7171871..da134e34 100644 --- a/modules/nixos/workflows/a-happy-gnome/config/dconf/30-shell-extensions.conf +++ b/modules/nixos/workflows/a-happy-gnome/config/dconf/30-shell-extensions.conf @@ -51,3 +51,52 @@ tv-open-effect = true # Make app grid somewhat usable. [org/gnome/shell/extensions/alphabetical-app-grid] folder-order-position = 'start' + +# PaperWM for an alternative shell. +[org/gnome/shell/extensions/paperwm] +horizontal-margin = 5 +vertical-margin = 5 +vertical-margin-bottom = 5 +window-gap = 5 +override-hot-corner = false +cycle-width-steps = [0.38195, 0.5, 0.61804, 0.75] +cycle-height-steps = [0.38195, 0.5, 0.61804, 0.75] + +# The shortcuts are closely tied to my shell keybindings to make it easier to follow. +[org/gnome/shell/extensions/paperwm/keybindings] +new-window = ['Return'] +close-window = ['q', 'F4'] +live-alt-tab = ['Tab'] +live-alt-tab-existing = ['Tab'] +paper-toggle-fullscreen = ['f'] +toggle-maximize-width = ['f'] + +# I don't want scratchpads or whatever these things. +toggle-scratch-window = @as [] +toggle-scratch-layer = @as [] +toggle-scratch = @as [] + +# I prefer to cycle the sizes instead. +resize-h-inc = @as [] +resize-h-dec = @as [] +resize-w-inc = @as [] +resize-w-dec = @as [] +cycle-width = ['r'] + +# Slurping and puking windows... weird. +slurp-in = ['t'] +barf-out = ['t'] + +# Navigating with workspaces should be similar with my workflow. +switch-right = ['l', 'Right'] +switch-left = ['h', 'Left'] +switch-up = ['k', 'Up'] +switch-down = ['j', 'Down'] +move-right = ['l', 'Right'] +move-left = ['h', 'Left'] +move-up = ['k', 'Up'] +move-down = ['j', 'Down'] +switch-up-workspace = ['k', 'Up'] +switch-down-workspace = ['j', 'Down'] +move-up-workspace = ['k', 'Up'] +move-down-workspace = ['j', 'Down'] diff --git a/modules/nixos/workflows/a-happy-gnome/default.nix b/modules/nixos/workflows/a-happy-gnome/default.nix index 32fe1e47..f757f89b 100644 --- a/modules/nixos/workflows/a-happy-gnome/default.nix +++ b/modules/nixos/workflows/a-happy-gnome/default.nix @@ -45,6 +45,7 @@ in ] ++ [ pkgs.gnome-shell-extension-fly-pie pkgs.gnome-shell-extension-pop-shell + pkgs.gnome-shell-extension-paperwm-latest ]; example = lib.literalExpression '' with pkgs.gnomeExtensions; [