From 3331e30435c2eefb0587839d0aa417558f3a8a26 Mon Sep 17 00:00:00 2001 From: SqrtMinusOne Date: Mon, 4 Oct 2021 11:21:26 +0300 Subject: [PATCH] feat(desktop): i3-switch-tabs, update manifests --- .config/guix/manifests/desktop.scm | 2 ++ .config/guix/manifests/dev.scm | 1 + .config/guix/manifests/office.scm | 3 +++ .config/i3/config | 37 +++++++++++++++--------------- Desktop.org | 21 +++++++++++++---- 5 files changed, 41 insertions(+), 23 deletions(-) diff --git a/.config/guix/manifests/desktop.scm b/.config/guix/manifests/desktop.scm index d4880a8..5f5349f 100644 --- a/.config/guix/manifests/desktop.scm +++ b/.config/guix/manifests/desktop.scm @@ -1,5 +1,6 @@ (specifications->manifest '( + "xev" "gparted" "gnome-disk-utility" "anydesk" @@ -43,6 +44,7 @@ "bind:utils" "polybar" "python-i3-balance-workspace" + "rust-i3-switch-tabs" "i3-gaps" "xinput" "xgamma" diff --git a/.config/guix/manifests/dev.scm b/.config/guix/manifests/dev.scm index ea8b4ba..55ecf47 100644 --- a/.config/guix/manifests/dev.scm +++ b/.config/guix/manifests/dev.scm @@ -1,5 +1,6 @@ (specifications->manifest '( + "sbcl" "make" "hugo-extended" "libfaketime" diff --git a/.config/guix/manifests/office.scm b/.config/guix/manifests/office.scm index d6447b2..92ebf27 100644 --- a/.config/guix/manifests/office.scm +++ b/.config/guix/manifests/office.scm @@ -1,5 +1,8 @@ (specifications->manifest '( + "inkscape" + "kdenlive" + "ffmpeg" "krita" "gimp" "libreoffice")) diff --git a/.config/i3/config b/.config/i3/config index 9b1f00e..95b8d9b 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -60,40 +60,45 @@ bindsym $mod+v exec emacs-i3-integration split v # Managing windows:4 ends here # [[file:../../Desktop.org::*Managing windows][Managing windows:5]] -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle -bindsym $mod+c fullscreen toggle global +bindsym $mod+period exec i3-switch-tabs right +bindsym $mod+comma exec i3-switch-tabs left # Managing windows:5 ends here # [[file:../../Desktop.org::*Managing windows][Managing windows:6]] -bindsym $mod+w layout stacking -bindsym $mod+t layout tabbed -bindsym $mod+e exec emacs-i3-integration layout toggle split +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle +bindsym $mod+c fullscreen toggle global # Managing windows:6 ends here # [[file:../../Desktop.org::*Managing windows][Managing windows:7]] -bindsym $mod+Shift+f floating toggle -bindsym $mod+z focus mode_toggle +bindsym $mod+w layout stacking +bindsym $mod+t layout tabbed +bindsym $mod+e exec emacs-i3-integration layout toggle split # Managing windows:7 ends here # [[file:../../Desktop.org::*Managing windows][Managing windows:8]] -bindsym $mod+Tab move workspace to output right -bindsym $mod+q focus output right +bindsym $mod+Shift+f floating toggle +bindsym $mod+z focus mode_toggle # Managing windows:8 ends here # [[file:../../Desktop.org::*Managing windows][Managing windows:9]] -bindsym $mod+a focus parent -bindsym $mod+Shift+A focus child +bindsym $mod+Tab move workspace to output right +bindsym $mod+q focus output right # Managing windows:9 ends here # [[file:../../Desktop.org::*Managing windows][Managing windows:10]] -bindsym $mod+i sticky toggle +bindsym $mod+a focus parent +bindsym $mod+Shift+A focus child # Managing windows:10 ends here # [[file:../../Desktop.org::*Managing windows][Managing windows:11]] -bindsym $mod+x floating enable; sticky enable; move position 1220 0; resize set width 700 px +bindsym $mod+i sticky toggle # Managing windows:11 ends here +# [[file:../../Desktop.org::*Managing windows][Managing windows:12]] +bindsym $mod+x floating enable; sticky enable; move position 1220 0; resize set width 700 px +# Managing windows:12 ends here + # [[file:../../Desktop.org::*Workspaces][Workspaces:1]] set $w1 "1 🚀" set $w2 "2 🌍" @@ -126,10 +131,6 @@ bindsym $mod+Shift+7 move container to workspace $w7 bindsym $mod+Shift+8 move container to workspace $w8 bindsym $mod+Shift+9 move container to workspace $w9 bindsym $mod+Shift+0 move container to workspace $w10 - -# Cycle workspaces -bindsym $mod+comma workspace prev -bindsym $mod+period workspace next # Workspaces:1 ends here # [[file:../../Desktop.org::*Rules][Rules:1]] diff --git a/Desktop.org b/Desktop.org index 1949c42..83187c8 100644 --- a/Desktop.org +++ b/Desktop.org @@ -281,6 +281,10 @@ bindsym $mod+Shift+r restart bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" #+end_src ** Managing windows +| Guix dependency | +|---------------------| +| rust-i3-switch-tabs | + Some keybindings for managing windows. =emacs-i3-integration= is a script to pass some command to Emacs to get a consistent set of keybindings in both i3 and Emacs. Check out [[file:Emacs.org::i3 integration][the section in Emacs.org]] for details. @@ -322,6 +326,12 @@ bindsym $mod+s exec emacs-i3-integration split h bindsym $mod+v exec emacs-i3-integration split v #+end_src +Switch tabs +#+begin_src conf-space +bindsym $mod+period exec i3-switch-tabs right +bindsym $mod+comma exec i3-switch-tabs left +#+end_src + Enter fullscreen mode #+begin_src conf-space # enter fullscreen mode for the focused container @@ -396,10 +406,6 @@ bindsym $mod+Shift+7 move container to workspace $w7 bindsym $mod+Shift+8 move container to workspace $w8 bindsym $mod+Shift+9 move container to workspace $w9 bindsym $mod+Shift+0 move container to workspace $w10 - -# Cycle workspaces -bindsym $mod+comma workspace prev -bindsym $mod+period workspace next #+end_src ** Rules @@ -2128,12 +2134,15 @@ This section generates manifests for various desktop software that I'm using. |----------+--------------------| | browsers | ungoogled-chromium | | browsers | firefox | -** Office +** Office & Multimedia | Category | Guix dependency | |----------+-----------------| | office | libreoffice | | office | gimp | | office | krita | +| office | ffmpeg | +| office | kdenlive | +| office | inkscape | ** LaTeX | Category | Guix dependency | |----------+-------------------------------| @@ -2158,6 +2167,7 @@ This section generates manifests for various desktop software that I'm using. | dev | libfaketime | | dev | hugo-extended | | dev | make | +| dev | sbcl | ** Manifests #+NAME: packages #+begin_src emacs-lisp :tangle no :var category="" @@ -2482,6 +2492,7 @@ Other desktop programs I use are listed below. | anydesk | Remote desktop software | | gnome-disk-utility | Manage disks | | gparted | Manage partitions | +| xev | Test input | #+NAME: packages #+begin_src emacs-lisp :tangle no