;;; FMCubes --- The file manager cubes for FG42 -*- lexical-binding: t; -*- ;; ;; Copyright (c) 2010-2021 Sameer Rahmani & Contributors ;; ;; Author: Sameer Rahmani ;; URL: https://gitlab.com/FG42/FG42 ;; Version: 3.0.0 ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;; ;;; Commentary: ;;; Code: (require 'fpkg) (require 'fg42/cube) ;; TODO: Move this to an autoload file (defun fg42/dired-external-open () "In dired, open the file named on this line." (interactive) (let ((file (dired-get-filename nil t))) (call-process "xdg-open" nil 0 nil file))) (defcube fg42/fm-cube (:docs "cubes/fg42/fm-cube.org" :flag fm :flag-default t) ;; Linux only ;; TODO: change this to support OS X (setq dired-listing-switches "-lFaGh1v --group-directories-first") ;; Show directories first (setq ls-lisp-dirs-first t) (setq dired-recursive-copies 'always) (setq dired-recursive-deletes 'always) (define-key dired-mode-map (kbd "E") 'fg42/dired-external-open) (fpkg/use dired+) (add-to-list 'dired-mode-hook (lambda () (require 'dired-x) (require 'dired-aux))) (when-flag async (dired-async-mode 1)) (fpkg/use dired-narrow :bind (:map dired-mode-map ("/" . dired-narrow)))) (provide 'cubes/fm) ;;; fm.el ends here