ivy-explorer
ivy-explorer copied to clipboard
Dynamic file browsing grid for Emacs
:experimental:
= Introduction
Provides a large more easily readable grid for file browsing using https://github.com/abo-abo/swiper[ivy].
Users can navigate the grid using kbd:[Ctrl-f], kbd:[Ctrl-b], kbd:[Ctrl-n], kbd:[Ctrl-p], kbd:[Ctrl-a], kbd:[Ctrl-e]. By pressing kbd:[,] users can enter directories or open files on the screen using https://github.com/abo-abo/avy/[avy]. Pressing kbd:[;] will jump to the selected candidate and invoke the dipsatch action dialog. This works because those characters are rarely used for file search. If you have to input them you can still use kbd:[C-q ,], kbd:[C-q ;].
Heavily inspired by https://www.emacswiki.org/emacs/LustyExplorer[LustyExplorer].
= Demo
.Ivy explorer grid image::./images/grid.gif[grid]
You can also use https://github.com/tumashu/posframe[posframe] to display the
grid by setting ivy-explorer-message-function
to ivy-explorer--posframe
.
The height of the posframe can be set by ivy-explorer-height
.
.Ivy explorer grid using posframe image::./images/posframe.png[grid]
++++
++++
= Setup
ivy-explorer
is on MELPA and GNU ELPA, for installation use:
M-x package-refresh-contents RET
M-x package-install RET ivy-explorer RET
For manual installation:
git clone http://github.com/clemera/ivy-explorer.git
Add this to your init file:
(add-to-list 'load-path "/<path-to>/ivy-explorer/")
(require 'ivy-explorer)
;; use ivy explorer for all file dialogs
(ivy-explorer-mode 1)
;; not strictly necessary
(counsel-mode 1)
= Contribute
This package is subject to the same https://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html[Copyright Assignment] policy as Emacs itself, org-mode, CEDET and other packages in https://elpa.gnu.org/packages/[GNU ELPA].
Any https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html#Legally-Significant[legally significant] contributions can only be accepted after the author has completed their paperwork. Please see https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future[the request form] if you want to proceed with the assignment.