ivy-explorer icon indicating copy to clipboard operation
ivy-explorer copied to clipboard

Dynamic file browsing grid for Emacs

:experimental:

= Introduction

++++ ELPA MELPA Stable MELPA ++++

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.