summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-31rust-conf: use the built-in eglotJSDurand
* rust-conf.el ("eglot"): The package eglot is built-in since Emacs 29, so I can use that package without downloading the source codes of that package now.
2023-08-31account: filtering and adding a payment method optionJSDurand
* account.el (account-capture-content): Add an option for the payment methods. (org-capture): This is required so that the capture templates variable is available. (account-collect-into-vec, account-agenda-command) (account-match-item, account-agenda-add-filter) (account-agenda-match, account-agenda-remove-filter) (account-mode-map): Add the functionality of filtering. Now the user can filter items based on some properties, like the payment method, the purpose, or the shop name, et cetera.
2023-08-31org: move account loading to the right placeJSDurand
The file "account.el" appends to the `org-agenda-custom-commands` and org-capture-templates, whereas the codes in "org-conf.el" sets the above two variables, so the file "account.el" needs to be loaded after the variables are set.
2023-08-29battery: Set limit to 59JSDurand
* battery-conf.el (battery-mode-line-limit): I think this limit better fits the usage now.
2023-08-24account: add two purposesJSDurand
* account.el (account-purposes-list): Two purposes "book" and "transportation" were missed.
2023-08-24account: erase buffer before inserting imageJSDurand
* account.el (account-agenda-export-to-svg): Previously I did not erase the buffer before displaying the image. This means if the image buffer was already used, the function would fail to insert the image again. Now this is fixed.
2023-08-23account: add a command to view accounts by shopJSDurand
* account.el (account-agenda-shop-command): This command lists expenses grouped by shop names. It is sometimes useful to know the shops I spent the most in. (org-agenda-custom-commands): Adjust the agenda command accordingly.
2023-08-23dashboard: bind capture to capital CJSDurand
* dashboard.el (dashboard-mode-map): Now I want to capture my account information regularly, so it is useful to have a convenient binding.
2023-08-23account: fix white background of svgJSDurand
* account.el (account-agenda-export-to-svg): The original exported SVG image did not specify the background color. Then the browser displays the image with a white background, but Emacs regards the background of the image as transparent. Since I use a dark background color in Emacs, the displayed image did not look right. So I add a white circle with large radius in the background to force the background color to be white, and it now looks a lot better.
2023-08-23org: ox-texinfo and accountJSDurand
* org-conf.el: Require ox-texinfo, and delete the parts about accounts. Those configurations are outdated now, and the new configurations are now in the new file "account.el". * account.el: Configurations for capturing and reviewing account information.
2023-08-23init: comment out the part about 'rime'JSDurand
It is a package that I once used. Since I do not want to use that package now, I comment out its preparatory forms.
2023-08-01btm: No more command line arguments neededJSDurand
* vterm-conf.el (btm): After I set up the custom layouts, no more command line arguments are needed.
2023-07-31dashboard: bind 'x' to `execute-extended-command`JSDurand
I wonder why I did not bind this earlier.
2023-07-30vterm: add a convenient function to run btmJSDurand
* vterm-conf.el (btm): This convenient function runs the command "btm --battery -m" in a vterm buffer. This is my main usage for vterm, so it is worth a dedicated function in my opinion.
2023-07-30init: run outline even at the first timeJSDurand
* init.el (durand-maybe-enable-outline): Previously when we enable outline-minor-mode for the first time, it would not be turned on. Now this is fixed. And the same thing for vterm.
2023-07-30text: `make-center-block`JSDurand
* text-conf.el (make-center-block): Make a "centered" block surrounding the selected region or line. This seems similar to the so-called source blocks in "Org-mode" , at least in my eyes. (find-max-nonblank-len-in-region): A helper function to calculate the maximal length of non-blank lines within a region. Here the length refers to the length of the non-blank portions of the lines.
2023-07-29Add vterm configurationJSDurand
I find vterm very useful when combined with the command 'btm'. I can use this combination to monitor many computer states conveniently, which I did not find a way to accomplish with the built-in terminal emulator 'term' in Emacs. * init.el (vterm): Load vterm if necessary. * vterm-conf.el: Thin configurations.
2023-07-29modeline: `mode-line-window-selected-p`JSDurand
* modeline.el: (modeline-get-active-window, modeline-active-window, modeline-active-window-p, modeline-set-active-window, modeline-unset-active-window, modeline-refresh-modeline, window-configuration-change-hook, buffer-list-update-hook, after-make-frame-functions, delete-frame-functions, handle-switch-frame): Emacs 29 adds a convenient function `mode-line-window-selected-p` that makes my old manual implementation here obsolete now.
2023-07-29add 'btm' as a visual commandJSDurand
I recently found this tool, which offers better experience than 'htop' in my opinion.
2023-07-27desktop: disable auto-savingJSDurand
* desktop-conf.el (desktop-auto-save-timeout): Auto-saving causes some trouble for me.
2023-07-22eshell: gv is now async and reports progressJSDurand
* eshell-conf.el (eshell-gv): Now gv uses `make-process` to asynchronously compile GraphViz files to image files. Moreover, it reports the progress in the echo area as well, as a quality-of-life improvement.
2023-07-20dashboard: set the dashboard buffer to be non-modifiedJSDurand
* dashboard.el (dashboard): Set the dashboard buffer as not modified. This is a minor issue, but I like it. :D
2023-07-17dashboard: Add a binding for switching projectsJSDurand
* dashboard.el (dashboard-mode-map): This command becomes more and more indispensable for me.
2023-07-17basic: use entire map when switching projectsJSDurand
* basic.el (project-switch-use-entire-map): This is quite convenient.
2023-06-19common: add a binding to store bookmarks in registersJSDurand
* common.el (durand-bookmark-to-register): Add an anonymous bookmark to a register. (ctl-x-r-map): Bind the function to 'C-x r B'. (bookmark-make-record): Automatically loads the bookmark if the required functionality is not loaded yet.
2023-06-19desktop: fix the previous issue of a variable not bound.JSDurand
* desktop-conf.el (desktop-also-save-bookmarks): Check if the variable `durand-saving-bookmarks` is bound, before checking its value.
2023-06-19desktop: inhibit message when saving bookmarksJSDurand
* desktop-conf.el (desktop-also-save-bookmarks): Inhibit message when saving bookmarks as a consequence of saving the desktop file.
2023-06-18desktop and bookmark: proper save mechanismJSDurand
* bookmark-conf.el (durand-saving-bookmarks): This variable indicates whether or not we are saving bookmarks already. (#'bookmark-write-file): Just a formating change. (durand-save-bookmark-or-desktop): Save bookmarks and/or the desktop file, depending on its argument. (ctl-x-r-map): Bind 'C-x r s' to `durand-save-bookmark-or-desktop`. * desktop-conf.el (durand-saving-bookmarks): In case this variable is not defined, silence the errors. (desktop-also-save-bookmarks): If we are not already saving bookmarks, save the bookmarks as well. (desktop-save-hook): Add `desktop-also-save-bookmarks` to this hook, so that when saving desktop and not already saving bookmarks, Emacs can automatically save bookmarks as well.
2023-06-18desktop: Do not save bookmarks in the hookJSDurand
* desktop-conf.el (durand-bookmark-save): I do not want to save bookmarks as a consequence of saving the desktop file now. (desktop-save-hook): Remove the previous function from the hook. (ctl-x-r-map): And remove the binding to save desktop files. Basically my plan is to have a keybinding that saves the bookmarks only, by default. When I want to save the desktop file as well, I pass an interactive universal prefix argument to the responsible function. I think this works better than to save both by default: it is kind of a waste of computing power, from my point of view. But of course I still want to save bookmarks if Emacs accidentally crashes and it saves the desktop file because of that. Thus we shall use a variable to control this behaviour, in order not to cause infinite recursion.
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.