diff --git a/config.org b/config.org index 67b65d6..e1cebac 100644 --- a/config.org +++ b/config.org @@ -117,6 +117,12 @@ Install and set the modeline, ensuring that it is always installed: ;; Display the current time on the modeline (display-time-mode 1) + ;; Display time in the 24hr format + (setq display-time-24hr-format t) + + ;; Display also the date on the modeline + (setq display-time-day-and-date t) + ;; Display the battery (if has one) on the modeline (display-battery-mode 1) #+END_SRC @@ -631,6 +637,18 @@ on how to install the Programming Language Servers that you want. ;; (use-package dap-LANGUAGE) to load the dap adapter for your language #+END_SRC +** Edwina Dynamic Tiling +Edwina is a dynamic window manager for Emacs. It automatically arranges your Emacs panes (called “windows” in Emacs parlance) into predefined layouts, dwm-style. + +Install the package, enable it and ensure that it always is installed, and then configure: +#+BEGIN_SRC emacs-lisp + (use-package edwina + :ensure t + :config + (setq display-buffer-base-action '(display-buffer-below-selected)) + ;;(edwina-setup-dwm-keys) + (edwina-mode 1)) +#+END_SRC ** EXWM EXWM, The Emacs X Window Manager. As it says, it is an Emacs window manager for the X display server. The benefits include using all your @@ -656,6 +674,11 @@ Install the package, enable it and ensure that it always is installed, and then ;; Mouse input/bindings (require 'exwm-input) + ;; EXWM Randr, makes sure that the screens automatically update with the proper resolutions + ;; You may want to install a program such as arandr to graphically manage the screens and resolutions, you can export it into Xrandr commands + (require 'exwm-randr) + (exwm-randr-enable) + (defun exwm-switch-workspace-left () "Switch one workspace to the left" (interactive) @@ -683,7 +706,9 @@ Install the package, enable it and ensure that it always is installed, and then ;; Keybindings (setq exwm-input-global-keys - `(;; Reset EXWM + `(;; Standard EXWM Bindings + + ;; Reset EXWM ([?\s-r] . exwm-reset) ;; EXWM Workspace Switcher @@ -712,8 +737,42 @@ Install the package, enable it and ensure that it always is installed, and then ;; Swap current workspace with one workspace to the left ([?\s-L] . exwm-swap-workspace-right) - ;; Application Launcher - ([?\s-b] . counsel-linux-app))) + ;; Bindings for Edwina + + ;; Select next window in stack + ([?\s-n] . edwina-select-next-window) + + ;; Select previous window in stack + ([?\s-p] . edwina-select-previous-window) + + ;; Swap current window with next window in stack + ([?\s-N] . edwina-swap-next-window) + + ;; Swap current window with previous window in stack + ([?\s-P] . edwina-swap-previous-window) + + ;; Make a new window in the stack + ([?\s-b] . edwina-clone-window) + + )) + + ;; Could not integrate these into the exwm global keys variable + (exwm-input-set-key (kbd "s-SPC") 'counsel-linux-app) + + + ;; Edwina bindings + + ;; Increase master column size + (exwm-input-set-key (kbd "s-=") 'edwina-inc-mfact) + + ;; Increase master column size + (exwm-input-set-key (kbd "s--") 'edwina-dec-mfact) + + ;; Increase number of windows in master stack + (exwm-input-set-key (kbd "s-+") 'edwina-inc-nmaster) + + ;; Decrease number of windows in master stack + (exwm-input-set-key (kbd "s-_") 'edwina-dec-nmaster) ;; Set all X windows to open in char mode by default, allowing to pass through all key combinations (add-hook 'exwm-manage-finish-hook