Martin Steffen writes: > For phoning, I am not sure. I think there is (or was) a functionality to > initiate a call (probably with skype or ekiga or some such) but I never > used that. There is bbdb-dial, and I have it set up to call a function which places a call through Google Hangouts. Of course Google is deleting that feature so I will have to figure out how to make it use Google Voice. Admittedly it's an unnecessary feature but I just have fun making calls with Emacs instead of fishing around for my cell phone. -- Bob Newell Honolulu, Hawai`i - Via GNU/Linux/Emacs/Gnus/BBDB
I've used BBDB for years, and have tried org-contact, but it didn't seem to scale to the now rather large size of my BBDB database. I've looked at migrating to EBDB but as I have many custom functions I haven't yet made the move. BBDB can do amazing things. I've mentioned some of them before. Of course org links are supported, and in conjunction with the 'gnorb' package, Gnus email can be associated with BBDB entries in interesting ways. I use BBDB to easily maintain a slew of mailing lists. I also have custom functions to set the input language mode for those with whom I correspond in non-English languages. I even use BBDB to initiate phone calls when I'm on my desktop computer. I hadn't thought to put BBDB under version control but that would be very easy. However you don't need to get fancy right away. All the basics are there. Like many things Emacs, it does take time to get things set up the way you wish, but that time is well repaid down the road a little. -- Bob Newell Honolulu, Hawai`i - Via GNU/Linux/Emacs/Gnus/BBDB
I've done similar sorts of things in Linux with xdotool and xclip. These are very useful tools although a bit fiddly in their usage. -- Bob Newell Honolulu, Hawai`i - Via GNU/Linux/Emacs/Gnus/BBDB
Russell Adams writes: > My key problem is I need a way to access my contacts in Emacs and Mutt, and > send > them to my Android phone. Single direction sync is fine. Aloha, I've probably mentioned this before in past postings, but there is a comprehensive solution for Android if you install the free Termux app, which has packages for emacs and mutt (although I use gnus), plus rsync and zillions of other tools. I was able to reproduce 100% of my (text mode) emacs environment on an Android tablet, an Android phone, and a Chromebook running an Android subsystem. I use rsync to a cloud service for two-way sync among eight varied devices (one at a time, of course). It takes a seriously serious amount of up-front work and may not be at all close to what you are seeking, but once it's set up, it's amazingly effective and productive (at least for me). -- Bob Newell Honolulu, Hawai`i - Via GNU/Linux/Emacs/Gnus/BBDB
Aloha everyone, Sometimes a "lower tech" solution is best, or at least offers a lot of advantages. What I see as the advantages of resolving issues through a mailing list are: * Minimal barriers to entry. If you have an email client of ANY type, you're in. No need for anything more. I think this is a very big deal, the merits of which can easily be underestimated. * Distributed data. No one has to be responsible for maintaining a central database, keeping it secure and updated, etc. (except, of course, for the list server but that's a different matter). Changes in policy on the bug-tracker host don't matter because there is no host. * A permanent record maintained and replicated widely. Everyone who saves their mail from the list has a copy. I'm certainly not saying that a formal project-management style issue tracking system is a bad thing; in many use cases, it can be quite important. But this is an open-source, distributed effort, non-commercial endeavor, not beholden to a specific client (the clients are all of us) and clearly not for profit. The requirements are not the same. I can't cite statistics, but I wonder if more gets "lost" on the mailing list than in a formal bug tracking system, where things do get buried and may not surface for a long time if ever. Another big enabling factor is that (as others have mentioned) this list is very responsive, very open and welcoming, and almost always courteous and respectful (rather a big thing on today's internet). I've posted various things and gotten various replies and results. When I've reported problems, they've been addressed, generally quickly and effectively. When I talk about nice-to-haves, some get responses and some don't, which is exactly what I'd expect. I'm very pleased with the way things are working and would hate to add another layer of complexity without being sure the upsides were greater than the downsides. -- Bob Newell Honolulu, Hawai`i - Via GNU/Linux/Emacs/Gnus/BBDB
I'll second (nth) all the compliments. Your work is not only day to day useful but is a great mini-tutorial on the usage of a previously undocumented org-mode feature that is highly useful. -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
Juan, You might take a look at my 'scraps' package. I created it a little while back and it does a fair amount of what you mention. I've got over 3,000 files taking up over 64 MB and it's still quite fast. http://www.bobnewell.net/filez/scraps.zip -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
I'm not going to be critical of either MobileOrg or Orgzly, which are the way to go if you want a dedicated app. But I much prefer going to the trouble of setting up a Termux environment, which allows Emacs to run in a very close to native term mode on any Android device. I combine this with an rsync service and I have my working environment on two Linux desktops, three Linux laptops and three Android devices, including my phone. -- Bob Newell Honolulu, Hawai`i Via Linux/Emacs/Gnus/BBDB.
Aloha everyone, > I agree terminal users typically won't want variable pitch, but disagree > that they are generally doing sysadmin -- I know users who use org-mode > for their notes, but prefer to use emacs in the terminal. I have a Very Big Use Case here: on my Android devices I run Termux, which runs nearly everything perfectly but only in terminal mode. I run Emacs/org-mode this way on my Android tablet all the time when out of the house or traveling. The mixed pitch idea has great merit, don't get me wrong, and would be a very nice thing indeed on my native Linux devices. But I'd hope there would be no "unintended consequences" for terminal users. -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
At first glance this is indeed interesting and I must study it carefully. Thank you for pointing this out. I have published quite a number of books (both fiction and non-fiction) starting with org-mode. Inevitably, though, there is lots of hand work with LaTeX, and anything to reduce that will be very welcome. -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
I don't seem to have any trouble with org-eww-copy-for-org-mode. I capture with a capture template. The code below may be longer or more than you want, but it works for me. My capture template is this: ("w" "Website" plain (function org-website-clipper) "* %a\n%T\n" :immediate-finish t) And it depends on the following code. (require 'ol-eww) (require 'ol-w3m) ;;; Change this to suit: (defvar org-website-page-archive-file "~/organize/website/websites.org") (defun org-website-clipper () "When capturing a website page, go to the right place in capture file, but do sneaky things. Because it's a w3m or eww page, we go ahead and insert the fixed-up page content, as I don't see a good way to do that from an org-capture template alone. Requires Emacs 25+ and the 2017-02-12 or later patched version of org-eww.el." (interactive) ;;; Address the plague of trailing whitespace in some web buffers. (let ((buffer-read-only nil)) (delete-trailing-whitespace)) ;;; Check for acceptable major mode (w3m or eww) and set up a couple of ;;; browser specific values. Error if unknown mode. (cond ((eq major-mode 'w3m-mode) (org-w3m-copy-for-org-mode)) ((eq major-mode 'eww-mode) (org-eww-copy-for-org-mode)) (t (error "Not valid -- must be in w3m or eww mode"))) ;;; Check if we have a full path to the archive file. ;;; Create any missing directories. (unless (file-exists-p org-website-page-archive-file) (let ((dir (file-name-directory org-website-page-archive-file))) (unless (file-exists-p dir) (make-directory dir ;; Open the archive file and yank in the content. ;; Headers are fixed up later by org-capture. (find-file org-website-page-archive-file) (goto-char (point-max)) ;; Leave a blank line for org-capture to fill in ;; with a timestamp, URL, etc. (insert "\n\n") ;; Insert the web content but keep our place. (save-excursion (yank)) ;; Don't keep the page info on the kill ring. ;; Also fix the yank pointer. (setq kill-ring (cdr kill-ring)) (setq kill-ring-yank-pointer kill-ring) ;; Final repositioning. (forward-line -1) )
I have solved this problem after some investigation. It could perhaps apply to other users. I had customized the value 'org-modules'. This was fine so long as we had 'org-gnus' (and other similar modules). But in org 9.3 this has become 'ol-gnus' (and ol-bbdb and so on). Now, 'ol-gnus' and the rest are included in the stock value of org-modules, but this was over-ridden by my customized version. No more org-gnus to load! So I lost functionality as described in my complaint. I found this by going through '*Messages*' where the message "Problems loading org-gnus" (et al) appeared. I didn't see anything in the 'incompatible changes' log for org, but perhaps this is too obscure. Oh well. This occupied a few hours but it wasn't good beach weather today. Aloha, -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
Just to update, reversion to an earlier org-mode makes these problems go away. That still doesn't parse the question of whether there is something in my own setup that now doesn't work as opposed to a more general problem. Continuing work -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
Thanks for the input! But I don't think org-link-escape is the problem for me. In the documentation for the new org changes there is a link conversion function. I ran this to fix all my links and still got the same problem. It also wouldn't explain my todo capture template failure, either. Of course, I'll keep researching, but I may temporarily try to revert to the previous org release (if I can figure out how!) mahalo -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
Aloha, Posting to both org-mode and gnus groups. Just updated to latest org (9.3 of 3 December) on Emacs 26.3.1 and my gnus link functions seem to have quit. Now, whenever I do C-c C-o on an email link I get something like this: org-link-search: No match for fuzzy expression: gnus:nnimap+imap.gmail.com:%5BGmail%5D/All%20Mail#can9lugf6qkkyxt9ewjjs+hoyc6ywjasft4k4hv5zr2d10vy...@mail.gmail.com Further, when I want to set up a todo with C-c c t when in a gnus message (article), I now get org-capture: Capture template ‘t’: No method for storing a link from this buffer Does anyone else see any of this or just my problem? Any ideas? Mahalo in advance, -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux
Although I don't have an answer to your question, I'm also interested, as it's been suggested to me that I somehow publish my code and workflow for substantially easing the somewhat painful process of taking and inputting registrations for USCF-rated chess tournaments. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Milan Zamazal writes: > GB> still only once there. If I want to track the learning in both > GB> directions separately, I need to make two items for one word, > GB> once german-spanish and once spanish-german. Am I right? I've used org-drill for both English/Hawaiian and English/Hindi, and I've never been able to get balanced two-way drills without making separate cards for each direction. But making card pairs is really easy to automate. I make a .org file with words in one direction only, semicolon separated like this: hindiword1;englishword1 hindiword2;englishword2 etc. etc. and then call the following elisp. (Obviously works for any pair of languages.) The elisp sets up a two-way org drill file that does what I want. The coding is crude and could be improved however it works, which is something of a benefit :) ;; Make Hindi flashcards for org-drill ;; Pseudo-Two sided, English/Hindi (defun org-make-hindi () "Make Hindi flashcards" (interactive) (goto-char (point-min)) ;; Process each line top to bottom. (while (not (eobp)) (beginning-of-line) (setq frontofline (point)) (search-forward ";") (backward-delete-char 1) (setq partone (buffer-substring frontofline (point))) (delete-region frontofline (point)) (setq frontofline (point)) (end-of-line) (setq parttwo (buffer-substring frontofline (point))) (delete-region frontofline (point)) (delete-char 1) (insert (concat "** Word :drill:\n:PROPERTIES:\n:END:\n" partone "\n*** A\n" parttwo "\n" "** Word :drill:\n:PROPERTIES:\n:END:\n" parttwo "\n" "*** A\n" partone "\n")) ) ) -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Aloha, I too came across this long ago. I like a 'zero inbox' and so I archive (or delete!) my gmail after reading. And indeed, when you move from INBOX to "All Mail" an org-link to INBOX will no longer function. I use Gnus and do something rather simple and easy: (defun changegroupinemaillink (args) (setcar args (replace-regexp-in-string "gmail.com:INBOX" "gmail.com:[Gmail]/All Mail" (car args))) args ) (advice-add 'org-gnus-article-link :filter-args #'changegroupinemaillink) After this, links point to All Mail and the mail will always be found. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Aloha, Either of your suggested solutions would work, of course, and limit effects to org-xxx-copy-for-org-mode. I didn't go that way because I didn't want to have to continually modify the core product on my own :) The idea of (if (org-string-nw-p link-location etc. may be best because we can have a guaranteed nil on a bad link, rather than ignore-errors which (I think?) may have a different return. I didn't put an error message in my 'advice' workaround but it would be a good idea. Regards, Bob On Sat, Apr 14, 2018 at 3:17 AM, Nicolas Goaziou <m...@nicolasgoaziou.fr> wrote: > Hello, > > Bob Newell <bobnew...@bobnewell.net> writes: > >> The problem? When org-make-link-string encounters an empty link (it >> doesn't happen often but it does happen), it uses the 'error' function >> to say that the link is empty. This means that the entire call to >> org-xxx-copy-for-org-mode is aborted, and consequently nothing is >> captured. >> >> Should this be the desired behavior? > > Your question is twofold. > > OTOH, it seems sane to expect `org-make-link-string' to throw an error > if you try to apply it on garbage. OTOH, I agree it is not desirable to > throw away all captured information because of a bad link. > > I think the problem lies in the logic of `org-eww-copy-for-org-mode' and > `org-w3m-copy-for-org-mode', which should handle better errors from > `org-make-link-string'. > > For example, > >(if (stringp link-location) >;; hint: link-location is different for form-elements. >(org-make-link-string link-location link-title) > link-title) > > could be replaced with > > (if (org-string-nw-p link-location) > ...) > > or even > > (or (ignore-errors (org-make-link-string ...)) > link-title) > > WDYT? > > Regards, > > -- > Nicolas Goaziou -- Bob Newell Honolulu, Hawai`i Sent via Linux Mint 17.
Aloha, I've got a subsystem for capturing snippets of information (I mentioned it here, scraps.el, quite some while back). Some information is captured from w3m or eww browser buffers. To do this I use org-w3m-copy-for-org-mode or org-eww-copy-for-org-mode. This is nice in that links are converted to org-mode links, using org-make-link-string. The problem? When org-make-link-string encounters an empty link (it doesn't happen often but it does happen), it uses the 'error' function to say that the link is empty. This means that the entire call to org-xxx-copy-for-org-mode is aborted, and consequently nothing is captured. Should this be the desired behavior? It doesn't quite work for me, but I'm not sure about other uses, side effects, etc. Someone more familiar with org-mode code would have to decide. My workaround, since I don't want to modify org.el directly and have to maintain the mod, is this fairly primitive idea: (defun rjn-around-omls (orig-fun link args) (if (org-string-nw-p link) (apply orig-fun link args) nil)) (advice-add 'org-make-link-string :around #'rjn-around-omls) This works fine for me in that an empty link is simply returned as nil and ignored. (I suppose I could add an error message.) Any thoughts on (a) is the 'error' return the right thing, and (b) this workaround? Mahalo, -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
I didn't catch this at first but if continued this should be moved to the BBDB mailing list. On Thu, Jan 11, 2018 at 9:36 PM, Eric S Fraga <esfli...@gmail.com> wrote: > On Thursday, 11 Jan 2018 at 13:48, Bob Newell wrote: >> But the real question is /why/ would you want to delete BBDB? You get > > And supplementary question: if you (directed at the OP) don't use it, > how does it affect you even if it is installed? > > -- > Eric S Fraga via Emacs 27.0.50, Org release_9.1.6-317-gc82c21 -- Bob Newell Honolulu, Hawai`i Sent via Linux Mint 17.
"M. P." <wintermute2...@icloud.com> writes: > How do I uninstall bbdb? How did you install it? If it was from the package manager, delete it from there. If it was by hand, take out whatever you added to your startup file, probably (require 'bbdb-loaddefs) or similar, and delete the bbdb directory. There might be other startup lines to remove if you integrated with gnus or something else. Do M-x occur RET bbdb RET to help you find everything. But the real question is /why/ would you want to delete BBDB? You get the most out of it when you integrate with Gnus or another mail reader and make use of great features like autocompletion, auto-addition of addresses, etc. It takes time and effort but it becomes an indispensable tool. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Mycroft Jones <mycr...@reactor-core.org> writes: > I'm wondering if org-mode can do this: > > I have many tasks. Some are one off. But many are tasks that will take a > period of time, days, weeks, months. I need to schedule a bit of time every > day. Over time I can complete the tasks by plugging away. But I have so > many. > Half hour chunks work for some tasks, 1 or 2 or 3 hour chunks work best for > others. Aloha, This sort of thing is really a project management issue. While I know you're asking for an org-mode solution, something like Task Juggler will do the kind of scheduling you want. But it would be a fair amount of work entering progress and updating scenarios every night. What is really needed is a good org-mode/Task Juggler interface. (There is an Emacs interface but it's meant for creating and running Task Juggler scenarios directly.) I'm not necessarily volunteering to write one, but it could be done. However this doesn't help you in the near term. To further the concept: If TODOs had due dates/time estimates/time spent as perhaps additional properties, and there was a better way to express dependencies (I think there is already an org-mode adjunct for this), some coding could turn this into a Task Juggler input file. There is already a project management adjunct for Emacs, but it doesn't do scheduling. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Bob Newell <bobnew...@bobnewell.net> writes: > I have :sitemap-style "tree" in all projects. And the problem turns out to be that "tree" cannot be in quotes, instead it has to be :sitemap-style tree Previously, this error would not be flagged and the default, which is tree, would be used, so I thought it was all working fine. Now my error is caught. Removing the quotes fixes everything. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Aloha kakou, Up until the latest org (Emacs 25.1.1, org 9.1-20) org-publish-all did exactly as it should. But now I get this error: Unknown site-map style: tree I didn't change anything (honestly!). I have :sitemap-style "tree" in all projects. I looked into ox-publish.el to verify that style was passed as "tree" but it seems to not be parsed as such. Is there a new bug or is it an old flaw in my setup now exposed? Mahalo, -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Solutions to the interruption problem are definitely individual. In my case I simply tracked frequency of interruptions. I got from that the bottom line that I should not try to work at home--- a conclusion that I probably needed no software support to justify. When I switched to working at libraries and coffee shops, the issue became one of focus, and the pomodoro method solved that problem for me after a little fine-tuning of work and break intervals. I use one of the non-org pomodoro packages also, but it's all according to how you organize your work. I only think tracking length of interruptions adds value if you bill clients in time increments, and even in that case clocking out of the billable task is arguably more important than clocking in to the interruption task. If you want to know how much time is lost to interruptions, etc., just subtract your logged productive time from the length of your workday, to get the same depressing result as if you had logged all interruptions. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Bob Newell <bobnew...@bobnewell.net> writes: > #+BEGIN_EXAMPLE > * top > ** level 2 > *** level 3 > #+END_EXAMPLE Question answered in another thread, just to confirm: ",* top" etc. works as advertised. I missed that footnote about using a leading comma but the syntax is consistent with Emacs convention, it seems. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
I may be overlooking something simple here, but I'm having a problem with org-publish. When I try to publish a page containing something like this (minimal example): #+BEGIN_EXAMPLE * top ** level 2 *** level 3 #+END_EXAMPLE what happens is that 'top' etc. get interpreted as section markers (the 'example' seems to be overlooked). To get it to be an actual code example I have to indent the * to make the line a non-headline, " * top" instead of "* top" for instance. What kind of dumb mistake am I making? I've been using org-publish for a while but all my code samples so far haven't included org-mode headlines. Mahalo in advance. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
>> mark them with tags, and do org-tags-view. Or, you can use regex or other >> criteria if you like. >> > > That was my first thought too: I didn't think any extra functionality is > needed. I looked into this earlier but agenda bulk marking doesn't seem to work in an arbitrary org-mode buffer; it must be an agenda buffer, and you can only mark certain entries. The tag idea may be the best way. Thanks to all for the replies. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Samuel Wales <samolog...@gmail.com> writes: > can you provide a use case? A simple use case: you're brainstorming, making org-mode headline entries as fast as you can think or type. After a while you notice that a number of entries seem to be related and might actually be better considered as a spin-off. So you want to gather up all of those entries and send them off in bulk to a different org file. Or even simpler: you want to group together a bunch of scattered headlines that you now see as being related. Yes, you can do this by moving each one around individually, but I'd like a faster method--- just mark them and relocate them all at once to the top or bottom of the buffer. > for me, i have long wanted to mark a set of tasks with a tag in the > outline or agenda, then have /links/ to them gathered in one place, at > a uniform level. This sounds quite useful, actually. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Thanks for the feedback. As to the question, what is scatter-gather? -- It's the idea of gathering up scattered pieces of text and consolidating them in another place, whether elsewhere in the same buffer or in another file. Using tags would work, and I've done something similar in my home-brew code for a fiction writing environment (I gather scattered comment blocks). So would non-visible marks, although when brainstorming you may want visible indicators of selected headlines. Something like '** ! headine' doesn't really destroy org syntax in any way, but it does add extra text to a headline (of course, so does a tag). I'll certainly look at the suggested alternatives, especially helm. In any case I'll think this through quite a bit more before developing a prototype. -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Org-mode has nearly everything that other outlining tools have, and generally much, much more. But one thing that is missing (and there's been sporadic traffic about this) is convenient scatter-gather. BrainStorm WFO has this; it's not like I'm going to start using it as an alternative, but such a feature might be nice in org-mode. The Emacs way is to write it yourself, and I'm thinking about that. But I wanted to try out the concept and see if it's of interest, or for that matter, more trouble than it's worth. You can do something like this on the Agenda screen, but that's not a general solution at all. What about an "ordinary" org mode file. So here's the flow I envision. 1. You "mark" a series of headline entries with, say, 'org-sg-mark'. Perhaps it would look like this when marked: ** ! interesting headline Yes, this disturbs the existing text. But the marking has to be somehow visual. 2. You give a command like 'org-sg-gather' and the marked headlines are gathered up, moved (just like archiving) to a file (for which you're prompted) or maybe, optionally to the top or bottom of the current buffer. The marks are then cleared. 3. 'org-sg-clear' clears a single mark; 'org-sg-clear-all' clears them all. Potential problems: 1. As mentioned, text is disturbed at least temporarily. 2. Incomplete operation sequences leave marks in place, when they might be useless. 3. If the gathered headlines are at different levels, the resulting gathered outline will not be sensible and will require manual fixing. Comments welcome. This doesn't look especially difficult to code, but does it make sense and is it of any use? -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Scott Otterson <sco...@sharpleaf.org> writes: > I use Evernote, which has handy annotation, tagging, and search I use this also, but I wanted something working within Emacs similar to the Evernote web-clipper. Org-board is very powerful but requires an intermediate step of creating a headline with a URL property. I wanted something fast, so I wrote an org-mode web clipper. It works with both w3m and eww, making use of an org-capture template and a little custom code. Images are captured if you've set up w3m or eww to display them. CSS, etc, is obviously not captured. I've put it here if it's of any interest to anyone. It's pretty much a prototype but I use it daily. Emacs 25 required. http://www.bobnewell.net/publish/35years/webclipper.html -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Okay, solved, but it does point to a problem. I had misspellings in the project names. So this happens: ("generalweb" :components ("generalimages" "generalother" "generalorg")) "generalimages" is processed. "generalother" isn't found because of a misspelling. But there is no error message and processing stops silently, with "generalorg" being skipped. Perhaps there should at least be an error or warning here? -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Aloha, Running 9.0.5. I have a strange problem with org-publish. Only the first entry of my :components gets processed. I've tried tracing code and fail to find the problem. Can anyone give a suggestion? I'm appending my project alist. Mahalo! (setq org-publish-project-alist (quote ( ("35yearsorg" :base-directory "~/organize/publish/35years/" :publishing-directory "/ftp:chipscha...@www.bobnewell.net:~/publish/35years" :recursive t :table-of-contents t :auto-sitemap t :sitemap-title "35 Years of EMACS" :sitemap-filename "index.html" :sitemap-style "tree" :makeindex t :base-extension "org" :publishing-function org-html-publish-to-html :style-include-default nil :section-numbers t :table-of-contents t :author-info "Bob Newell" :creator-info nil) ("35yearstother" :base-directory "~/organize/publish/35years/other/" :base-extension "css\\|pdf\\|sh" :publishing-directory "/ftp:chipscha...@www.bobnewell.net:~/publish/35years/other" :publishing-function org-publish-attachment :recursive t ) ("35yearsimages" :base-directory "~/organize/publish/35years/images" :base-extension "png\\|jpg\\|gif" :publishing-directory "/ftp:chipscha...@www.bobnewell.net:~/publish/35years/images" :publishing-function org-publish-attachment :recursive t ) ("35yearsweb" :components ("35yearsimages" "35yearsother" "35yearsorg")) ("generalorg" :base-directory "~/organize/publish/general/" :publishing-directory "/ftp:chipscha...@www.bobnewell.net:~/publish/general" :recursive t :table-of-contents t :auto-sitemap t :sitemap-title "General Web Pages" :sitemap-filename "index.html" :sitemap-style "tree" :makeindex t :base-extension "org" :publishing-function org-html-publish-to-html :style-include-default nil :section-numbers t :table-of-contents t :author-info "Bob Newell" :creator-info nil) ("generaltother" :base-directory "~/organize/publish/general/other/" :base-extension "css\\|pdf\\|sh" :publishing-directory "/ftp:chipscha...@www.bobnewell.net:~/publish/general/other" :publishing-function org-publish-attachment :recursive t ) ("generalimages" :base-directory "~/organize/publish/general/images/" :base-extension "png\\|jpg\\|gif" :publishing-directory "/ftp:chipscha...@www.bobnewell.net:~/publish/general/images" :publishing-function org-publish-attachment :recursive t ) ("generalweb" :components ("generalimages" "generalother" "generalorg")) ))) -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Aloha kakou, I'm cross-posting to both gnus and org lists, although I suspect the readership overlaps greatly. I wanted to solve the problem of using Gmail via IMAP with gnus and org-mode links, wherein if you make a link from, say, INBOX, and then archive the mail, the link is no longer valid. But in Gmail, everything is in All Mail--- but you don't want to have to leave INBOX and go to All Mail just to make a link. The first part is this. It's kludgy, but it works for me. It edits the link just after creation to force it to point to All Mail if it's a Gmail link. The regexp could possibly have to change in another environment; I don't have a means to test that. --- ;; This function and defadvice attempts to solve the problem of Gmail ;; email being moved from folder to folder. We change org-mode email ;; links involving gmail to always point to the All Mail folder, where ;; everything resides except stuff that has been purged. (defun changegroupinemaillink ( args) (if org-stored-links (let* ( (oldlink (car (car org-stored-links))) (newlink (replace-regexp-in-string "gmail:.*#" "gmail:[Gmail]/All Mail#" oldlink))) (setcar (car org-stored-links) newlink (advice-add 'org-store-link :after #'changegroupinemaillink) --- You should also use the gnus registry, with the nnregistry method added as documented in the gnus manual. (You may have more methods than shown below; modify to suit. --- ;; Referer (parent) lookup. (setq gnus-refer-article-method '(current (nnregistry))) -- Perhaps this is redundant, but as I've got it working and doing what I need, I'm reluctant to mess it up :) -- Bob Newell Honolulu, Hawai`i * Via Gnus/BBDB/Org/Emacs/Linux *
Aloha kakou, I started to find the above idea pretty interesting, and so I did a small proof of concept coding to implement it. (Certainly this could be done a lot better but I just wanted to try it out.) I'm going to work with the idea for a little while to see how well it helps in sorting through tasks. Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.14-Emacs 24.3-Linux Mint 17.3 * ;; Implement supermemo style task list processing via org-mode tables. ;; Usage: M-x org-tasklist-add and follow the prompts. If you use it a ;; lot, tie it to a function key or something fast and useful. ;; The task table file, tasks.org, goes to the org default directory, ;; and is created if it doesn't yet exist. ;; Tasks have an input value (in any units you like), time (in any ;; units you like) and a description. Priority is then calculated as ;; value/time and the table is sorted from highest value at top to ;; lowest value at bottom. ;; This is /not/ integrated with the org-mode agenda. That is keeping ;; with the philsophy explained by Dr. Wozniak, that tasks with ;; time-constraints should be avoided if possible and scheduled ;; separately when they cannot be avoided. (This seems like a fair ;; amount of wishful thinking.) But in any case, high-priority or ;; high-value items can be manually added to the agenda if so ;; desired. (I don't yet have an automated function for this.) ;; I think the task table could contain many items, none of them (yet) ;; urgent. It may be a way of prioritizing future work (chosing the ;; most valuable work), which later gets projectized (perhaps) and ;; scheduled. What the table can surely do, which I think is of much ;; merit, is screen out low value projects and tasks that simply ;; aren't worth doing, either on their own merit or compared with ;; higher payback items. (defun org-tasklist-sort () "Sort org tasklist" (interactive) (goto-char (point-min)) (search-forward "#+TBLNAME: org-tasklist" nil 2) (forward-line 3) (forward-char 2) (org-table-sort-lines nil ?N) ) (defun org-tasklist-add (value hours description) "Add a task to tasklist" (interactive "nValue: \nnTime: \nsDescription: ") (find-file (concat org-directory "tasks.org")) (goto-char (point-min)) (while (not (search-forward "#+TBLNAME: org-tasklist" nil 2)) (insert "\n#+TBLNAME: org-tasklist\n") (insert "|Priority|Value|Time|Task Description|\n") (forward-line -1) (org-table-insert-hline) (forward-line 2) (insert "#+TBLFM: $1=$2/$3\n") (goto-char (point-min)) ) (forward-line 3) (insert (format "| | %f | %f | %s |\n" value hours description)) (forward-line -1) (org-table-align) (org-table-iterate) (org-tasklist-sort) ) --
If you don't care about integrating into the agenda, this could be quite easily implemented in an org table.
Re: [O] syncing my life (orgmode :)) to a mobile (android) device..cant find a holistic reliable way..how do you guys manage to do it?
I take a slightly different approach. Google calendar is my main calendar and this works across devices including my Android phone and tablet. However I use the old-fashioned emacs diary, which org-mode of course easily incorporates. Diary is simple to work with. When I start up emacs, I use gcalcli and some custom elisp to fetch my Google calendar and regenerate the diary file completely, every time. On exiting emacs, I run a diff (through custom elisp) to find changes to the diary file and again use gcalcli to push those changes back to Google calendar. I don't try to sync contacts or notes bidirectionally. I do use mobileorg to make sure my tablet/smart phone has a copy of all my org-mode stuff. If I do happen to edit on the tablet/smart phone, it's a manual process to put that back to the master, but this is not my usual working mode. I have a lightweight laptop (Asus Zenbook) and carry that whenever possible. Overall I sync to and from a master at strongspace.com, which supports use of rsync. I suppose some day I should get away from diary, but it works really well. -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.14-Emacs 24.3-Linux Mint 17.2 *
Aloha kakou, I've had this work on Firefox (with Linux) when everything is properly set up, but it won't and probably never will work on Chrome. Even on Firefox it isn't really ideal. But as long as you have clipboard access configured in your Emacs, it really isn't such a great slowdown to do cutting and pasting--- with any browser, on any system. Yes, ideally we would have a web-clipper (similar to Evernote). -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *
Re: [O] Organizing and taming hectic Academia work (faculty viewpoint)? Tips or a good guides sought after :)
Julian Burgos jul...@hafro.is writes: b) I write the manuscript in org-mode. Then I send the org-mode file to my coauthor. Because the org-mode file is just a text file, my coauthor can use Word to edit it. I ask him/her *not* to use track changes and to save the edited version also as a text file. Then, when I receive it I use ediff in emacs to compare both documents and incorporate the edits I want. Simple is best, and I wish I had thought of this simple idea before I took an 87,000 word novel that I wrote in org-mode, output as ODT, converted to DOCX, and then sent to an editor. I got back all the track changes stuff and even worse, margin notes, and punctuation (like quotes and ellipses) changed over to Word-ish characters. It wasn't utterly useless but it created a lot of extra work, which still isn't over. Next time I'll do as per above, tell her to just edit the thing directly, write her notes in-line, and keep it as pure ASCII. I really believe she thinks I was going to use Word to publish the novel. Failure to communicate on my part. I could say lack of judgment on her part but that's unfair; in her world, most everyone uses Word at some stage in the process. -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *
Pressing enter in a headline to make a new headline is consistent with the way many other text-mode outliners have worked in the past. Ctrl-O to open a line is an Emacs standard keybinding. I don't really have an issue with the way this works. -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *
On Sat, Apr 25, 2015 at 5:47 AM, Damian Bernardini damian.bernard...@gmail.com wrote: I'm trying to use ledger blocks inside org with babel: snip I can evaluate and get results from income and expenses blocks, but when I try to run C-c C-c on balance block I get: Symbol's function definition is void: org-id-find-id-file I have no problem doing a balance report. My transactions sit in a block like this: #+name: hcfgeneralledger :noweb yes #+begin_src ledger ... etc ... etc #+end_src And then I use this to get the balance report. C-c C-c on the line hcfgeneralldeger, for instance. #+name: balance #+begin_src ledger :cmdline -s bal :noweb yes hcfgeneralledger #+end_src -- Bob Newell Honolulu, Hawai`i Sent via Linux Mint 17.
Rasmus ras...@gmx.us writes: Have you configured mail-user-agent? mail-user-agent was set to message-user-agent. Changing it to gnus-user-agent solved the problem within org-mode, so for the purposes of this mailing list, your idea is excellent. Thanks! -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *
Aloha kakou, I have some 'mailto' links in an org file in the expected form: [[mailto:bobnew...@bobnewell.net]] C-c C-o also does as expected, bringing up a blank email to the addressee in question. But it uses 'browse-url' to do so, and just brings up a simple mail interface, when I'd like to have my gnus interface (with my BCCs, sig, etc.). I am able to get this to work (and at the same time work with mailto links in w3m buffers) with the following kludge that I threw together this afternoon (coded below and yes, it's a horror story). It just seems like there should be an easier/better way. Haved I failed to find something simple? I'm posting here as I encountered this with org-mode. Unsure if it should (also) go in the 'gnus' groups. (setq browse-url-mailto-function 'rjn-browse-url-mailto) (defvar rjn-mail-addr) (defvar rjn-mail-subject) (defun rjn-browse-url-mailto (messy-mail-addr optional whatever) Fix for url-browse and w3m mailto to work with gnus styles (setq rjn-mail-addr (replace-regexp-in-string mailto:; messy-mail-addr)) (string-match ?subject=.* rjn-mail-addr) (setq rjn-mail-subject (match-string 0 rjn-mail-addr)) (setq rjn-mail-subject (replace-regexp-in-string ?subject= rjn-mail-subject)) (setq rjn-mail-addr (replace-regexp-in-string ?subject=.* rjn-mail-addr)) (gnus-msg-mail rjn-mail-addr rjn-mail-subject) ) Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *
The study is an obvious diatribe couched in (poorly done) scientific method. It almost seems like these researchers have at some time been required to use LaTeX and are angry over it. I will agree that LaTeX is slower and less efficient than LibreOffice (I don't have Word on any of my computers but the argument I suppose is the same), if your only interest is pounding out text of a first draft. But the study didn't allow for the effects of proofreading, etc., and all the things that are always done when producing something for publication. I expect that the differences in grammar and orthographic errors will be insignificant. A 30-minute test is ridiculous. More meaningful would have been end-to-end time to complete a given document. Maybe then Word would have still been faster; I don't know. But that doesn't tell the whole story by any means, including the very important matter of long-term storage in a non-proprietary format. -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *
Steven Arntson ste...@stevenarntson.com writes: Here's my not working process: + type some sample text. + select the region and do `C-c C-x d' + I'm queried for the title of the drawer and type test The result looks like this: :testdrawer: test content :END: I've always had to put the drawer title in a line with all the drawer names like this: #+DRAWERS: EXPANSION PROPERTIES CLOCK LOGBOOK TESTDRAWER -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.12-Emacs 24.3-Linux Mint 17 *
A couple of us who are writers have worked on a writing challenge spreadsheet. This year, for the upcoming National Novel Writing Month, I've greatly modified (read: made more complex) the challenge spreadsheet, and implemented it in org-mode. It's attached, for anyone who's interested. I know there are other writers and WriMos out there. It probably has bugs. No, it surely has bugs. Comments welcomed. I'm kind of attachment-challenged so if it doesn't appear below, get it at http://www.bobnewell.net/filez/newchallenge.org -- Bob Newell Honolulu, Hawai`i * Sent via Ma Gnus 0.8-Emacs 23.3-Linux Mint 13 * #+STARTUP: align * The new writing challenge - how it works There are three numbers that enter into the challenge: base words, quota words, and target words. The base is the minimal number of words to write every day to count as a writing day. The quota is the number of words you must write to meet the challenge. It is a dynamic value which increases as you write more and decreases as you write less. The target is the number of words you must write to reach your word goal by the end of the challenge. So for NaNoWriMo, the target is definitely 1667. The base can be whatever you wish, but 250 seems good as a general number, for NaNo as well as other challenges. The base should /not/ be set too high. The whole point is to make each and every day a writing day, and not make it so burdensome that it's easier to skip. In non-NaNoWriMo-like situations, you may well want to set the target equal to the base. It's up to you. However, if you have a deadline for, say, a 10,000 word novelette, you can set the target accordingly by dividing the number of days to deadline by the required word count. You must write at least the 'base words' every day to keep your chain going. If you write at least 'base words' you get a score addition equal to your new chain count, but never less than a one point addition. Chain count increases by 1 if you meet quota exactly. It increases by less than 1 if you're under quota but still at least at the base words count. Chain count increases by more than 1 if you exceed quota. Chain count will always increase if you meet base word count. Quota then changes for the next day. The value is the multiple of the most recent chain count times the increment value. The increment value shouldn't be set too high. 4 is a good number; this would mean an increase of about 120 over the course of the month if you write to quota each day. If you don't do the base word count, on the first day you miss, chain count goes to -1. The chain count decreases by one for each missed day in a row. The total score is decreased on each missed day by the chain count. So as you miss more days, score drops faster. Quota gets reset to the base word count. Score never goes below zero, though (it's like a total reset when you reach zero). When you starting meeting the base word count again, chain count is changed to a positive number with the scoring and quota rules as above. Sensitivity to being under or over quota is fairly low. The recommended logbase value is 100 which yields log 100 of words/quota). You do get a boost for being way over quota and less of a boost for being under, but the real sensitivity of the method is to writing the base amount every day for as many days in a row as possible. For this reason a low value of logbase (which would lead to bigger chain count changes) isn't recommended. The target influences score but not chain count. Score is increased or decreased based on both daily performance vs. target and cumulative word count vs. cumulative target. The parameter tdlogbase controls daily sensitivity, and tclogbase controls cumulative sensitivity. Make these large numbers (like 1000) to largely cancel these score effects if you don't want them. 100 for tdlogbase and 200 for tclogbase are recommended for moderate but not excessive influence. Note that it is possible for score to decrease even if base and or quota are met in a given day, due to target influences. Getting way behind on cumulative target will have lasting effects. Point counts can get pretty large with sustained writing. The method should be reset after each challenge period, which might be 30, 60, or at most 90 days. A month is probably best. This method is derived and modified from the original Hawai`i challenge (by Tony Pisculli) which, while truly excellent, was fairly static and used fewer tracking and scoring factors. The new method is more in line with what you'd expect from an MIT engineer. The advantage of the new method is that it is dynamic and adjusts to performance. The more you write, the more you need to write to get bigger bonuses. If you slack off, you still need to write minimums but there is some mercy on the quota. Bonuses are sustained by being built in to the chain count. This makes the new method a stretch method. However, using log 100 instead of log 10 ensures that the stretch is reasonable
This likely has been asked in the past but I didn't find it so please allow me :) Is visibility cycling per-buffer and not per-window? I ask because I want to do a horizontal split of a window containing an org-mode file. Then I want to do a certain level of visibility cycling in the left side to sort of make an index. On the right side, I want to open/close various tree branches without affecting the left side. But the two always seem to stay in sync with respect to visibility. Any ideas appreciated. -- Bob Newell Honolulu, Hawai`i * Sent via NoGnus 0.18-Emacs 23.3-Linux Mint 13 *
Can't find out about this anywhere. My apologies if I missed something simple or something already posted. I want a calculation to appear in column 9 if and only if column 2 is non-blank. If there is an explicit 0 in column 2, I want the calculation to appear in column 9. But if column 2 is blank, I also want column 9 to be blank. I made it work with the following elisp example: $9 = '(if (eq $2 ) (* (string-to-number @2$8) (string-to-number $1)));S But the question is, can it be made to work with a calc formula, which would be possibly a little more straightforward? All of the other columns have the same requirement, and some of the formulas are quite long, so doing many, many string-to-number functions makes things very cluttered. The problem obviously revolves around a blank cell being interpreted as zero. That's all well and good, and quite correct, but makes distinguishing blank and explicit zero more difficult.
I'm making it work, and using L rather than S turns out to be better, as in this revision of my example above: $9 = '(if (eq $2 ) (* @2$8 $1));L But when I want different actions when there is an explicit number (including 0) vs. a blank cell, and if my action is at all complex, I end up with one monster like this: $3 = '(if (eq $2 ) (if ( $2 @2$8) 0 (calcFunc-max 0 (calcFunc-ilog (/ $2 @2$8) 2;L and it just seems that there oughta be a way to do this with calc and outside of elisp. I've tried all sorts of calc things without success to date. (This gets even worse when you work with ranges and need to do operations on the cells in those ranges.) I guess the upside is that with elisp you can eventually do almost anything that comes to mind, if you have enough patience.