a8618938bf
feat(core): use general.el for keybind definitions nearly everywhere
...
Primarily this replaces :bind with :general in all use-package calls.
2022-03-14 21:16:15 +00:00
e457163e4c
chore(windows): clean up and improve windmove setup
2020-08-28 01:34:32 +01:00
7a205aa74e
chore(windows): fold siren-buffer-move module into siren-windmove module
2020-08-25 01:47:42 +01:00
dccb57747e
feat(windows): use new windmove-swap-* functions on Emacs 27 and later
...
Fallback onto buffer-move package for Emacs versions prior to 27.
2020-08-20 22:13:38 +01:00
88ab8f9007
fix(windows): set zoom-window keybindings correctly
2020-08-19 00:41:00 +01:00
bab7a08fc4
chore(workspaces): create siren-workspace-map to handle C-z prefix
...
Previously I've always kinda "hacked" things to get C-z prefixes for
various workspace-related packages to work. Now it's finally setup
correctly with a custom siren-workspace-map keymap bound to C-z, and
relevant packages adding keybindings to it.
2020-08-16 14:21:00 +01:00
2fa061bdec
feat(windows): Enable terminal friendly zoom-window keybinding
2020-06-27 14:19:31 +01:00
0810857131
feat(windows): Integrate windmove with tmux
...
When Emacs is launched within Tmux, and a windmove command fails (due to
it reaching the left/right/top/bottom edge of frame, instead trigger a
Tmux pane switch in that direction.
This allows a nearly seamless window/pane switching experience between
Emacs and Tmux.
It does require the following configuration in Tmux to work properly:
# Enable smart pane switching that's Emacs aware.
is_emacs='echo "#{pane_current_command}" | grep -iqE "(^|\/)emacs$"'
# Use Alt-[i/k/j/l] keys without prefix key to switch panes if current pane is
# not running Emacs. If the pane is running Emacs, let Emacs receive the
# keybindings instead.
bind -n M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U"
bind -n M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D"
bind -n M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L"
bind -n M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R"
bind -T copy-mode M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U"
bind -T copy-mode M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D"
bind -T copy-mode M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L"
bind -T copy-mode M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R"
bind -T copy-mode-vi M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U"
bind -T copy-mode-vi M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D"
bind -T copy-mode-vi M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L"
bind -T copy-mode-vi M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R"
2020-05-30 17:01:21 +01:00
1692aa1944
fix(windows): Make zoom-window package play nice with persp-mode
...
And also improve zoom-window color selection by adding a doom-themes
override for zoom-window, removing the hard-coded modeline background
color which was used before.
2020-03-24 18:15:22 +00:00
efecb5172c
chore(startup): Make various modules more lazy-loaded
...
This should improve startup speed a little bit.
2020-03-15 02:44:46 +00:00
b13ca362cb
feat(packages): Replace package.el with straight.el
2020-02-04 10:08:37 +00:00
57f670088d
Use use-package's :custom and :custom-face options everywhere
2019-06-10 19:29:58 +01:00
8d7ab11d8c
Add resize-window package
2018-05-20 17:42:14 +01:00
87a86191db
Majorly re-organize modules
...
- Split large modules into smaller parts (e.g. siren-text-manipulation)
- Organize modules into high level groups:
- completion
- core
- editor
- languages
- linting
- misc
- navigation
- projects
- spelling
- text-editing
- version-control
- windows
- workspaces
2018-05-20 17:31:11 +01:00