summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-18gnus: Add gmail group backJSDurand
* gnus-conf.el (gnus-secondary-select-methods): I finally figured out how to manage gmail within Gnus again, so this group is added back. (gnus-topic-alist): I am not sure if this is needed. I removed the gmail group in the hope that I can replace my usage of gmail by my own mail server, but it turned out that my mail server is too unreliable: too oft did my mails get rejected for one reason or another, so I have to use gmail still.
2023-06-18mail: update gmail as wellJSDurand
* mail.el (durand-mail-update-command): Also update the gmail account. (durand-mail-update): Remove an outdated hello string.
2023-06-18desktop + bookmark: bind C-x r s to save desktop.JSDurand
* bookmark-conf.el (ctl-x-r-map): Remove the original binding. * desktop-conf.el (durand-desktop-save-a): Do not ask questions when saving. (ctl-x-r-map): Bind 'C-x r s' to save the desktop file, as well as the bookmarks. Saving bookmarks does not run a hook, whereas saving the desktop file runs a hook, so it is easier to call `desktop-save` which also saves bookmarks than the other way around.
2023-06-17common: Bind point-to-register to a more convenient keyJSDurand
* common.el (register-val-jump-to): Do not ask for confirmation to visit files again. This was enabled to send to others, and I forgot to modify that back. (ctl-x-r-map): Bind point-to-register to a more convenient key. I am tired of typing 'C-x r C-x @ c @' to add a point to a register. Another binding involves the space key, and I would like to have an alternative convenient key-binding that does not involve the space key, as I find that the space key is pressed way too oft. Haha!
2023-06-15dashboard: bind 'L' to list registers.JSDurand
* dashboard.el (dashboard-mode-map): Bind 'L' to `rlist-list-registers`. This is quite convenient.
2023-06-15common: support bookmarks in registersJSDurand
* common.el (register-val-jump-to, register-val-describe): Support bookmarks in registers via these two methods.
2023-06-15org: use new syntax for org-capture-templatesJSDurand
* org-conf.el (org-capture-templates): Use the form '(function org-determine-link-file)' instead of #'org-determine-link-file alone.
2023-06-12basic: `find-function-on-key`JSDurand
* basic.el (help-map): Bind `find-function-on-key` to 'M-f' in the help-mode so that I can access this helpful functionality easily.
2023-06-12wgsl: major mode for WGSL files.JSDurand
* init.el (wgsl-mode, auto-mode-alist): Add support for WebGpu Shader Language files. * wgsl-conf.el ("wgsl-mode"): Use a package for syntax-highlighting and basic stuff.
2023-06-09gnus: bind 'e' to expire articles in group modeJSDurand
* gnus-conf.el (durand-gnus-expire): Just call `gnus-agent-expire` with parameters t, nil, and t respectively. (gnus-group-mode-map): Bind `durand-gnus-expire` to 'e' to conveniently expire articles.
2023-06-03dired: add -v to the listing switchesJSDurand
* dired-conf.el (dired-listing-switches): Add '-v' here. It has the effect of sorting the file names by treating the numbers as version numbers, so that "10" is sorted after "2", as an example.
2023-06-03dashboard: bind 'c' to `dashboard-clear`JSDurand
* dashboard.el (dashboard-mode-map, dashboard-clear): This function runs `ibuffer` and then runs `durand-ibuffer-clear`. Its effect is to clear every buffer and then stays in the dashboard. This can be used as a final key before leaving the computer.
2023-06-03view: Bind 'J' to `jump-to-register`JSDurand
It is quite convenient.
2023-05-30TeX: add a hiero-processing functionJSDurand
* tex-conf.el (durand-tex-hiero): Send the region to the executable that translates it to the LaTeX commands that produce the corresponding hieroglyphs. This makes it convenient to obtain the correct LaTeX codes to use.
2023-05-30TeX: bind 'H-t' to `durand-tex-do-all`.JSDurand
Add a binding to run the commands.
2023-05-30TeX: If the pdf is already displayed, reuse that window.JSDurand
Sometimes I want to display the pdf side-by-side with the source file, in which case it would be natural and convenient to reuse the same window for displaying the pdf file, instead of switching to the pdf file in the window that was displaying the source file.
2023-05-30dashboard: bind 't' to show temps info and 'T' to toggle.JSDurand
* dashboard.el (dashboard-mode-map): Now 't' is bound to `durand-view-timers-or-temps` and 'T' is bound to `modeline-toggle`. The ability to view interesting information is much more important than that of toggling the modeline, in my opinion.
2023-05-29dashboard: delete unused bind that shadowsJSDurand
* dashboard.el (dashboard-mode-map): `org-store-link` is useless in the dashboard buffer, and it shadows the useful key 'l'.
2023-05-29dashboard: bind `durand-open-object`JSDurand
* dashboard.el (dashboard-mode-map): Bind `durand-open-object` so as to easily open things.
2023-05-28dashboard: bind gnusJSDurand
* dashboard.el (dashboard-mode-map): Bind `gnus` to 'g' for conveniently accessing mails.
2023-05-28dashboard: bind `modeline-toggle`.JSDurand
* dashboard.el (dashboard-mode-map): Bind `modeline-toggle` to 't' to conveniently toggle the mode line.
2023-05-28modeline: toggle mode-lineJSDurand
* modeline.el (modeline-toggle): A function to toggle the display of the mode line. (modeline-alt-format): This is used to store the mode line so that we can toggle back. (global-map): Add a global binding: 'C-c T'.
2023-05-28dashboard: convenient functionsJSDurand
* dashboard.el (dashboard-mode): A dedicated mode with convenient access functions. (dashboard-preload): A macro to define convenient functions easily.
2023-05-07bookmark: modify the bookmark listJSDurand
* bookmark-conf.el: Add an external bookmark.
2023-02-28bookmark: bind `bookmark-save` to C-x r s.JSDurand
The original function for that key-binding has another associated key-binding, so it is save to replace that one.
2023-02-28eshell: add two definitions of variables to avoid errorsJSDurand
* eshell-conf.el (dereference-links, dired-flag): Eshell uses locally bound variables for some reason, so we need to provide definitions for those variables in order to avoid errors.
2023-02-26eshell: Add completion support for the gv commandJSDurand
* eshell-conf.el (pcomplete/gv): This function will be called by pcomplete to provide completions for the gv command, in Eshell. (gv-complete-switches): This function provides completions for the switches of the gv command. (gv-complete-files): This function provides completions for source files that are valid for the gv command.
2023-02-25eshell: Fix typo and change section headingsJSDurand
* eshell-conf.el: Fix a typo in the documentation string of the function eshell/dl, and add some more sections for better structures.
2023-02-25eshell: Call "dl" after cd.JSDurand
* eshell-conf.el (eshell-list-files-after-cd): I used to set this variable to call ls after cd. But I want to use my dl command now. (eshell-directory-ls, eshell-directory-change-hook): Call "dl --group-directories-first" after cd.
2023-02-25eshell: improve the method to group directories firstJSDurand
* eshell-conf.el (em-term, dir-literal, show-recursive, sort-method) (show-all, show-almost-all, listing-style, human-readable) (numeric-uid-gid, block-size, reverse-list, show-size, insert-func) (flush-func, error-func): Just variables that are needed by Eshell implementation of ls. (eshell/l): Equivalent with calling `eshell/dl` with "-glah" in front of arguments. (durand-eshell-group-entries-by-directory): Obsolete function. (durand-eshell-ls-dirs-first): A variable that controls whether to group directories first. (durand-eshell-ls-sort-entries, eshell-ls-sort-entries): An advice around the original sorting function, which groups directories into a separate list, to be sorted before the rest. This approach respects the original sorting method, and performs no extra sorting, as opposed to the previous approach.
2023-02-24eshell: group directories first in lsJSDurand
* eshell-conf.el: Add an advice to `eshell-ls-sort-entries` so that directories always come before non-directories.
2023-02-23mail: Add the option of only running hooks without updatingJSDurand
* mail.el (durand-mail-update): Now if we run the update command with the argument of `0', then it only runs the hook `durand-mail-update-hook`, which currently contains only the function `notmuch-poll`. This allows the user to index mails without fetching mails, which is useful since the timer that fetches mails in the background does not index mails, intentionally.
2023-02-22eshell: Add wildcard expansion support in GraphViz command.JSDurand
* eshell-conf.el (eshell/gv, eshell-gv): Now a star in the filename will trigger the wildcard expansion. This is much more flexible and convenient when dealing with many files.
2023-02-21eshell: Allow setting directory in the gv commandJSDurand
* eshell-conf.el (eshell/gv, eshell-gv): Now we can set the directory that contains the output directory explicitly in the command line. It used to be hard-coded to be the root of the project. It is more flexible now.
2023-02-21view: repeat, lower-case open target, and conversion.JSDurand
* view-conf.el (durand-view-timers-or-temps): Make it repeating. (durand-open-targets): Use lower-case names so that the completion works better. (durand-convert-youtube-video-to-url): Return the converted YouTube address.
2023-02-21tex: Derive labels and ask for confirmation.JSDurand
* tex-conf.el (reftex-insert-label-flags): Be smarter when inserting labels.
2023-02-21Add GraphViz-Dot-Mode.JSDurand
* init.el ("graphviz-dot-mode"): Color graphviz dot files.
2023-02-21ibuffer: silence and add TeX section.JSDurand
* ibuffer.el (durand-bongo-set-filter): Add a section for TeX files. (durand-export-buffers-select): Silence ibuffer when exporting.
2023-02-21basic: use `eval-after-load`JSDurand
* basic.el (Info-directory-list): It seems better to use `eval-after-load'.
2023-02-21eshell: graphviz files managementJSDurand
Handle compilation and removal of graphviz files easily. * .gitignore: Ignore elpa files that appear out of thin air. * eshell-conf.el (eshell/gv): Entry point for handling graphviz files. (vc): Use vc to find the project root. (eshell-gv): The internal function to handle graphviz files.
2023-01-09completion: add functions to jump between minibuffer and completionsJSDurand
* common.el (durand-completion-goto-minibuffer): Go to the *Completions* buffer or the minibuffer, depending on whether we are *in the minibuffer or the *Completions* buffer and the target buffer *exists. * completion-conf.el (minibuffer-local-completion-map) (completion-list-mode-map): Bind the function in the right map.
2023-01-08bookmark: add types to handlers and use that for groupingJSDurand
* bookmark-conf.el ("durand"): Use types of bookmark handlers as group headings. (pdf-view-bookmark-jump-handler): Give it the type "PDF". (durand-external-jump): Give it the type "External". * eww-conf.el: Give the handler for EWW the type "EWW".
2023-01-08ignore multisessionJSDurand
These seem to be new to Emacs 29.
2023-01-07emacs-29 changesJSDurand
These are some changes when I migrate to emacs version 29.
2023-01-06theme + eshell: adapt to version 4.JSDurand
theme.el: Modus-themes now uses a great system for customising faces, and this change in configuration adapts to that update. eshell-conf.el: Besides adapting to the new Modus-themes, also add some visual commands for better display.
2023-01-06rime: Stop using rime now.JSDurand
2023-01-06ibuffer: Try to re-invent the wheel of exporting buffers to ibuffer.JSDurand
2023-01-06gnus: Modify Protesilaos' related queriesJSDurand
2023-01-03ibuffer and view: bind imenu and add filtersJSDurand
* ibuffer.el (durand-bongo-set-filter): Add filters for Eshell and Org buffers. * view-conf.el (durand-view-map): Bind imenu to "i" in the view-map.
2023-01-01imenu: flatten imenuJSDurand
* imenu-conf.el (imenu-flatten-p): A variable to control whether or not we want to flatten imenu. (imenu-flatten-prefix): A helper function to deal with prefixes. (imenu-flatten): The function that actually flattens the lists. (imenu-flatten-advice, imenu--make-index-alist): Advice the producer of indices of imenu to plug our flattening logic in. * init.el ("imenu-conf.el"): Load this configuration automatically.