confi-emacs-actual/configs/init-functions.el

70 lines
2.4 KiB
EmacsLisp
Raw Normal View History

2022-11-19 04:33:22 +01:00
;;; init-functions.el --- Configuración de org-mode -*- lexical-binding: t -*-
2022-05-05 08:08:01 +02:00
;; Author: kj <webmaster@outcontrol.net>
;; URL: https://git.kj2.me/kj/confi-emacs-actual
;;; Commentary:
2023-04-14 18:39:19 +02:00
;; Aqui se encuentran funciones sueltas de Emacs.
2022-05-05 08:08:01 +02:00
;;; Code:
2022-03-30 01:21:13 +02:00
;; Permite cambiar la transparencia de emacs.
(defun transparency (value)
"Change the transparency of the frame window, setting VALUE from 0 to 100."
(interactive "nTransparency Value 0 - 100 opaque:")
(set-frame-parameter nil 'alpha-background value))
;; Crear captura SVG del frame atual. Fuente: https://www.reddit.com/r/emacs/comments/idz35e/emacs_27_can_take_svg_screenshots_of_itself/
(defun screenshot-svg ()
"Save a screenshot of the current frame as an SVG image.
Saves to a temp file and puts the filename in the kill ring."
(interactive)
(let* ((filename (make-temp-file "Emacs" nil ".svg"))
(data (x-export-frames nil 'svg)))
(with-temp-file filename
(insert data))
(kill-new filename)
(message filename)))
;; Comentar línea o región
(defun comment-or-uncomment-region-or-line ()
2022-11-29 08:45:36 +01:00
"Comments or uncomments the region or the current line."
(interactive)
(let (beg end)
(if (region-active-p)
(setq beg (region-beginning) end (region-end))
(setq beg (line-beginning-position) end (line-end-position)))
(comment-or-uncomment-region beg end)
;;(next-line) ;; saltar a la siguiente línea
))
;; Duplicar la línea actual
(defun duplicate-current-line (&optional n)
2022-11-29 08:45:36 +01:00
"Duplicate current line, make more than 1 copy given a numeric (N) argument."
(interactive "p")
(save-excursion
(let ((nb (or n 1))
(current-line (thing-at-point 'line)))
;; when on last line, insert a newline first
(when (or (= 1 (forward-line 1)) (eq (point) (point-max)))
(insert "\n"))
;; now insert as many time as requested
(while (> n 0)
(insert current-line)
(decf n)))))
2022-03-30 01:21:13 +02:00
;; Borrar espacios, tabs y saltos de línea innecesarios al guardar
(add-hook 'before-save-hook 'delete-trailing-whitespace)
;; Verifica si es está instalado alltheicons (útil para ver si se usa o no íconos)
(defun icon-displayable-p ()
"Return non-nil if icons are displayable."
(and (display-graphic-p) (daemonp)
(or (featurep 'all-the-icons)
(require 'all-the-icons nil t))))
2022-11-19 04:33:22 +01:00
(provide 'init-functions)
;;; init-functions.el ends here.