From bba3fc4f0a75606507d8dc6af87df6c18d0e95cb Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Fri, 11 Aug 2023 12:36:21 +0700 Subject: [PATCH] Add emacs run launcher, put HLWM config in the right place --- .config/emacs/init.org | 27 ++++++++++++++++++- .../herbstluftwm}/autostart | 24 +++++++++++------ .config/picom/picom.conf | 4 +-- 3 files changed, 44 insertions(+), 11 deletions(-) rename {herbstluftwm => .config/herbstluftwm}/autostart (90%) diff --git a/.config/emacs/init.org b/.config/emacs/init.org index ce6667e..86212a7 100644 --- a/.config/emacs/init.org +++ b/.config/emacs/init.org @@ -240,7 +240,8 @@ Finish up (setopt package-vc-selected-packages '((dotenv :url "https://github.com/pkulev/dotenv.el") - (doom-themes :url "https://github.com/JosephFerano/doom-themes"))) + (doom-themes :url "https://github.com/JosephFerano/doom-themes") + (app-launcher :url "https://github.com/SebastienWae/app-launcher"))) (package-initialize) #+end_src @@ -1495,6 +1496,30 @@ When called interactively, prompt for BUFFER." (setq completion-styles '(orderless basic) completion-category-overrides '((file (styles basic partial-completion)))) #+end_src +** App Launcher +#+begin_src emacs-lisp +(defun emacs-run-launcher () + "Create and select a frame called emacs-run-launcher which +consists only of a minibuffer and has specific dimensions. Runs +app-launcher-run-app on that frame, which is an emacs command +that prompts you to select an app and open it in a dmenu like +behaviour. Delete the frame after that command has exited" + (interactive) + (with-selected-frame + (make-frame '((name . "emacs-run-launcher") + (minibuffer . only) + (fullscreen . 0) ; no fullscreen + (undecorated . t) ; remove title bar + ;;(auto-raise . t) ; focus on this frame + ;;(tool-bar-lines . 0) + ;;(menu-bar-lines . 0) + (internal-border-width . 30) + (width . 100) + (height . 20))) + (unwind-protect + (app-launcher-run-app) + (delete-frame)))) +#+end_src ** Dirvish/Dired #+begin_src emacs-lisp (require 'dirvish) diff --git a/herbstluftwm/autostart b/.config/herbstluftwm/autostart similarity index 90% rename from herbstluftwm/autostart rename to .config/herbstluftwm/autostart index c8eb763..b911c5a 100755 --- a/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -11,6 +11,10 @@ hc emit_hook reload xsetroot -solid '#5A8E3A' picom -b -c +nitrogen --restore & +polybar & + +xset r rate 260 60 # remove all existing keybindings hc keyunbind --all @@ -20,10 +24,11 @@ hc keyunbind --all #Mod=Mod1 # Use alt as the main modifier Mod=Mod4 # Use the super key as the main modifier -hc keybind $Mod-Shift-q quit +hc keybind $Mod-Ctrl-q quit hc keybind $Mod-Shift-r reload -hc keybind $Mod-Shift-c close -hc keybind $Mod-Return spawn "kitty" # use your $TERMINAL with xterm as fallback +hc keybind $Mod-Shift-q close +hc keybind $Mod-Return spawn kitty # use your $TERMINAL with xterm as fallback +hc keybind $Mod-space spawn emacsclient -cF "((visibility . nil))" -e "(emacs-run-launcher)" # basic movement in tiling and floating mode # focusing clients @@ -94,7 +99,7 @@ hc keybind $Mod-p pseudotile toggle # The following cycles through the available layouts within a frame, but skips # layouts, if the layout change wouldn't affect the actual window positions. # I.e. if there are two windows within a frame, the grid layout is skipped. -hc keybind $Mod-space \ +hc keybind $Mod-w \ or , and . compare tags.focus.curframe_wcount = 2 \ . cycle_layout +1 vertical horizontal max vertical grid \ , cycle_layout +1 @@ -107,9 +112,11 @@ hc mousebind $Mod-Button3 resize # focus hc keybind $Mod-BackSpace cycle_monitor -hc keybind $Mod-Tab cycle_all +1 -hc keybind $Mod-Shift-Tab cycle_all -1 -hc keybind $Mod-c cycle +#hc keybind $Mod-Tab cycle_all +1 +#hc keybind $Mod-Shift-Tab cycle_all -1 +hc keybind $Mod-Tab cycle +1 +hc keybind $Mod-Shift-Tab cycle -1 +# hc keybind $Mod-c cycle hc keybind $Mod-i jumpto urgent # theme @@ -166,12 +173,13 @@ hc set mouse_recenter_gap 0 hc unrule -F #hc rule class=XTerm tag=3 # move all xterms to tag 3 hc rule focus=on # normally focus new clients -hc rule floatplacement=smart +hc rule floatplacement=center #hc rule focus=off # normally do not focus new clients # give focus to most common terminals #hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' floating=on hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on +hc rule title='emacs-run-launcher' floating=on floatplacement=center hook=emacs_launcher hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off hc rule fixedsize floating=on diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf index 475272c..c5156f2 100644 --- a/.config/picom/picom.conf +++ b/.config/picom/picom.conf @@ -212,8 +212,8 @@ blur-background-exclude = [ # Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. # `xrender` is the default one. # -# backend = "glx" -backend = "xrender"; +backend = "glx" +#backend = "xrender"; # Enable/disable VSync. # vsync = false