summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-24basic: Move pdf cleanups to `kill-buffer-hook`JSDurand
* basic.el (durand-kill-current-buffer): This function used to perform some clean-ups of the timers set by `pdf-view-mode` that were not cleaned properly by the mode itself. Now this function does not perform these cleanups, as this is not the right place for that task. (kill-buffer-hook): This hook is designed to perform some clean-ups, so the pdf-timer-clean-ups are moved to this hook now.
2024-02-23bookmark: add dired groupJSDurand
2024-02-23dashboard: bind three keysJSDurand
* dashboard.el (dashboard-mode-map): Bind the following for the sake of convenience. - f: find-file - F: find-file-other-tab - h: durand-ibuffer
2024-02-23gnus: do not check news groupsJSDurand
2024-02-22view: Update documentation of durand-view-timers-or-tempsJSDurand
* view-conf.el (durand-view-timers-or-temps): The function was updated without updating its documentation. Now the documentation is updated as well.
2024-02-22view: minor refactoringJSDurand
2024-02-22text: Use pixel width for centeringJSDurand
* text-conf.el (center-string-in-width, make-block): Use the function `string-pixel-width` to calculate the correct widths of strings, in centering the strings.
2024-02-22bookmark: enable pixel-perfect precisionJSDurand
* bookmark-conf.el (ilist-pixel-precision): This is a new feature of my package that aligns the bookmark columns perfectly.
2024-02-12common: Avoid manual byte codesJSDurand
* common.el (durand-display-in-one-window): I defined the function by use of manual byte codes, which is not a good idea: Emacs can very well change the meanings of the byte codes without announcements, and then I would have to change the code anyways.
2024-02-12dashboard: wrong key last timeJSDurand
I bound to the wrong key the last time.
2024-02-11tab-conf: Add a command to help inspect tabs.JSDurand
* tab-conf.el (tab-prefix-map): Bind it to 'c' in the prefix map. (durand-tab-list): Count the tabs and list them all.
2024-02-11bookmark-conf: add a new groupJSDurand
* bookmark-conf.el ("bodhicaryAvatAra"): Add a group for bookmarks related to my reading of the great work "बोधिचर्यावतारः".
2024-02-10dashboard: let-bind for shorter linesJSDurand
* dashboard.el (dashboard-mode-map): Bind it to a short name so that the calls to `define-key` can fit in one line.
2023-12-13eshell: a custom fs command, but not needed.JSDurand
* eshell-conf.el: A custom `fs` command was added and then commented as that is not really needed.
2023-12-13account: Add misc purpose and chart exporting option.JSDurand
* account.el (account-purposes-list): Add misc purpose (account-agenda-export-to-chart): This function uses the built-in chart library for exporting to charts. I still prefer the svg display, though.
2023-12-13TeX: Refined handling of bracesJSDurand
* tex-conf.el (end-exit-paren, open-back-paren): Refined handling of right angled brackets. (durand-o-things-list, durand-insert-o-things): Take right angled brackets into consideration.
2023-12-13input: Set the default input method to devanagari KH.JSDurand
* input-conf.el (default-input-method): Use the Kyoto-Harvard transliteration scheme as the default input method.
2023-12-13EWW: Use xwidgets in SHR.JSDurand
2023-12-13dashboard: प्रदेशस्संस्कृतम्JSDurand
* dashboard.el (dont-kill-dashboard-fn): I prefer to display sanskrit here.
2023-12-13bookmark: jump to bookmark in a new tabJSDurand
* bookmark-conf.el (durand-jump-bookmark-new-tab, tab-prefix-map): Jump to bookmark in a new tab.
2023-09-06account: modify svg and move all-cost to the frontJSDurand
* account.el (account-agenda-command, account-agenda-shop-command): Display the sum of all costs at the beginning instead of at the end. This is more convenient. (account-agenda-export-to-svg): Fix the widths of blocks of each day in the output SVG to be 150, and the total width of the image will depend on the number of days to display. This is necessary if I want to put text under the blocks.
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.