summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
8 daysdashboard + init: gnus-unplugged instead of gnusJSDurand
* dashboard.el (m): * init.el: Replace gnus by gnus-unplugged. I found that I really want to start gnus without being plugged, as I only occassionally want gnus to fetch from the source directly. Other times the mails are fetched by other programs, and gnus only needs to read and do other things.
9 daysbasic: uuid generation functionJSDurand
* basic.el (durand-uuid): I just wrote this function so that I can easily generate message id's: I want to store my notes as mails, so I need to manually generate ids for links between notes to work.
10 daystheme: use lexical binding nowJSDurand
10 daysmail: also update my new email accountJSDurand
* mail.el (durand-mail-update-command): I added a new email account for recording my daily expenses, and the durand-mail-update-command should take that into consideration as well.
10 daysinit: add global binding for toggle-input-methodJSDurand
* init.el (global-map): This function has the responsibility to load my custom input-method-toggle-function, so it should be bound to my preferred key.
10 daysbongo: add opus extension recognitionJSDurand
* durand-bongo.el (bongo-custom-backend-matchers): Match opus files as well. I do not know why I did not match opus files before.
13 daysdashboard: durand-view-map is not loaded before dashboard.JSDurand
* dashboard.el (dashboard-load-view-map): I have to define a wrapper for this key so that dashboard can automatically define the key once the view-conf.el is loaded.
13 daysbasic: echo slowlyJSDurand
* basic.el (echo-keystrokes): Now I want to echo only after a delay of one second.
2026-05-22ibuffer: add a new display optionJSDurand
* ibuffer.el (durand-reset-clearlist): Now an arg of '(64) triggers the display of the clear list in a temporary window showing all the buffers in the list along with their live status. Maybe we can add more status to show in the future. As a note, an arg of (list 64) usually means triggering the universal argument function thrice.
2026-05-10basic: add doc and source directoriesJSDurand
* basic.el (doc-directory, source-directory): Maybe these are newly added variables. Otherwise I do not why my Emacs was functioning without problems before I set them.
2026-05-06Ithkuil-relatedJSDurand
* ibuffer.el (durand-ithkuil): Filter for Ithkuil-related buffers. (durand-bongo-set-filter): Add the above filter. * input-conf.el (durand-input-method-list): Add input method for Ithkuil and Hebrew. (durand-transient-punct, global-map): Add a key-binding for transiently inputting Chinese punctuation. * ithkuil.el: Define an input method for inputting transliteration of Ithkuil.
2026-05-06eshell: adapt to emacs 30JSDurand
* eshell-conf.el (durand-eshell-emit-prompt): Adapt to the next prompt-emitting function. This caused my Eshell to be unusable for a while, until I realized it was my function laggin behind the new Eshell function. (eshell-clear): This function deletes the region between the buffer start and a specific line beginning. Since Eshell starts to use fields, we have to take fields into consideration (or to stop taking them into consideration) to know the true position of the beginning of lines then.
2026-05-06org: refine blog experience and no automatic use of accountJSDurand
* org-conf.el ("account.el"): Now I do not always load this account package, as I have stopped logging my expenses now, thinking that this is not of too much help to me. (durand-org-quote-export-filter, org-export-filter-quote-block-functions): This recognizes a specific heading of '-#-' as starting the author of the quote. This author part will be put in the cite element in html output. The associated CSS file can then treat this element in a specific manner to make the author stand out. (durand-org-no-chinese-spaces, org-export-filter-paragraph-functions): This removes extra spaces added by the line breaks within a paragraph. This space is normal to English paragraphs, but is quite uncomfortable to reading Chinese articles. Fortunately I finally found a solutation to this problem by removing the line break if it is found between two Chinese characters. Actually more than Chinese characters are recognized here, such as Korean and Japanese characters are considered as well. The reason to consider them is simple: it is a matter of adding more categories to the matching regular expression, so why not add it. After all, I might decide to learn Korean and Japanese seriously in the future, who knows. :P
2026-05-06dashboard: change text and add wifi-toggleJSDurand
* dashboard.el (dashboard): The text is changed from the most famous mantra of अवलोकित्श्वरस्य to that of मञ्जुश्रेः. (C-c w w): this key-binding now toggles the wifi status.
2026-05-04gnus: I am not using notmuch that much now.JSDurand
* gnus-conf.el (durand-mail-update-hook): I stop updating to notmuch automatically, but preserve the possibility that I might want to use notmuch from time, just not that much now.
2026-05-04pdf: use lexical binding nowJSDurand
2026-05-04elisp: Fix obsolete when-let formJSDurand
That code was copied from elsewhere and used the to-be-obsolete form when-let. This is now fixed to use plain let binding and cond forms.
2026-05-04view: No messages application nowJSDurand
Since Facebook decided to stop this application, I can no longer avail of it, and hence there is no point of listing this application in the list of open targets anymore.
2025-08-20modeline: account for eldoc length as wellJSDurand
* modeline.el (modeline-right-offset): Adjust this value a little. (modeline-format-main, modeline-format-dashboard): Include the length of eldoc modeline string in the calculations of the middle space of the modeline, so that we can try to keep the right information visible in the presence of ELDOC.
2025-08-20bookmark: adjust EWW group positionJSDurand
* bookmark-conf.el (blist-filter-groups): Add the group of EWW bookmarks to the manual list so that it is listed in an upper position.
2025-08-18input: Convert buffer region to a specified input methodJSDurand
* input-conf.el (durand-convert-region-by-input-method): A helper to convert buffer text according to a chosen input method. I think this is sometimes convenient.
2025-08-18ibuffer: replace a call to an obsolete macro.JSDurand
* ibuffer.el (durand-directory): The macro `ibuffer-aif` is obsolete, so it is replaced by a `cond` form.
2025-08-18dict: Quality-of-life changesJSDurand
I am too tired to list the changes.
2025-08-18bookmark: add two external linksJSDurand
Add two links about upanishadaH.
2025-08-18basic: add font for cuneiformJSDurand
* basic.el (default-frame-alist): It assumes the font is already installed on the system.
2025-07-31input: Convert with the help of an input method.JSDurand
* input-conf.el (quail, durand-convert-string-by-input-method): This function converts the string to its equivalent under the chosen input method. This way one does not have to change the input method, and later change the typed mess into the desired language directly, which sometimes occured to me.
2025-07-27durand-dict: Add a framework, and add structure to parsingJSDurand
durand-dict.el: Now we have a framework that potentially supports searching other dictionaries than the single agarathi dictionary. Also, the parsing of the agarathi search results is much more structured now, and so is the presentation of the search results: each definition is listed in a separate item, and the examples are grouped under one heading, so that the user can skip these examples at will. And the presentation replaces every continuous block of spaces by one single space. As the consequence of all these, the readability is massively improved.
2025-07-26dudict: Add a special mode to be grouped in ibufferJSDurand
* durand-dict.el (dudict-mode, dudict-parse-agarathi) (dudict-parse-agarathi-panel): Add a special mode so that IBuffer can filter these buffers into the same group. * ibuffer.el (durand-bongo-set-filter): Add this filtering group.
2025-07-26durand-dict: An Emacs interface for searching dictionaries.JSDurand
It is at a barebones stage now. Still improvements are needed, but it is already kind of usable now: only the interface needs improvements.
2025-07-07input: Add my own keyboard layout.JSDurand
* input-conf.el ("durand-fr"): I use a French layout, where the arrangements of the keys are quite different than the "standard" layout, so previously it was quite inconvenient to use the quail packages, as I had to translate in my mind to the standard layout, so that the quail package can understand and input the correct keys. Today I discovered that the quail package actually provides a solution to this problem by the variable `quail-keyboard-layout`, which defines how to translate from a keyboard layout to the standard one. By defining my current French layout, I am now finally able to smoothly use the quail packages. One caveat is that the Chinese quail packages are generated from some dictionary files automatically, and the converter missed this functionality, so that by default the Chinese quail packages do not respect this keyboard layout translation. Currently I am overwriting the generated package, but clearly this is not a good practice. I might consider saving the generated and overwritten file to a special file, so that I can continue using that overwritten version in the future.
2025-07-06durand-align: Pixel-level centering.JSDurand
* durand-align.el (durand-center, durand-cancel-center, durand-align): Experimental for the time being.
2025-07-06TeX: Add one more type of brackets to the shortcuts.JSDurand
* tex-conf.el (durand-o-things-list): Add one more bracket type to this list of short-cuts.
2025-07-06input: Convenient toggling between frequently used methods.JSDurand
* input-conf.el (durand-input-method-list): This is a list of my frequently used input methods. (durand-toggle-input): A function to choose amongst the above list of input methods. This function reads a method in the "headlong" manner, so that oft one only needs to press a letter to select an input method, making it behave sort of like a more flexible keymap. (global-map): Replace the binding of the function `toggle-input-method` by the above function.
2025-01-01count: Apply checkdoc suggestions.JSDurand
Documentation styles and error message conventions.
2025-01-01count: make value buffer-local, font-changing commands.JSDurand
* count.el (count-mode-value): Make this variable buffer-local, so that we can have different buffers count different values. (counting-font-step): Add a variable that controls the font-size scaling factor within the counting buffers. I shall consider if I need to make this variable buffer-local as well. (count-mode, count-refresh): Refactor some logic into the function `count-refresh`. (count-mode-map): Add bindings for font-size changing commands. (count-make-pad-string): Account for the font-size scaling variable in the calculation of the size of the numbers to be centered. (count-enlarge, count-shrink): Commands for changing the font-scaling variable, so as to achieve the effect of enlarging and shrinking the texts within the counting buffers.
2024-12-31count: Easy counting mode.JSDurand
Add an easr counting mode for my counting purposes.
2024-10-20org: A new template for electric billsJSDurand
* org-conf.el (org-capture-templates): Add a new template for quickly recording the electric bills.
2024-10-20modeline: Use the variable `mode-name` to display major-modeJSDurand
I do not know why I used the escaped string "%m" for this purpose.
2024-07-31modeline: Add a simplified format for GNUS.JSDurand
* modeline.el (modeline-format-gnus, modeline-gnus-format-left): A format for GNUS that does not display some unnecessary information.
2024-07-31mail: Only update mails automatically when GNUS is on.JSDurand
* mail.el (durand-mail-update): Only update mails automatically when GNUS is on. Sometimes I want to carry the computer to some place without internet, in which case I do not really want to update mails. With this change, I can simply turn off GNUS to stop automatically updating mails, without cancelling the timer, which is quite convenient in my opinion.
2024-06-05mail: Modify update-message.JSDurand
* mail.el (durand-mail-update): Tell the user that the update messages come from fetching mails.
2024-06-05dashboard: Add entry point for reading novels.JSDurand
2024-05-23mail: Notify when there is no internet connection.JSDurand
* mail.el (durand-mail-update): When there is no internet connection and the command tries to launch a new connection, inform the user about the lack of internet connection, so that the user can take some action as needed.
2024-05-21Do not try to update mails without internet connection.JSDurand
* mail.el (#'durand-internet-on): This is defined in basic.el. (durand-mail-update): Do not try to update mails without internet connection.
2024-05-21basic: Add a function to test internet connection.JSDurand
2024-05-10mail: Do not creating multiple processesJSDurand
* mail.el (durand-mail-update): If there is already a process that is fetching mails, we should not create more processes to do the same thing.
2024-04-15org: Use the new favicon for the generated website.JSDurand
* org-conf.el (durand-org-publish-favicon): Use the new favicon for the generated website.
2024-04-15modeline: `modeline-right-offset`JSDurand
* modeline.el (modeline-right-offset): Add a variable to control the right padding in the mode line. (modeline-format-main, modeline-format-dashboard): Use the above variable to leave a small space at the right-hand side.
2024-04-15ibuffer: modify the clear functionJSDurand
* ibuffer.el (durand-ibuffer-clear): Put the cursor at the correct position in the dashboard buffer.
2024-04-15dashboard: refinementsJSDurand
* dashboard.el (dashboard): Put the cursor at the start of the buffer. (dashboard-mode): Use a dedicated `mode-line-format`.