I have managed my todo-lists for some years with Emacs Org-mode and really like it.
The files are kept in a WebDAV folder on a server to keep them synced.
However, since I use more and more tablets and smartphones an app to access the files would be great - such as MobileOrg for Android.
But currently I do not understand why I have to use org-mobile-push and pull in emacs and cannot just parse and access my files with an app and edit them in a convenient way, especially when I am a few days not working with Emacs or at my Linux machine at all. Is there a reasonable explanation why the files can't be parsed and viewed without exporting them from Emacs?
MobileOrg needs to interact with Emacs through a directory on a server. The main reason for org-mobile.el to exist is for creating agenda views in a format that can be displayed by MobileOrg, and for integrating notes captured and changes made by MobileOrg back into your Emacs main system. That said, the functions org-mobile-push and org-mobile-pull are purely there to provide a sync mechanism between MobileOrg and your Emacs main system. There is nothing technically stopping you from doing your own parsing and editing the of the files. I suppose that you only have to ensure that the files remain valid Org-Mode file formats and they should work everywhere.
Related
I'm a non-programmer (except of some Perl and R skills).
I'm starting my Phd this year and considering to have org-mode as a laboratory notebook. However, before I spend time learning it, I have a bunch of questions..
Most importantly, at work I'm working on a different PC than I do at home, but I use both of them for work, so what I need is a seamless connectivity.
So my idea was to store the org file on a cloud, but actually I will have files that are linked in my org-mode file, but those are actually on a server (at work) which I am not allowed to store on my cloud. This means, lets say I've got some data in a spreadsheet and want to link this spreadsheet in my org file. However, on my private PC this file does not exist. How does org-mode deal with that? Is it even possible? I mean, does it complain?
Also, there are folder on my work PC that are locked for me, so installations and stuff is usually done by the IT service. Does emacs than even work? I tried with R and it works, even installing packages from within R, however, Perl does not as executing perl scripts from the terminal requires folders that are locked.
Also, If you can recommend me good sources for getting started I will be pleased :)
Thanks in advance!
I use org-mode for lots of notes. I use different computers also. The most basic thing I do is have the most inexpensive Amazon AWS compute instance (10-15$ a month IIRC). Emacs has this great system called TRAMP mode that allows you to edit remote files as if they are local. So in my .emacs file I have:
(find-file "/ssh:ec2-user#ec2-11-222-3-444.us-west-2.compute.amazonaws.com:~/logs/year/2018/may.org")
so when I startup emacs it grabs this month's org file. I also maintain a separate directory for tasks that span more than one day:
in the may.org file:
** [[../../tasks/something useful.org][something useful]]
then in the directory:
/ssh:ec2-user#ec2-11-222-3-444.us-west-2.compute.amazonaws.com:/home/ec2-user/logs/tasks/something useful.org
This setup seems ok for my basic needs. for your second requirement you might be able to use tramp mode. You can use org-mode's link system and tramp mode together:
[[file+emacs:/ssh:someUser#otherMachine:~/someDir/TextFile.txt][TextFile.txt]]
you will need to have your ssh-keys setup so you don't have to login:
in ~/.bashrc
ssh-add ~/.ssh/my-aws-secret.pem
ultimately to get emacs to do different things on different machines you may have to get down to conditional branching:
from my .emacs file (p is for predicate):
(defun p-is-windows-os ()
(eq system-type 'windows-nt))
(defun p-is-mac-os ()
(eq system-type 'darwin))
(if (p-is-windows-os)
(setq-default ispell-program-name "C:\\Program Files (x86)\\Aspell\\bin\\aspell.exe"))
if its the same OS on both computers, you might be able to do the condition on the network IP or something.
I really like org-mode and emacs in general. But, I am hesitant to recommend them because they are so different/weird from everything else (I'm a programmer, so weird make sense). Whatever you do: backup your data! Let me know if you want more info.
I strongly recommend you look at Dr. John Kitchin materials.
He does computational chemistry, but a lot of his materials are generic enough to be useful (specially those related to paper writing).
http://kitchingroup.cheme.cmu.edu/blog/category/emacs/
he has a very informative youtube channel.
https://www.youtube.com/channel/UCQp2VLAOlvq142YN3JO3y8w
he has also created some packages to improve org. I consider John as the best source of material for a researcher wanting to use org.
I personally use org-mode all the time for my own research.
About using the cloud. Place your org-files in a common directory (e.g. Dropbox) and make sure that you enable
(global-auto-revert-mode t)
This way if a file is changed in one machine, it will be updated automatically in any other emacs running. This will avoid conflicts.
Also, learn to use org-babel. It is absolutely amazing for R. It is the hacker's version of Jupyter Notebook. This is a good tutorial:
https://orgmode.org/worg/org-tutorials/org-R/org-R.html
--dmg
Is there a way to save frames and their relative positions in emacs?
I know that we could save windows using desktop.el ... this works fine
but I also want to save the frames.
I have tried various options including frame-restore.el and desktopaid.el but they don't seem to work with various errors. Either they do not byte compile or give other errors.
Does some have nice clean way to save frames + desktop sessions in emacs?
Thanks!
Pawan
Emacs 24.4 (which is not yet released) extends the Desktop feature of saving and restoring desktops (Emacs session state), to include frames and their positions, buffers (sometimes), etc.
You can obtain MS Windows executable builds of the development version of Emacs (what will become 24.4) here.
If you have an Emacs build that supports this, consult the Emacs manual, node Saving Emacs Sessions for more information.
I was wondering whether there is a way to ask for a specific password when booting Emacs? I think I can ask for a pre-defined password which I can define in my .emacs file but I dont know how? I'm mainly interested to do this in an x- or graphical environment..
btw, I do know that the .emacs file can be seen and etc..but in my case it's not an issue.
I use epg to keep encrypted data in file. Then it simply loaded as normal emacs lisp file, as in my config. EPG will automatically ask for passphrase, and you can analyze return code of load function to determine, was loading successful or not
If I understand correctly, you are in a situation where multiple people share the same account on a computer -- that is, not only will they run the same emacs binary, they also have the same home directory where Emacs searches for the .emacs file.
It seems like you not only want to prevent others from reading the .emacs file, you actually don't want them to be able to run emacs at all.
Unfortunately for you, Emacs can be started with -q or -Q in which case the .emacs file is not evaluated at all. Thus any "protection" that relies on your .emacs file can easily be circumvented.
How about restricting access to the emacs binary instead? Maybe make it only executable for members of a certain Unix group (which of course is pointless if multiple people share the same account), or something along those lines. But note that this will not prevent them from installing their own local copy of Emacs.
Gnome 3 has a beautiful calendar panel that drops down from the menu bar, and includes a space for your upcoming appointments. By default this appointment manager reads from the calendar in Evolution Mail. I was curious as to whether it's possible to get it working with Org-Mode. I know Evolution can import .ics files and Org-Mode can write them, so that's a start. Does anyone have thoughts as to how you might (a) get the Gnome 3 Calendar working directly with Org-Mode, or (b) set up an efficient sync between Org-Mode and Evolution Mail's calendar, such that it would be reflected in the Gnome 3 Calendar panel?
I assume you already use the org-agenda. What you are looking for is org-write-agenda to get the exported ics file. I'd wrap that function with your own custom sync-cal function. sync-call should go ahead write the agenda /tmp and then you should issue some shell commands (see start-process) to sync with Evolution (how to do that, I do not know). Now, you maybe want to hook your sync-cal function to some file save functions and run it depending on the file name.
Hacky, but that's how I'd do it if I'd use Gnome.
An idea that occurred to me later in the day—a bit circuitous, but possible—is to go through Google Calendar. There are existing Org-Mode scripts for writing to Google Calendar, and a standard procedure in Evolution Mail for reading from Google Calendar. So if you don't mind going through a third party or having calendar updates depend on Internet access, it should be possible to sync through Google. It's not an elegant solution, but it's at least well documented.
For synchronisation between Evolution and a dedicated org file (one-way only, for now), here's a Python script: org-agenda-evolution.
(Disclaimer: (1) I am the author, (2) as of 2022-08, the tool lacks a configuration system, so right now you may have to tweak some top-level constants in the source to make it work for your org-mode setup.)
I'm sat here getting emacs into some sort of usable form, with line numbers, less annoying backup file handling and syntax highlighting. Intent on not repeating the process, I was going to push the entire set of changes into a git repository for easy re-use. But presumably somebody else has already done this and many people just use a 'standard' set of customizations? Is there a place I can simply download a tarball and extract it to my home directory and be done?
I work primarily with Ruby, Python, PHP and C, so don't need anything too magical.
Turning my comment into an answer as requested:
You can use this Emacs Starter Kit.