;;; oni-counsel.el --- Counsel configuration -*- lexical-binding: t; -*- ;; Copyright (C) 2019 Tom Willemse ;; Author: Tom Willemse ;; Keywords: local ;; Version: 2022.0204.011058 ;; Package-Requires: (counsel diminish) ;; 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: ;; Counsel configuration. ;;; Code: (require 'counsel) (require 'diminish) (defun oni-counsel-create-directory-and-file (filename) "Create the directory and file of FILENAME before opening." (mkdir (file-name-directory filename) t) (write-region "" nil filename t) (find-file filename)) (defun oni-run-launcher () (interactive) (with-selected-frame (make-frame '((name . "emacs-run-launcher") (minibuffer . only) (width . 120) (height . 11))) (unwind-protect (counsel-linux-app) (delete-frame)))) (defun oni-run-window-switch () (interactive) (with-selected-frame (make-frame '((name . "emacs-run-wmctrl") (minibuffer . only) (width . 120) (height . 11))) (unwind-protect (counsel-wmctrl) (delete-frame)))) (setq counsel-linux-app-format-function 'counsel-linux-app-format-function-name-pretty) (setq counsel-find-file-ignore-regexp (rx (or (and bos ".") (and ".zwc" eos)))) (with-eval-after-load 'counsel (diminish 'counsel-mode)) (ivy-add-actions 'counsel-find-file '(("C" oni-counsel-create-directory-and-file "create"))) (define-key counsel-mode-map (kbd "C-x f") 'counsel-recentf) (provide 'oni-counsel) ;;; oni-counsel.el ends here